Conversions#
Python to Octave Types#
Shows the round-trip data types, originating in Python. Lists and sets will be converted to a numeric array if possible, falling back on cells. If an Octave cell consisting of numbers is desired, use a tuple. Cell, Struct, StructArray are Oct2Py convenience classes.
Python |
Octave |
Python |
---|---|---|
int |
int32 |
np.int32 |
long |
int64 |
np.int64 |
float |
double |
np.float64 |
complex |
double |
np.complex128 |
str |
char |
unicode |
unicode |
cell |
unicode |
bool |
logical |
np.bool |
None |
nan |
np.nan |
dict |
struct |
Struct |
tuple |
cell |
Cell |
list |
array or cell |
ndarray or Cell |
set |
array or cell |
ndarray or Cell |
Struct |
struct |
Struct |
StructArray |
struct array |
StructArray |
Numpy to Octave Types#
Note that when convert_to_float
is set (default is True),
integer types are converted to floating point before sending them
to Octave.
Numpy |
Octave |
Numpy |
---|---|---|
np.int8 |
int8 |
np.int8 |
np.int16 |
int16 |
np.int16 |
np.int32 |
int32 |
np.int32 |
np.int64 |
int64 |
np.int64 |
np.uint8 |
uint8 |
np.uint8 |
np.uint16 |
uint16 |
np.uint16 |
np.uint32 |
uint32 |
np.uint32 |
np.uint64 |
uint64 |
np.uint64 |
np.float16 |
double |
np.float64 |
np.float32 |
single |
np.float32 |
np.float64 |
double |
np.float64 |
np.float128 |
double |
np.float64 |
np.double |
double |
np.float64 |
np.complex64 |
double |
np.complex64 |
np.complex128 |
double |
np.complex128 |
np.complex256 |
double |
np.complex128 |
np.bool |
logical |
bool |
np.str |
cell |
list |
np.object |
cell |
list |
sparse |
sparse |
sparse |
recarray |
struct array |
StructArray |
Octave to Python Types#
These are handled unambiguously. The only known data type that is not transferable is a function pointer, since Octave cannot save them to the v6 MAT file format.
Octave |
Python |
---|---|
array |
ndarray |
cell |
Cell |
struct |
Struct |
struct array |
StructArray |
logical |
ndarray (of uint8) |
sparse |
sparse |
user defined object |
Oct2Py object pointer |