Mercurial > pytave
annotate oct-py-types.h @ 411:3613ffbd52b2
Overhaul implicit conversion of arguments and return values
* oct-py-types.cc, oct-py-types.h (pytave::py_implicitly_convert_argument,
pytave::py_implicitly_convert_return_value): New functions.
* __py_struct_from_dict__.cc, oct-py-eval.cc, pycall.cc, pyeval.cc, pyexec.cc:
Use them instead of legacy conversion functions. Add necessary #includes,
remove #includes of legacy header files.
* @pyobject/subsasgn.m, @pyobject/subsref.m: Change %!tests that depend on
NumPy implicit conversion into %!xtests.
* octave_to_python.cc, octave_to_python.h, python_to_octave.cc,
python_to_octave.h: Delete, no longer used.
* Makefile.am (COMMON_SOURCE_FILES, PYTAVE_HEADER_FILES): Remove the files.
author | Mike Miller <mtmiller@octave.org> |
---|---|
date | Wed, 03 May 2017 16:30:45 -0700 |
parents | c4b78e449c62 |
children |
rev | line source |
---|---|
320
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
1 /* |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
2 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
3 Copyright (C) 2016 Mike Miller |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
4 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
5 This file is part of Pytave. |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
6 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
7 Pytave is free software; you can redistribute it and/or modify it |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
8 under the terms of the GNU General Public License as published by the |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
9 Free Software Foundation; either version 3 of the License, or (at your |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
10 option) any later version. |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
11 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
12 Pytave is distributed in the hope that it will be useful, but WITHOUT |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
15 for more details. |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
16 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
18 along with Pytave; see the file COPYING. If not, see |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
19 <http://www.gnu.org/licenses/>. |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
20 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
21 */ |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
22 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
23 #if ! defined (pytave_oct_py_types_h) |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
24 #define pytave_oct_py_types_h 1 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
25 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
26 #include <Python.h> |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
27 #include <complex> |
325
fd5881d48238
Overhaul Python string creation and extraction
Mike Miller <mtmiller@octave.org>
parents:
320
diff
changeset
|
28 #include <string> |
320
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
29 |
336
c081e30c2f64
Overhaul Python list creation from cell array
Mike Miller <mtmiller@octave.org>
parents:
328
diff
changeset
|
30 class Cell; |
352
eac35d84ef0d
Convert Octave numeric vectors into Python array.array
Mike Miller <mtmiller@octave.org>
parents:
344
diff
changeset
|
31 class FloatNDArray; |
eac35d84ef0d
Convert Octave numeric vectors into Python array.array
Mike Miller <mtmiller@octave.org>
parents:
344
diff
changeset
|
32 class NDArray; |
eac35d84ef0d
Convert Octave numeric vectors into Python array.array
Mike Miller <mtmiller@octave.org>
parents:
344
diff
changeset
|
33 template <typename T> class intNDArray; |
320
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
34 class octave_scalar_map; |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
35 class octave_value; |
320
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
36 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
37 namespace pytave |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
38 { |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
39 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
40 //! Extract the integer value of the given Python bool object. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
41 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
42 //! @param obj Python bool object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
43 //! @return @c true or @c false value of @a obj |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
44 bool |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
45 extract_py_bool (PyObject *obj); |
340
06b8aeea456f
Add functions to conversion API to extract bool, double, and complex values
Mike Miller <mtmiller@octave.org>
parents:
339
diff
changeset
|
46 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
47 //! Create a Python bool object with the value of the given @c bool value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
48 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
49 //! @param value @c true or @c false value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
50 //! @return Python bool object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
51 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
52 make_py_bool (bool value); |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
53 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
54 //! Extract the complex value of the given Python complex object. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
55 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
56 //! @param obj Python complex object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
57 //! @return complex value of @a obj |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
58 std::complex<double> |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
59 extract_py_complex (PyObject *obj); |
340
06b8aeea456f
Add functions to conversion API to extract bool, double, and complex values
Mike Miller <mtmiller@octave.org>
parents:
339
diff
changeset
|
60 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
61 //! Create a Python complex object with the value of the given @c complex |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
62 //! value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
63 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
64 //! @param value complex value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
65 //! @return Python complex object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
66 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
67 make_py_complex (std::complex<double> value); |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
68 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
69 //! Extract the floating point value of the given Python float object. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
70 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
71 //! @param obj Python float object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
72 //! @return floating point value of @a obj |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
73 double |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
74 extract_py_float (PyObject *obj); |
340
06b8aeea456f
Add functions to conversion API to extract bool, double, and complex values
Mike Miller <mtmiller@octave.org>
parents:
339
diff
changeset
|
75 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
76 //! Create a Python float object with the value of the given @c double value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
77 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
78 //! @param value floating point value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
79 //! @return Python float object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
80 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
81 make_py_float (double value); |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
82 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
83 //! Extract an Octave scalar map from the given Python dict object. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
84 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
85 //! @param obj Python dict object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
86 //! @return Octave scalar map containing the items of @a obj |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
87 octave_scalar_map |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
88 extract_py_scalar_map (PyObject *obj); |
344
9d95f087e5aa
Add a function to extract a scalar map value from a Python dict
Mike Miller <mtmiller@octave.org>
parents:
342
diff
changeset
|
89 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
90 //! Create a Python dict object from the given Octave scalar map value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
91 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
92 //! The values contained in the map are recursively converted to appropriate |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
93 //! Python values. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
94 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
95 //! @param map Octave scalar map |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
96 //! @return Python dict object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
97 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
98 make_py_dict (const octave_scalar_map& map); |
320
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
99 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
100 //! Extract the integer value of the given Python int or long object. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
101 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
102 //! @param obj Python int or long object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
103 //! @return integer value of @a obj |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
104 int64_t |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
105 extract_py_int64 (PyObject *obj); |
328
5782d7932529
Automatically convert Python 2 'int' type to Octave int64 (fixes issue #56)
Mike Miller <mtmiller@octave.org>
parents:
325
diff
changeset
|
106 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
107 //! Extract the integer value of the given Python int or long object. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
108 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
109 //! @param obj Python int or long object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
110 //! @return integer value of @a obj |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
111 uint64_t |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
112 extract_py_uint64 (PyObject *obj); |
374
d362cdd1ddeb
pyobject: add conversion methods for single, intX, and uintX types
Mike Miller <mtmiller@octave.org>
parents:
352
diff
changeset
|
113 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
114 //! Create a Python int object with the value of the given @c int32_t value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
115 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
116 //! @param value integer value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
117 //! @return Python int or long object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
118 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
119 make_py_int (int32_t value); |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
120 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
121 //! Create a Python int object with the value of the given @c uint32_t value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
122 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
123 //! @param value integer value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
124 //! @return Python int or long object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
125 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
126 make_py_int (uint32_t value); |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
127 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
128 //! Create a Python int object with the value of the given @c int64_t value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
129 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
130 //! @param value integer value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
131 //! @return Python int or long object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
132 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
133 make_py_int (int64_t value); |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
134 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
135 //! Create a Python int object with the value of the given @c uint64_t value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
136 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
137 //! @param value integer value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
138 //! @return Python int or long object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
139 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
140 make_py_int (uint64_t value); |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
141 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
142 //! Create a Python array object with the value of the given Octave array. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
143 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
144 //! @param nda array value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
145 //! @return Python array object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
146 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
147 make_py_array (const NDArray& nda); |
352
eac35d84ef0d
Convert Octave numeric vectors into Python array.array
Mike Miller <mtmiller@octave.org>
parents:
344
diff
changeset
|
148 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
149 //! Create a Python array object with the value of the given Octave array. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
150 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
151 //! @param nda array value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
152 //! @return Python array object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
153 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
154 make_py_array (const FloatNDArray& nda); |
352
eac35d84ef0d
Convert Octave numeric vectors into Python array.array
Mike Miller <mtmiller@octave.org>
parents:
344
diff
changeset
|
155 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
156 //! Create a Python array object with the value of the given Octave array. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
157 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
158 //! @param nda array value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
159 //! @return Python array object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
160 template <typename T> |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
161 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
162 make_py_array (const intNDArray<T>& nda); |
352
eac35d84ef0d
Convert Octave numeric vectors into Python array.array
Mike Miller <mtmiller@octave.org>
parents:
344
diff
changeset
|
163 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
164 //! Create a Python array object from the given Octave numeric vector. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
165 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
166 //! All Octave real floating point and integer values are converted to |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
167 //! corresponding Python array types by this function. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
168 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
169 //! @warning Depending on the version of Python and how it is configured, |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
170 //! @c int64 and @c uint64 vectors may not be supported. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
171 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
172 //! @param value Octave numeric or boolean scalar value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
173 //! @return Python array object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
174 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
175 make_py_array (const octave_value& value); |
352
eac35d84ef0d
Convert Octave numeric vectors into Python array.array
Mike Miller <mtmiller@octave.org>
parents:
344
diff
changeset
|
176 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
177 //! Create a Python tuple object from the given Octave cell array value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
178 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
179 //! The values contained in the cell array are recursively converted to |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
180 //! appropriate Python values. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
181 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
182 //! @param cell Octave cell array |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
183 //! @return Python tuple object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
184 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
185 make_py_tuple (const Cell& cell); |
336
c081e30c2f64
Overhaul Python list creation from cell array
Mike Miller <mtmiller@octave.org>
parents:
328
diff
changeset
|
186 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
187 //! Create a Python numeric object from the given Octave numeric or boolean |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
188 //! scalar value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
189 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
190 //! The following implicit type conversions are implemented by this function: |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
191 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
192 //! @arg @c bool from Octave logical scalar, |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
193 //! @arg @c complex from Octave double or single precision complex scalar, |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
194 //! @arg @c float from Octave double or single precision scalar, |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
195 //! @arg @c int from any Octave integer-valued scalar, |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
196 //! @arg @c long from any Octave @c uint32, @c int64, or @c uint64, and only |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
197 //! if running against Python 2. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
198 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
199 //! @param value Octave numeric or boolean scalar value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
200 //! @return Python numeric object (@c bool, @c int, @c long, @c float, or |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
201 //! @c complex) |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
202 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
203 make_py_numeric_value (const octave_value& value); |
337
d3d355dc44ad
Overhaul Python numeric type creation from Octave scalar types
Mike Miller <mtmiller@octave.org>
parents:
336
diff
changeset
|
204 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
205 //! Extract the string value of the given Python str, bytes, or unicode |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
206 //! object. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
207 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
208 //! @param obj Python str, bytes, or unicode object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
209 //! @return string value of @a obj |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
210 std::string |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
211 extract_py_str (PyObject *obj); |
325
fd5881d48238
Overhaul Python string creation and extraction
Mike Miller <mtmiller@octave.org>
parents:
320
diff
changeset
|
212 |
402
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
213 //! Create a Python str object from the given @c string value. |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
214 //! |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
215 //! @param str string value |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
216 //! @return Python str object |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
217 PyObject * |
c4b78e449c62
maint: indent functions declared in the pytave namespace
Mike Miller <mtmiller@octave.org>
parents:
374
diff
changeset
|
218 make_py_str (const std::string& str); |
325
fd5881d48238
Overhaul Python string creation and extraction
Mike Miller <mtmiller@octave.org>
parents:
320
diff
changeset
|
219 |
411
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
220 //! Perform an implicit conversion of the given Octave @c value to a Python |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
221 //! argument. |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
222 //! |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
223 //! The following implicit type conversions are implemented by this function: |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
224 //! |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
225 //! @arg @c bool from Octave logical scalar, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
226 //! @arg @c complex from Octave double or single precision complex scalar, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
227 //! @arg @c float from Octave double or single precision scalar, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
228 //! @arg @c int from any Octave integer-valued scalar, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
229 //! @arg @c long from Octave @c uint32, @c int64, or @c uint64, and only if |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
230 //! running against Python 2, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
231 //! @arg @c str from Octave string (@c char row vector), |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
232 //! @arg @c array.array from Octave numeric column or row vector, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
233 //! @arg @c dict from Octave scalar map (consisting entirely of implicitly |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
234 //! convertible elements), |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
235 //! @arg @c tuple from Octave cell array (consisting entirely of implicitly |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
236 //! convertible elements). |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
237 //! |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
238 //! If @c value refers to a previously created Python object, then a reference |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
239 //! to the existing object is returned. |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
240 //! |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
241 //! Otherwise, a conversion error is raised. |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
242 //! |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
243 //! @param value Octave value |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
244 //! @return Python object |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
245 PyObject * |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
246 py_implicitly_convert_argument (const octave_value& value); |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
247 |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
248 //! Perform an implicit conversion of the given Python object to an Octave |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
249 //! return value. |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
250 //! |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
251 //! The following implicit type conversions are implemented by this function: |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
252 //! |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
253 //! @arg @c logical scalar from Python @c bool, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
254 //! @arg @c complex @c double from Python @c complex, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
255 //! @arg @c double from Python @c float, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
256 //! @arg @c int64 from Python @c int, only if running against Python 2. |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
257 //! |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
258 //! Otherwise, @c obj is left unconverted, a reference is maintained to it, |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
259 //! and an Octave value containing that reference is returned. |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
260 //! |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
261 //! @param obj Python object |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
262 //! @return Octave value |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
263 octave_value |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
264 py_implicitly_convert_return_value (PyObject *obj); |
3613ffbd52b2
Overhaul implicit conversion of arguments and return values
Mike Miller <mtmiller@octave.org>
parents:
402
diff
changeset
|
265 |
320
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
266 } |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
267 |
c2aa34730dc9
Convert scalar struct into Python dict (fixes issue #57)
Mike Miller <mtmiller@octave.org>
parents:
diff
changeset
|
268 #endif |