Files
pytorch/torch/csrc/generic/StorageMethods.cpp
2016-08-10 09:24:53 -07:00

75 lines
2.0 KiB
C++

static PyObject * THPStorage_(size)(THPStorage *self)
{
HANDLE_TH_ERRORS
return PyLong_FromLong(THStorage_(size)(LIBRARY_STATE self->cdata));
END_HANDLE_TH_ERRORS
}
static PyObject * THPStorage_(elementSize)(THPStorage *self)
{
HANDLE_TH_ERRORS
return PyLong_FromLong(THStorage_(elementSize)(LIBRARY_STATE_NOARGS));
END_HANDLE_TH_ERRORS
}
static PyObject * THPStorage_(retain)(THPStorage *self)
{
HANDLE_TH_ERRORS
THStorage_(retain)(LIBRARY_STATE self->cdata);
return (PyObject*)self;
END_HANDLE_TH_ERRORS
}
static PyObject * THPStorage_(free)(THPStorage *self)
{
HANDLE_TH_ERRORS
THStorage_(free)(LIBRARY_STATE self->cdata);
return (PyObject*)self;
END_HANDLE_TH_ERRORS
}
static PyObject * THPStorage_(new)(THPStorage *self)
{
HANDLE_TH_ERRORS
THStoragePtr new_storage = THStorage_(new)(LIBRARY_STATE_NOARGS);
PyObject *_ret = THPStorage_(newObject)(new_storage);
new_storage.release();
return _ret;
END_HANDLE_TH_ERRORS
}
static PyObject * THPStorage_(resize_)(THPStorage *self, PyObject *number_arg)
{
HANDLE_TH_ERRORS
long newsize;
if (!THPUtils_getLong(number_arg, &newsize))
return NULL;
THStorage_(resize)(LIBRARY_STATE self->cdata, newsize);
Py_INCREF(self);
return (PyObject*)self;
END_HANDLE_TH_ERRORS
}
static PyObject * THPStorage_(fill_)(THPStorage *self, PyObject *number_arg)
{
HANDLE_TH_ERRORS
real rvalue;
if (!THPUtils_(parseReal)(number_arg, &rvalue))
return NULL;
THStorage_(fill)(LIBRARY_STATE self->cdata, rvalue);
Py_INCREF(self);
return (PyObject*)self;
END_HANDLE_TH_ERRORS
}
static PyMethodDef THPStorage_(methods)[] = {
{"elementSize", (PyCFunction)THPStorage_(elementSize), METH_NOARGS, NULL},
{"fill_", (PyCFunction)THPStorage_(fill_), METH_O, NULL},
{"free", (PyCFunction)THPStorage_(free), METH_NOARGS, NULL},
{"new", (PyCFunction)THPStorage_(new), METH_NOARGS, NULL},
{"resize_", (PyCFunction)THPStorage_(resize_), METH_O, NULL},
{"retain", (PyCFunction)THPStorage_(retain), METH_NOARGS, NULL},
{"size", (PyCFunction)THPStorage_(size), METH_NOARGS, NULL},
{NULL}
};