Changeset 26e4a24 in sasview for sansmodels/src/sans/models/c_models
- Timestamp:
- Aug 7, 2009 11:24:39 AM (16 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- ecc58e72
- Parents:
- 58c6ba6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/sans/models/c_models/classTemplate.txt
r8344c50 r26e4a24 149 149 return PyArray_Return(result); 150 150 } 151 /** 152 * Function to call to evaluate model 153 * @param args: input numpy array [q[],phi[]] 154 * @return: numpy array object 155 */ 156 static PyObject * evaluateTwoDim( [CMODEL]* model, 157 PyArrayObject *q, PyArrayObject *phi) 158 { 159 PyArrayObject *result; 160 //check validity of input vectors 161 if (q->nd != 1 || q->descr->type_num != PyArray_DOUBLE 162 || phi->nd != 1 || phi->descr->type_num != PyArray_DOUBLE 163 || phi->dimensions[0] != q->dimensions[0]){ 164 165 //const char * message= "Invalid array: q->nd=%d,type_num=%d\n",q->nd,q->descr->type_num; 166 PyErr_SetString(PyExc_ValueError ,"wrong input"); 167 return NULL; 168 } 169 result= (PyArrayObject *)PyArray_FromDims(q->nd,(int*)(q->dimensions), PyArray_DOUBLE); 170 171 if (result == NULL){ 172 const char * message= "Could not create result "; 173 PyErr_SetString(PyExc_RuntimeError , message); 174 return NULL; 175 } 176 177 for (int i = 0; i < q->dimensions[0]; i++) { 178 double q_value = *(double *)(q->data + i*q->strides[0]); 179 double phi_value = *(double *)(phi->data + i*phi->strides[0]); 180 double *result_value = (double *)(result->data + i*result->strides[0]); 181 if (q_value == 0) 182 *result_value = 0.0; 183 else 184 *result_value = model->evaluate_rphi(q_value, phi_value); 185 } 186 return PyArray_Return(result); 187 } 151 188 152 /** 189 153 * Function to call to evaluate model
Note: See TracChangeset
for help on using the changeset viewer.