comparison @pyobject/pyobject.m @ 400:6c316b5f30f7

Convert empty 1-D or 2-D arrays to Python array.array (fixes issue #69) * oct-py-types.cc (pytave::make_py_array): Also convert arrays with zero columns or zero rows. * octave_to_python.cc (pytave::octvalue_to_pyobj): Convert numeric arrays with zero columns or zero rows with make_py_array. * @pyobject/pyobject.m: Add %!tests.
author Mike Miller <mtmiller@octave.org>
date Fri, 28 Apr 2017 10:34:18 -0700
parents d362cdd1ddeb
children f833e29b2c12
comparison
equal deleted inserted replaced
399:692cecebc71f 400:6c316b5f30f7
380 %!assert (isa (pyobject (int32 (0)), "py.int")) 380 %!assert (isa (pyobject (int32 (0)), "py.int"))
381 %!assert (isa (pyobject (true), "py.bool")) 381 %!assert (isa (pyobject (true), "py.bool"))
382 %!assert (isa (pyobject ("a string"), "py.str")) 382 %!assert (isa (pyobject ("a string"), "py.str"))
383 %!assert (isa (pyobject (struct ()), "py.dict")) 383 %!assert (isa (pyobject (struct ()), "py.dict"))
384 %!assert (isa (pyobject (cell ()), "py.tuple")) 384 %!assert (isa (pyobject (cell ()), "py.tuple"))
385 %!assert (isa (pyobject ([]), "py.array.array"))
385 %!assert (isa (pyobject ([1, 2, 3, 4]), "py.array.array")) 386 %!assert (isa (pyobject ([1, 2, 3, 4]), "py.array.array"))
387 %!assert (isa (pyobject ([1; 2; 3; 4]), "py.array.array"))
386 %!assert (all (isa (pyobject (0), {"pyobject", "py.float", "py.numbers.Number"}))) 388 %!assert (all (isa (pyobject (0), {"pyobject", "py.float", "py.numbers.Number"})))
387 389
388 ## Test conversion method pyobject.int64 390 ## Test conversion method pyobject.int64
389 %!assert (int64 (pyobject (int8 (0))), int64 (0)) 391 %!assert (int64 (pyobject (int8 (0))), int64 (0))
390 %!assert (int64 (pyobject (int64 (42))), int64 (42)) 392 %!assert (int64 (pyobject (int64 (42))), int64 (42))