James Bergstra wrote:

> 
> Maybe I'm missing something... but I don't think I want to create an array.

Ah, I misunderstood your question. There are at least two ways:

PyObject *ret;
ret = PyArrayScalar_New(UInt8);

Or

PyObject *ret; 

PyArray_Descr *typecode;
 

typecode = PyArray_DescrFromType(PyArray_UINT8); 

ret = PyArray_Scalar(NULL, typecode, NULL);
Py_DECREF(typecode);

One way to set data in it is:

data = PyMem_Malloc(1);
*data = 4;
((PyArrayObject*)ret)->data = data;

Or simpler, but may be less flexible depending on what you are doing:

PyArrayScalar_VAL(ret, UInt8) = 4;

This should be documented better somewhere,

cheers,

David
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to