Ignore:
Timestamp:
Oct 28, 2008 3:22:22 PM (16 years ago)
Author:
Gervaise Alina <gervyh@…>
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:
92320e5
Parents:
89fef2c
Message:

added description to model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sansmodels/src/sans/models/c_extensions/CCoreShellModel.c

    rae3ce4e r9316609  
    1 /** CCoreShellModel 
     1/** [PYTHONCLASS] 
    22 * 
    33 * C extension  
     
    2020 
    2121/// Error object for raised exceptions 
    22 static PyObject * CCoreShellModelError = NULL; 
     22static PyObject * [PYTHONCLASS]Error = NULL; 
    2323 
    2424 
     
    3232    /// Model parameters 
    3333        CoreShellParameters model_pars; 
    34 } CCoreShellModel; 
     34} [PYTHONCLASS]; 
    3535 
    3636 
    3737static void 
    38 CCoreShellModel_dealloc(CCoreShellModel* self) 
     38[PYTHONCLASS]_dealloc([PYTHONCLASS]* self) 
    3939{ 
    4040    self->ob_type->tp_free((PyObject*)self); 
     
    4444 
    4545static PyObject * 
    46 CCoreShellModel_new(PyTypeObject *type, PyObject *args, PyObject *kwds) 
     46[PYTHONCLASS]_new(PyTypeObject *type, PyObject *args, PyObject *kwds) 
    4747{ 
    48     CCoreShellModel *self; 
     48    [PYTHONCLASS] *self; 
    4949     
    50     self = (CCoreShellModel *)type->tp_alloc(type, 0); 
     50    self = ([PYTHONCLASS] *)type->tp_alloc(type, 0); 
    5151    
    5252    return (PyObject *)self; 
     
    5454 
    5555static int 
    56 CCoreShellModel_init(CCoreShellModel *self, PyObject *args, PyObject *kwds) 
     56[PYTHONCLASS]_init([PYTHONCLASS] *self, PyObject *args, PyObject *kwds) 
    5757{ 
    5858    if (self != NULL) { 
     
    8080} 
    8181 
    82 static PyMemberDef CCoreShellModel_members[] = { 
    83     {"params", T_OBJECT, offsetof(CCoreShellModel, params), 0, 
     82static PyMemberDef [PYTHONCLASS]_members[] = { 
     83    {"params", T_OBJECT, offsetof([PYTHONCLASS], params), 0, 
    8484     "Parameters"}, 
    85     {"log", T_OBJECT, offsetof(CCoreShellModel, log), 0, 
     85    {"log", T_OBJECT, offsetof([PYTHONCLASS], log), 0, 
    8686     "Log"}, 
    8787    {NULL}  /* Sentinel */ 
     
    9292    @return double 
    9393*/ 
    94 double CCoreShellModel_readDouble(PyObject *p) { 
     94double [PYTHONCLASS]_readDouble(PyObject *p) { 
    9595    if (PyFloat_Check(p)==1) { 
    9696        return (double)(((PyFloatObject *)(p))->ob_fval); 
     
    110110 * @return: function value 
    111111 */ 
    112 static PyObject * run(CCoreShellModel *self, PyObject *args) { 
     112static PyObject * run([PYTHONCLASS] *self, PyObject *args) { 
    113113        double q_value, phi_value; 
    114114        PyObject* pars; 
     
    129129        // Get input and determine whether we have to supply a 1D or 2D return value. 
    130130        if ( !PyArg_ParseTuple(args,"O",&pars) ) { 
    131             PyErr_SetString(CCoreShellModelError,  
    132                 "CCoreShellModel.run expects a q value."); 
     131            PyErr_SetString([PYTHONCLASS]Error,  
     132                "[PYTHONCLASS].run expects a q value."); 
    133133                return NULL; 
    134134        } 
     
    140140            npars = PyList_GET_SIZE(pars);  
    141141            if(npars!=2) { 
    142                 PyErr_SetString(CCoreShellModelError,  
    143                         "CCoreShellModel.run expects a double or a list of dimension 2."); 
     142                PyErr_SetString([PYTHONCLASS]Error,  
     143                        "[PYTHONCLASS].run expects a double or a list of dimension 2."); 
    144144                return NULL; 
    145145            } 
    146146            // We have a vector q, get the q and phi values at which 
    147147            // to evaluate I(q,phi) 
    148             q_value = CCoreShellModel_readDouble(PyList_GET_ITEM(pars,0)); 
    149             phi_value = CCoreShellModel_readDouble(PyList_GET_ITEM(pars,1)); 
     148            q_value = [PYTHONCLASS]_readDouble(PyList_GET_ITEM(pars,0)); 
     149            phi_value = [PYTHONCLASS]_readDouble(PyList_GET_ITEM(pars,1)); 
    150150            // Skip zero 
    151151            if (q_value==0) { 
     
    157157 
    158158                // We have a scalar q, we will evaluate I(q) 
    159                 q_value = CCoreShellModel_readDouble(pars);              
     159                q_value = [PYTHONCLASS]_readDouble(pars);                
    160160                 
    161161                return Py_BuildValue("d",core_shell_analytical_1D(&(self->model_pars),q_value)); 
     
    168168 * @return: function value 
    169169 */ 
    170 static PyObject * runXY(CCoreShellModel *self, PyObject *args) { 
     170static PyObject * runXY([PYTHONCLASS] *self, PyObject *args) { 
    171171        double qx_value, qy_value; 
    172172        PyObject* pars; 
     
    187187        // Get input and determine whether we have to supply a 1D or 2D return value. 
    188188        if ( !PyArg_ParseTuple(args,"O",&pars) ) { 
    189             PyErr_SetString(CCoreShellModelError,  
    190                 "CCoreShellModel.run expects a q value."); 
     189            PyErr_SetString([PYTHONCLASS]Error,  
     190                "[PYTHONCLASS].run expects a q value."); 
    191191                return NULL; 
    192192        } 
     
    198198            npars = PyList_GET_SIZE(pars);  
    199199            if(npars!=2) { 
    200                 PyErr_SetString(CCoreShellModelError,  
    201                         "CCoreShellModel.run expects a double or a list of dimension 2."); 
     200                PyErr_SetString([PYTHONCLASS]Error,  
     201                        "[PYTHONCLASS].run expects a double or a list of dimension 2."); 
    202202                return NULL; 
    203203            } 
    204204            // We have a vector q, get the qx and qy values at which 
    205205            // to evaluate I(qx,qy) 
    206             qx_value = CCoreShellModel_readDouble(PyList_GET_ITEM(pars,0)); 
    207             qy_value = CCoreShellModel_readDouble(PyList_GET_ITEM(pars,1)); 
     206            qx_value = [PYTHONCLASS]_readDouble(PyList_GET_ITEM(pars,0)); 
     207            qy_value = [PYTHONCLASS]_readDouble(PyList_GET_ITEM(pars,1)); 
    208208                return Py_BuildValue("d",core_shell_analytical_2DXY(&(self->model_pars),qx_value,qy_value)); 
    209209 
     
    211211 
    212212                // We have a scalar q, we will evaluate I(q) 
    213                 qx_value = CCoreShellModel_readDouble(pars);             
     213                qx_value = [PYTHONCLASS]_readDouble(pars);               
    214214                 
    215215                return Py_BuildValue("d",core_shell_analytical_1D(&(self->model_pars),qx_value)); 
     
    217217} 
    218218 
    219 static PyObject * reset(CCoreShellModel *self, PyObject *args) { 
     219static PyObject * reset([PYTHONCLASS] *self, PyObject *args) { 
    220220     
    221221 
     
    224224 
    225225 
    226 static PyMethodDef CCoreShellModel_methods[] = { 
     226static PyMethodDef [PYTHONCLASS]_methods[] = { 
    227227    {"run",      (PyCFunction)run     , METH_VARARGS, 
    228228      "Evaluate the model at a given Q or Q, phi"}, 
     
    236236}; 
    237237 
    238 static PyTypeObject CCoreShellModelType = { 
     238static PyTypeObject [PYTHONCLASS]Type = { 
    239239    PyObject_HEAD_INIT(NULL) 
    240240    0,                         /*ob_size*/ 
    241     "CCoreShellModel",             /*tp_name*/ 
    242     sizeof(CCoreShellModel),             /*tp_basicsize*/ 
     241    "[PYTHONCLASS]",             /*tp_name*/ 
     242    sizeof([PYTHONCLASS]),             /*tp_basicsize*/ 
    243243    0,                         /*tp_itemsize*/ 
    244     (destructor)CCoreShellModel_dealloc, /*tp_dealloc*/ 
     244    (destructor)[PYTHONCLASS]_dealloc, /*tp_dealloc*/ 
    245245    0,                         /*tp_print*/ 
    246246    0,                         /*tp_getattr*/ 
     
    258258    0,                         /*tp_as_buffer*/ 
    259259    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ 
    260     "CCoreShellModel objects",           /* tp_doc */ 
     260    "[PYTHONCLASS] objects",           /* tp_doc */ 
    261261    0,                         /* tp_traverse */ 
    262262    0,                         /* tp_clear */ 
     
    265265    0,                         /* tp_iter */ 
    266266    0,                         /* tp_iternext */ 
    267     CCoreShellModel_methods,             /* tp_methods */ 
    268     CCoreShellModel_members,             /* tp_members */ 
     267    [PYTHONCLASS]_methods,             /* tp_methods */ 
     268    [PYTHONCLASS]_members,             /* tp_members */ 
    269269    0,                         /* tp_getset */ 
    270270    0,                         /* tp_base */ 
     
    273273    0,                         /* tp_descr_set */ 
    274274    0,                         /* tp_dictoffset */ 
    275     (initproc)CCoreShellModel_init,      /* tp_init */ 
     275    (initproc)[PYTHONCLASS]_init,      /* tp_init */ 
    276276    0,                         /* tp_alloc */ 
    277     CCoreShellModel_new,                 /* tp_new */ 
     277    [PYTHONCLASS]_new,                 /* tp_new */ 
    278278}; 
    279279 
     
    287287 * @param module: module to add the class to 
    288288 */  
    289 void addCCoreShellModel(PyObject *module) { 
     289void add[PYTHONCLASS](PyObject *module) { 
    290290        PyObject *d; 
    291291         
    292     if (PyType_Ready(&CCoreShellModelType) < 0) 
     292    if (PyType_Ready(&[PYTHONCLASS]Type) < 0) 
    293293        return; 
    294294 
    295     Py_INCREF(&CCoreShellModelType); 
    296     PyModule_AddObject(module, "CCoreShellModel", (PyObject *)&CCoreShellModelType); 
     295    Py_INCREF(&[PYTHONCLASS]Type); 
     296    PyModule_AddObject(module, "[PYTHONCLASS]", (PyObject *)&[PYTHONCLASS]Type); 
    297297     
    298298    d = PyModule_GetDict(module); 
    299     CCoreShellModelError = PyErr_NewException("CCoreShellModel.error", NULL, NULL); 
    300     PyDict_SetItemString(d, "CCoreShellModelError", CCoreShellModelError); 
    301 } 
    302  
     299    [PYTHONCLASS]Error = PyErr_NewException("[PYTHONCLASS].error", NULL, NULL); 
     300    PyDict_SetItemString(d, "[PYTHONCLASS]Error", [PYTHONCLASS]Error); 
     301} 
     302 
Note: See TracChangeset for help on using the changeset viewer.