Changeset 13373


Ignore:
Timestamp:
09/14/12 14:13:08 (13 years ago)
Author:
jschierm
Message:

CHG: Changed appropriate FetchData to memcpy and added more to FetchData for Options.

Location:
issm/trunk-jpl/src/c/python/io
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/python/io/FetchPythonData.cpp

    r13372 r13373  
    6666        double* matrix=NULL;
    6767        int M,N;
    68         int i,ndim;
     68        int ndim;
    6969        npy_intp*  dims=NULL;
    7070
     
    8080        /*copy matrix: */
    8181        matrix=xNew<double>(M*N);
    82         for(i=0;i<M*N;i++)matrix[i]=dmatrix[i];
     82        memcpy(matrix,dmatrix,(M*N)*sizeof(double));
    8383
    8484        /*output: */
     
    127127        double* vector=NULL;
    128128        int M;
    129         int i,ndim;
     129        int ndim;
    130130        npy_intp*  dims=NULL;
    131131
     
    141141        /*copy vector: */
    142142        vector=xNew<double>(M);
    143         for(i=0;i<M;i++)vector[i]=dvector[i];
     143        memcpy(vector,dvector,(M)*sizeof(double));
    144144
    145145        /*output: */
     
    233233}
    234234/*}}}*/
    235 /*FUNCTION FetchData(Options** poptions,int istart, int nrhs,PyObject* arguments){{{*/
    236 void FetchData(Options** poptions,int istart, int nrhs,PyObject* arguments){
     235/*FUNCTION FetchData(Options** poptions,int istart, int nrhs,PyObject* py_args){{{*/
     236void FetchData(Options** poptions,int istart, int nrhs,PyObject* py_tuple){
     237
     238        char   *name   = NULL;
     239        Option *option = NULL;
    237240
    238241        /*Initialize output*/
    239242        Options* options=new Options();
    240243
    241         _pprintLine_("FetchData for Options not implemented yet, ignoring them!");
     244        /*Fetch all options*/
     245        for (int i=istart; i<nrhs; i=i+2){
     246                if (!PyString_Check(PyTuple_GetItem(py_tuple,(Py_ssize_t)i))) _error_("Argument " << i+1 << " must be name of option");
     247
     248                FetchData(&name,PyTuple_GetItem(py_tuple,(Py_ssize_t)i));
     249                if(i+1 == nrhs) _error_("Argument " << i+2 << " must exist and be value of option \"" << name << "\".");
     250
     251//              _pprintLine_("FetchData for Options not implemented yet, ignoring them!");
     252                _printf_(1,"FetchData for Options not implemented yet, ignoring option '%s'!",name);
     253
     254//              option=(Option*)OptionParse(name,&PyTuple_GetItem(py_tuple,(Py_ssize_t)(i+1)));
     255//              options->AddOption(option);
     256//              option=NULL;
     257        }
    242258
    243259        /*Assign output pointers:*/
    244260        *poptions=options;
    245 
    246261}
    247262/*}}}*/
  • issm/trunk-jpl/src/c/python/io/pythonio.h

    r13368 r13373  
    3434void FetchData(BamgMesh** bamgmesh,PyObject* py_dict);
    3535void FetchData(BamgOpts** bamgopts,PyObject* py_dict);
    36 void FetchData(Options** poptions,int istart, int nrhs,PyObject* arguments);
     36void FetchData(Options** poptions,int istart, int nrhs,PyObject* py_tuple);
    3737void FetchData(DataSet** pcontours,PyObject* py_list);
    3838
Note: See TracChangeset for help on using the changeset viewer.