clang format

This commit is contained in:
Erik Frojdh 2023-06-04 18:21:28 +02:00
parent 952e30d926
commit d9828dd9a3

View File

@ -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