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/CCoreShellCylinderModel.c

    rae3ce4e r9316609  
    1 /** CCoreShellCylinderModel 
     1/** [PYTHONCLASS] 
    22 * 
    33 * C extension  
     
    2020 
    2121/// Error object for raised exceptions 
    22 static PyObject * CCoreShellCylinderModelError = NULL; 
     22static PyObject * [PYTHONCLASS]Error = NULL; 
    2323 
    2424 
     
    3232    /// Model parameters 
    3333        CoreShellCylinderParameters model_pars; 
    34 } CCoreShellCylinderModel; 
     34} [PYTHONCLASS]; 
    3535 
    3636 
    3737static void 
    38 CCoreShellCylinderModel_dealloc(CCoreShellCylinderModel* self) 
     38[PYTHONCLASS]_dealloc([PYTHONCLASS]* self) 
    3939{ 
    4040    self->ob_type->tp_free((PyObject*)self); 
     
    4444 
    4545static PyObject * 
    46 CCoreShellCylinderModel_new(PyTypeObject *type, PyObject *args, PyObject *kwds) 
     46[PYTHONCLASS]_new(PyTypeObject *type, PyObject *args, PyObject *kwds) 
    4747{ 
    48     CCoreShellCylinderModel *self; 
     48    [PYTHONCLASS] *self; 
    4949     
    50     self = (CCoreShellCylinderModel *)type->tp_alloc(type, 0); 
     50    self = ([PYTHONCLASS] *)type->tp_alloc(type, 0); 
    5151    
    5252    return (PyObject *)self; 
     
    5454 
    5555static int 
    56 CCoreShellCylinderModel_init(CCoreShellCylinderModel *self, PyObject *args, PyObject *kwds) 
     56[PYTHONCLASS]_init([PYTHONCLASS] *self, PyObject *args, PyObject *kwds) 
    5757{ 
    5858    if (self != NULL) { 
     
    8383} 
    8484 
    85 static PyMemberDef CCoreShellCylinderModel_members[] = { 
    86     {"params", T_OBJECT, offsetof(CCoreShellCylinderModel, params), 0, 
     85static PyMemberDef [PYTHONCLASS]_members[] = { 
     86    {"params", T_OBJECT, offsetof([PYTHONCLASS], params), 0, 
    8787     "Parameters"}, 
    88     {"log", T_OBJECT, offsetof(CCoreShellCylinderModel, log), 0, 
     88    {"log", T_OBJECT, offsetof([PYTHONCLASS], log), 0, 
    8989     "Log"}, 
    9090    {NULL}  /* Sentinel */ 
     
    9595    @return double 
    9696*/ 
    97 double CCoreShellCylinderModel_readDouble(PyObject *p) { 
     97double [PYTHONCLASS]_readDouble(PyObject *p) { 
    9898    if (PyFloat_Check(p)==1) { 
    9999        return (double)(((PyFloatObject *)(p))->ob_fval); 
     
    113113 * @return: function value 
    114114 */ 
    115 static PyObject * run(CCoreShellCylinderModel *self, PyObject *args) { 
     115static PyObject * run([PYTHONCLASS] *self, PyObject *args) { 
    116116        double q_value, phi_value; 
    117117        PyObject* pars; 
     
    135135        // Get input and determine whether we have to supply a 1D or 2D return value. 
    136136        if ( !PyArg_ParseTuple(args,"O",&pars) ) { 
    137             PyErr_SetString(CCoreShellCylinderModelError,  
    138                 "CCoreShellCylinderModel.run expects a q value."); 
     137            PyErr_SetString([PYTHONCLASS]Error,  
     138                "[PYTHONCLASS].run expects a q value."); 
    139139                return NULL; 
    140140        } 
     
    146146            npars = PyList_GET_SIZE(pars);  
    147147            if(npars!=2) { 
    148                 PyErr_SetString(CCoreShellCylinderModelError,  
    149                         "CCoreShellCylinderModel.run expects a double or a list of dimension 2."); 
     148                PyErr_SetString([PYTHONCLASS]Error,  
     149                        "[PYTHONCLASS].run expects a double or a list of dimension 2."); 
    150150                return NULL; 
    151151            } 
    152152            // We have a vector q, get the q and phi values at which 
    153153            // to evaluate I(q,phi) 
    154             q_value = CCoreShellCylinderModel_readDouble(PyList_GET_ITEM(pars,0)); 
    155             phi_value = CCoreShellCylinderModel_readDouble(PyList_GET_ITEM(pars,1)); 
     154            q_value = [PYTHONCLASS]_readDouble(PyList_GET_ITEM(pars,0)); 
     155            phi_value = [PYTHONCLASS]_readDouble(PyList_GET_ITEM(pars,1)); 
    156156            // Skip zero 
    157157            if (q_value==0) { 
     
    163163 
    164164                // We have a scalar q, we will evaluate I(q) 
    165                 q_value = CCoreShellCylinderModel_readDouble(pars);              
     165                q_value = [PYTHONCLASS]_readDouble(pars);                
    166166                 
    167167                return Py_BuildValue("d",core_shell_cylinder_analytical_1D(&(self->model_pars),q_value)); 
     
    174174 * @return: function value 
    175175 */ 
    176 static PyObject * runXY(CCoreShellCylinderModel *self, PyObject *args) { 
     176static PyObject * runXY([PYTHONCLASS] *self, PyObject *args) { 
    177177        double qx_value, qy_value; 
    178178        PyObject* pars; 
     
    196196        // Get input and determine whether we have to supply a 1D or 2D return value. 
    197197        if ( !PyArg_ParseTuple(args,"O",&pars) ) { 
    198             PyErr_SetString(CCoreShellCylinderModelError,  
    199                 "CCoreShellCylinderModel.run expects a q value."); 
     198            PyErr_SetString([PYTHONCLASS]Error,  
     199                "[PYTHONCLASS].run expects a q value."); 
    200200                return NULL; 
    201201        } 
     
    207207            npars = PyList_GET_SIZE(pars);  
    208208            if(npars!=2) { 
    209                 PyErr_SetString(CCoreShellCylinderModelError,  
    210                         "CCoreShellCylinderModel.run expects a double or a list of dimension 2."); 
     209                PyErr_SetString([PYTHONCLASS]Error,  
     210                        "[PYTHONCLASS].run expects a double or a list of dimension 2."); 
    211211                return NULL; 
    212212            } 
    213213            // We have a vector q, get the qx and qy values at which 
    214214            // to evaluate I(qx,qy) 
    215             qx_value = CCoreShellCylinderModel_readDouble(PyList_GET_ITEM(pars,0)); 
    216             qy_value = CCoreShellCylinderModel_readDouble(PyList_GET_ITEM(pars,1)); 
     215            qx_value = [PYTHONCLASS]_readDouble(PyList_GET_ITEM(pars,0)); 
     216            qy_value = [PYTHONCLASS]_readDouble(PyList_GET_ITEM(pars,1)); 
    217217                return Py_BuildValue("d",core_shell_cylinder_analytical_2DXY(&(self->model_pars),qx_value,qy_value)); 
    218218 
     
    220220 
    221221                // We have a scalar q, we will evaluate I(q) 
    222                 qx_value = CCoreShellCylinderModel_readDouble(pars);             
     222                qx_value = [PYTHONCLASS]_readDouble(pars);               
    223223                 
    224224                return Py_BuildValue("d",core_shell_cylinder_analytical_1D(&(self->model_pars),qx_value)); 
     
    226226} 
    227227 
    228 static PyObject * reset(CCoreShellCylinderModel *self, PyObject *args) { 
     228static PyObject * reset([PYTHONCLASS] *self, PyObject *args) { 
    229229     
    230230 
     
    233233 
    234234 
    235 static PyMethodDef CCoreShellCylinderModel_methods[] = { 
     235static PyMethodDef [PYTHONCLASS]_methods[] = { 
    236236    {"run",      (PyCFunction)run     , METH_VARARGS, 
    237237      "Evaluate the model at a given Q or Q, phi"}, 
     
    245245}; 
    246246 
    247 static PyTypeObject CCoreShellCylinderModelType = { 
     247static PyTypeObject [PYTHONCLASS]Type = { 
    248248    PyObject_HEAD_INIT(NULL) 
    249249    0,                         /*ob_size*/ 
    250     "CCoreShellCylinderModel",             /*tp_name*/ 
    251     sizeof(CCoreShellCylinderModel),             /*tp_basicsize*/ 
     250    "[PYTHONCLASS]",             /*tp_name*/ 
     251    sizeof([PYTHONCLASS]),             /*tp_basicsize*/ 
    252252    0,                         /*tp_itemsize*/ 
    253     (destructor)CCoreShellCylinderModel_dealloc, /*tp_dealloc*/ 
     253    (destructor)[PYTHONCLASS]_dealloc, /*tp_dealloc*/ 
    254254    0,                         /*tp_print*/ 
    255255    0,                         /*tp_getattr*/ 
     
    267267    0,                         /*tp_as_buffer*/ 
    268268    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ 
    269     "CCoreShellCylinderModel objects",           /* tp_doc */ 
     269    "[PYTHONCLASS] objects",           /* tp_doc */ 
    270270    0,                         /* tp_traverse */ 
    271271    0,                         /* tp_clear */ 
     
    274274    0,                         /* tp_iter */ 
    275275    0,                         /* tp_iternext */ 
    276     CCoreShellCylinderModel_methods,             /* tp_methods */ 
    277     CCoreShellCylinderModel_members,             /* tp_members */ 
     276    [PYTHONCLASS]_methods,             /* tp_methods */ 
     277    [PYTHONCLASS]_members,             /* tp_members */ 
    278278    0,                         /* tp_getset */ 
    279279    0,                         /* tp_base */ 
     
    282282    0,                         /* tp_descr_set */ 
    283283    0,                         /* tp_dictoffset */ 
    284     (initproc)CCoreShellCylinderModel_init,      /* tp_init */ 
     284    (initproc)[PYTHONCLASS]_init,      /* tp_init */ 
    285285    0,                         /* tp_alloc */ 
    286     CCoreShellCylinderModel_new,                 /* tp_new */ 
     286    [PYTHONCLASS]_new,                 /* tp_new */ 
    287287}; 
    288288 
     
    296296 * @param module: module to add the class to 
    297297 */  
    298 void addCCoreShellCylinderModel(PyObject *module) { 
     298void add[PYTHONCLASS](PyObject *module) { 
    299299        PyObject *d; 
    300300         
    301     if (PyType_Ready(&CCoreShellCylinderModelType) < 0) 
     301    if (PyType_Ready(&[PYTHONCLASS]Type) < 0) 
    302302        return; 
    303303 
    304     Py_INCREF(&CCoreShellCylinderModelType); 
    305     PyModule_AddObject(module, "CCoreShellCylinderModel", (PyObject *)&CCoreShellCylinderModelType); 
     304    Py_INCREF(&[PYTHONCLASS]Type); 
     305    PyModule_AddObject(module, "[PYTHONCLASS]", (PyObject *)&[PYTHONCLASS]Type); 
    306306     
    307307    d = PyModule_GetDict(module); 
    308     CCoreShellCylinderModelError = PyErr_NewException("CCoreShellCylinderModel.error", NULL, NULL); 
    309     PyDict_SetItemString(d, "CCoreShellCylinderModelError", CCoreShellCylinderModelError); 
    310 } 
    311  
     308    [PYTHONCLASS]Error = PyErr_NewException("[PYTHONCLASS].error", NULL, NULL); 
     309    PyDict_SetItemString(d, "[PYTHONCLASS]Error", [PYTHONCLASS]Error); 
     310} 
     311 
Note: See TracChangeset for help on using the changeset viewer.