clang format
This commit is contained in:
parent
952e30d926
commit
d9828dd9a3
@ -5,8 +5,7 @@
|
|||||||
|
|
||||||
//clang-format off
|
//clang-format off
|
||||||
typedef struct {
|
typedef struct {
|
||||||
PyObject_HEAD
|
PyObject_HEAD FILE *fp;
|
||||||
FILE *fp;
|
|
||||||
int n_left;
|
int n_left;
|
||||||
} ClusterFileReader;
|
} ClusterFileReader;
|
||||||
//clang-format on
|
//clang-format on
|
||||||
@ -19,7 +18,7 @@ static int ClusterFileReader_init(ClusterFileReader *self, PyObject *args,
|
|||||||
|
|
||||||
// Parse file name, accepts string or pathlike objects
|
// Parse file name, accepts string or pathlike objects
|
||||||
const char *fname = NULL;
|
const char *fname = NULL;
|
||||||
PyObject* buf;
|
PyObject *buf;
|
||||||
Py_ssize_t len;
|
Py_ssize_t len;
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args, "O&", PyUnicode_FSConverter, &buf))
|
if (!PyArg_ParseTuple(args, "O&", PyUnicode_FSConverter, &buf))
|
||||||
@ -29,7 +28,7 @@ static int ClusterFileReader_init(ClusterFileReader *self, PyObject *args,
|
|||||||
self->fp = fopen(fname, "rb");
|
self->fp = fopen(fname, "rb");
|
||||||
self->n_left = 0;
|
self->n_left = 0;
|
||||||
|
|
||||||
//Keep the return code to not return before releasing buffer
|
// Keep the return code to not return before releasing buffer
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
// Raise python exception using information from errno
|
// Raise python exception using information from errno
|
||||||
@ -37,7 +36,7 @@ static int ClusterFileReader_init(ClusterFileReader *self, PyObject *args,
|
|||||||
PyErr_SetFromErrnoWithFilename(PyExc_OSError, fname);
|
PyErr_SetFromErrnoWithFilename(PyExc_OSError, fname);
|
||||||
rc = -1;
|
rc = -1;
|
||||||
}
|
}
|
||||||
//Release buffer
|
// Release buffer
|
||||||
Py_DECREF(buf);
|
Py_DECREF(buf);
|
||||||
|
|
||||||
// Success or fail
|
// Success or fail
|
||||||
@ -57,76 +56,63 @@ static void ClusterFileReader_dealloc(ClusterFileReader *self) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// read method
|
// read method
|
||||||
static PyObject *ClusterFileReader_read(ClusterFileReader *self, PyObject *args) {
|
static PyObject *ClusterFileReader_read(ClusterFileReader *self,
|
||||||
|
PyObject *args) {
|
||||||
|
|
||||||
const int ndim = 1;
|
const int ndim = 1;
|
||||||
Py_ssize_t size = 0;
|
Py_ssize_t size = 0;
|
||||||
PyObject *noise_obj;
|
PyObject *noise_obj;
|
||||||
if (!PyArg_ParseTuple(args, "nO", &size,&noise_obj)) {
|
if (!PyArg_ParseTuple(args, "nO", &size, &noise_obj)) {
|
||||||
PyErr_SetString(
|
PyErr_SetString(PyExc_TypeError, "Could not parse args.");
|
||||||
PyExc_TypeError,
|
return NULL;
|
||||||
"Could not parse args.");
|
}
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
npy_intp dims[] = {size};
|
npy_intp dims[] = {size};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Create two numpy arrays from the passed objects, if possible numpy will
|
// Create two numpy arrays from the passed objects, if possible numpy will
|
||||||
// use the underlying buffer, otherwise it will create a copy, for example
|
// use the underlying buffer, otherwise it will create a copy, for example
|
||||||
// if data type is different or we pass in a list. The
|
// if data type is different or we pass in a list. The
|
||||||
// NPY_ARRAY_C_CONTIGUOUS flag ensures that we have contiguous memory.
|
// NPY_ARRAY_C_CONTIGUOUS flag ensures that we have contiguous memory.
|
||||||
PyObject *noise_array = PyArray_FROM_OTF(noise_obj, NPY_DOUBLE, NPY_ARRAY_C_CONTIGUOUS);
|
PyObject *noise_array =
|
||||||
int nx=0,ny=0;
|
PyArray_FROM_OTF(noise_obj, NPY_DOUBLE, NPY_ARRAY_C_CONTIGUOUS);
|
||||||
double *noise_map=NULL;
|
int nx = 0, ny = 0;
|
||||||
|
double *noise_map = NULL;
|
||||||
|
|
||||||
// If parsing of a or b fails we throw an exception in Python
|
// If parsing of a or b fails we throw an exception in Python
|
||||||
if (noise_array ) {
|
if (noise_array) {
|
||||||
|
|
||||||
int ndim_noise = PyArray_NDIM((PyArrayObject *)(noise_array));
|
|
||||||
npy_intp *noise_shape = PyArray_SHAPE((PyArrayObject *)(noise_array));
|
|
||||||
|
|
||||||
|
|
||||||
// For the C++ function call we need pointers (or another C++ type/data
|
|
||||||
// structure)
|
|
||||||
|
|
||||||
noise_map = (double *)(PyArray_DATA((PyArrayObject *)(noise_array)));
|
|
||||||
|
|
||||||
|
int ndim_noise = PyArray_NDIM((PyArrayObject *)(noise_array));
|
||||||
|
npy_intp *noise_shape = PyArray_SHAPE((PyArrayObject *)(noise_array));
|
||||||
|
|
||||||
|
// For the C++ function call we need pointers (or another C++ type/data
|
||||||
|
// structure)
|
||||||
|
|
||||||
/* for (int i=0; i< ndim_noise; i++) { */
|
noise_map = (double *)(PyArray_DATA((PyArrayObject *)(noise_array)));
|
||||||
/* printf("Dimension %d size %d pointer \n",i,noise_shape[i], noise_map); */
|
|
||||||
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
if (ndim_noise==2) {
|
/* for (int i=0; i< ndim_noise; i++) { */
|
||||||
|
/* printf("Dimension %d size %d pointer \n",i,noise_shape[i],
|
||||||
nx=noise_shape[0];
|
* noise_map); */
|
||||||
ny=noise_shape[1];
|
|
||||||
|
|
||||||
// printf("Noise map found size %d %d %d\n",nx,ny,noise_map);
|
|
||||||
|
|
||||||
|
/* } */
|
||||||
|
|
||||||
} else {
|
if (ndim_noise == 2) {
|
||||||
nx=0;
|
|
||||||
if (ndim_noise==1)
|
nx = noise_shape[0];
|
||||||
nx=noise_shape[0];
|
ny = noise_shape[1];
|
||||||
ny=0;
|
|
||||||
noise_map = NULL;
|
// printf("Noise map found size %d %d %d\n",nx,ny,noise_map);
|
||||||
// printf("NO Noise map found %d %d %d %d\n",ndim_noise,nx,ny,noise_map);
|
|
||||||
|
} else {
|
||||||
|
nx = 0;
|
||||||
|
if (ndim_noise == 1)
|
||||||
|
nx = noise_shape[0];
|
||||||
|
ny = 0;
|
||||||
|
noise_map = NULL;
|
||||||
|
// printf("NO Noise map found %d %d %d
|
||||||
|
//%d\n",ndim_noise,nx,ny,noise_map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Create an uninitialized numpy array
|
// Create an uninitialized numpy array
|
||||||
PyObject *clusters = PyArray_SimpleNewFromDescr(ndim, dims, cluster_dt());
|
PyObject *clusters = PyArray_SimpleNewFromDescr(ndim, dims, cluster_dt());
|
||||||
|
|
||||||
@ -140,9 +126,10 @@ static PyObject *ClusterFileReader_read(ClusterFileReader *self, PyObject *args)
|
|||||||
// Here goes the looping, removing frame numbers etc.
|
// Here goes the looping, removing frame numbers etc.
|
||||||
int n_read = 0;
|
int n_read = 0;
|
||||||
if (noise_map)
|
if (noise_map)
|
||||||
read_clusters_with_cut(self->fp, size, buf, &self->n_left,noise_map, nx, ny);
|
read_clusters_with_cut(self->fp, size, buf, &self->n_left, noise_map,
|
||||||
|
nx, ny);
|
||||||
else
|
else
|
||||||
read_clusters(self->fp, size, buf, &self->n_left);
|
read_clusters(self->fp, size, buf, &self->n_left);
|
||||||
|
|
||||||
if (n_read != size) {
|
if (n_read != size) {
|
||||||
// resize the array to match the number of read photons
|
// resize the array to match the number of read photons
|
||||||
|
Reference in New Issue
Block a user