some work; does not work
This commit is contained in:
@@ -64,17 +64,13 @@ interaction_ufunc_float2D
|
||||
|
||||
char * x_old = args[0]
|
||||
, * y_old = args[1]
|
||||
, * p_x_old = args[2]
|
||||
, * p_y_old = args[3]
|
||||
, * p_x_new = args[4]
|
||||
, * p_y_new = args[5];
|
||||
, * p_x_new = args[2]
|
||||
, * p_y_new = args[3];
|
||||
|
||||
npy_intp x_old_steps = steps[0]
|
||||
, y_old_steps = steps[1]
|
||||
, p_x_old_steps = steps[2]
|
||||
, p_y_old_steps = steps[3]
|
||||
, p_x_new_steps = steps[4]
|
||||
, p_y_new_steps = steps[5];
|
||||
, p_x_new_steps = steps[2]
|
||||
, p_y_new_steps = steps[3];
|
||||
|
||||
float * coefficients = (float *) data;
|
||||
float dt = coefficients[19];
|
||||
@@ -102,10 +98,8 @@ interaction_ufunc_float2D
|
||||
this_x_i = *(float *)(x_old + i*x_old_steps);
|
||||
this_y_i = *(float *)(y_old + i*y_old_steps);
|
||||
|
||||
// copy current momenta
|
||||
*(float *)(p_x_new + i*p_x_new_steps) = *(float *)(p_x_old + i*p_x_old_steps);
|
||||
*(float *)(p_y_new + i*p_y_new_steps) = *(float *)(p_y_old + i*p_y_old_steps);
|
||||
|
||||
*(float *)(p_x_new + i*p_x_new_steps) = 0;
|
||||
*(float *)(p_y_new + i*p_y_new_steps) = 0;
|
||||
// compute and add the momentum offset
|
||||
for(j = 0; j < i; j++)
|
||||
{
|
||||
@@ -156,7 +150,7 @@ interaction_ufunc_float2D
|
||||
//NPY_END_THREADS;
|
||||
}
|
||||
static char interaction_types[] =
|
||||
{ NPY_FLOAT, NPY_FLOAT, NPY_FLOAT, NPY_FLOAT, NPY_FLOAT, NPY_FLOAT};
|
||||
{ NPY_FLOAT, NPY_FLOAT, NPY_FLOAT, NPY_FLOAT};
|
||||
static char force_types[] =
|
||||
{ NPY_FLOAT, NPY_FLOAT};
|
||||
static PyUFuncGenericFunction force_funcs[1] =
|
||||
@@ -245,9 +239,9 @@ interaction_UFuncWrapper_init
|
||||
interaction_funcs
|
||||
, self->data
|
||||
, interaction_types
|
||||
, 1
|
||||
, 4
|
||||
, 2
|
||||
, 1 // ntypes
|
||||
, 2 // nin
|
||||
, 2 // nout
|
||||
, PyUFunc_None
|
||||
, "interaction2D"
|
||||
, "Update the momenta according to the given coefficients and positions"
|
||||
|
Reference in New Issue
Block a user