Changeset 19896


Ignore:
Timestamp:
12/16/15 07:07:40 (9 years ago)
Author:
Mathieu Morlighem
Message:

CHG: merging Basile's changes with python2

Location:
issm/trunk-jpl/src/wrappers
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/wrappers/IssmConfig/IssmConfig.cpp

    r19895 r19896  
    2121        char       *name     = NULL;
    2222        bool        isstring = false;
    23         IssmDouble  value   = 0.;
     23        IssmDouble  value    = 0.;
    2424        char       *svalue   = NULL;
    25 
    2625
    2726        /*Boot module: */
     
    163162         WriteData(VALUE,value);
    164163
    165 
    166164        /*Clean up*/
    167165        xDelete<char>(name);
     
    170168        /*end module: */
    171169        MODULEEND();
    172 
    173170}
  • issm/trunk-jpl/src/wrappers/IssmConfig/IssmConfig.h

    r19895 r19896  
    55#ifndef _ISSMCONFIG_H
    66#define _ISSMCONFIG_H
    7 
    87
    98#ifdef HAVE_CONFIG_H
  • issm/trunk-jpl/src/wrappers/python/io/FetchPythonData.cpp

    r19895 r19896  
    2424        if      (PyFloat_Check(py_float))
    2525                dscalar=PyFloat_AsDouble(py_float);
    26         else if (PyLong_Check(py_float))
     26        else if (PyLong_Check(py_float)){
     27                #if _PYTHON_MAJOR_ == 3
    2728                dscalar=(double)PyLong_AsLong(py_float);
    28         else if (PyLong_Check(py_float))
     29                #else
    2930                dscalar=PyLong_AsDouble(py_float);
     31                #endif
     32        }
     33        else if (PyInt_Check(py_float))
     34         dscalar=(double)PyInt_AsLong(py_float);
    3035        else if (PyBool_Check(py_float))
    3136                dscalar=(double)PyLong_AsLong(py_float);
     
    4954        if      (PyLong_Check(py_long))
    5055                iscalar=(int)PyLong_AsLong(py_long);
    51         else if (PyLong_Check(py_long))
    52                 iscalar=(int)PyLong_AsLong(py_long);
     56        else if (PyInt_Check(py_long))
     57                iscalar=(int)PyInt_AsLong(py_long);
    5358        else if (PyFloat_Check(py_long))
    5459                iscalar=(int)PyFloat_AsDouble(py_long);
     
    7883        else if (PyLong_Check(py_boolean))
    7984                bscalar=(bool)PyLong_AsLong(py_boolean);
     85        else if (PyInt_Check(py_boolean))
     86                bscalar=(bool)PyInt_AsLong(py_boolean);
    8087        else if (PyTuple_Check(py_boolean) && (int)PyTuple_Size(py_boolean)==1)
    8188                FetchData(&bscalar,PyTuple_GetItem(py_boolean,(Py_ssize_t)0));
     
    724731        /*Fetch all options*/
    725732        for (int i=istart; i<nrhs; i=i+2){
     733                #if _PYTHON_MAJOR_ >= 3
    726734                if (!PyUnicode_Check(PyTuple_GetItem(py_tuple,(Py_ssize_t)i))) _error_("Argument " << i+1 << " must be name of option");
     735                #else
     736                if (!PyString_Check(PyTuple_GetItem(py_tuple,(Py_ssize_t)i))) _error_("Argument " << i+1 << " must be name of option");
     737                #endif
    727738
    728739                FetchData(&name,PyTuple_GetItem(py_tuple,(Py_ssize_t)i));
     
    750761        PyObject        *py_item     = NULL;
    751762
     763        #if _PYTHON_MAJOR_ >= 3
    752764        if (PyUnicode_Check(py_list)){
    753765                FetchData(&contourname,py_list);
    754766                contours=ExpRead<double>(contourname);
    755767        }
     768        #else
     769        if (PyString_Check(py_list)){
     770                FetchData(&contourname,py_list);
     771                contours=ExpRead<double>(contourname);
     772        }
     773        #endif
    756774        else if(PyList_Check(py_list)){
    757775
  • issm/trunk-jpl/src/wrappers/python/io/WritePythonData.cpp

    r19895 r19896  
    2020void WriteData(PyObject* py_tuple, int index, int integer){
    2121
     22        #if _PYTHON_MAJOR_ >= 3
    2223        PyTuple_SetItem(py_tuple, index, PyLong_FromSsize_t((Py_ssize_t)integer));
     24        #else
     25        PyTuple_SetItem(py_tuple, index, PyInt_FromSsize_t((Py_ssize_t)integer));
     26        #endif
    2327
    2428}/*}}}*/
     
    212216                dict=PyDict_New();
    213217
     218                #if _PYTHON_MAJOR_ >= 3
    214219                PyDict_SetItemString(dict,"numsegs"          ,PyLong_FromSsize_t((Py_ssize_t)riftstruct->riftsnumsegments[i]));
     220                #else
     221                PyDict_SetItemString(dict,"numsegs"          ,PyInt_FromSsize_t((Py_ssize_t)riftstruct->riftsnumsegments[i]));
     222                #endif
     223
    215224                PyDict_SetItemString(dict,"segments"         ,PyArrayFromCopiedData(riftstruct->riftsnumsegments[i]    ,3,riftstruct->riftssegments[i]));
    216225                PyDict_SetItemString(dict,"pairs"            ,PyArrayFromCopiedData(riftstruct->riftsnumpairs[i]       ,2,riftstruct->riftspairs[i]));
    217226                PyDict_SetItemString(dict,"tips"             ,PyArrayFromCopiedData(1                                  ,2,&riftstruct->riftstips[2*i]));
    218227                PyDict_SetItemString(dict,"penaltypairs"     ,PyArrayFromCopiedData(riftstruct->riftsnumpenaltypairs[i],7,riftstruct->riftspenaltypairs[i]));
     228                #if _PYTHON_MAJOR_ >= 3
    219229                PyDict_SetItemString(dict,"fill"             ,PyLong_FromSsize_t((Py_ssize_t)IceEnum));
    220230                PyDict_SetItemString(dict,"friction"         ,PyLong_FromSsize_t((Py_ssize_t)0));
     231                #else
     232                PyDict_SetItemString(dict,"fill"             ,PyInt_FromSsize_t((Py_ssize_t)IceEnum));
     233                PyDict_SetItemString(dict,"friction"         ,PyInt_FromSsize_t((Py_ssize_t)0));
     234                #endif
    221235                PyDict_SetItemString(dict,"fraction"         ,PyFloat_FromDouble(0.));
    222236                PyDict_SetItemString(dict,"fractionincrement",PyFloat_FromDouble(0.1));
Note: See TracChangeset for help on using the changeset viewer.