Changeset 13899


Ignore:
Timestamp:
11/07/12 15:57:06 (12 years ago)
Author:
jschierm
Message:

FIX: Try again to allow WriteData.py for lists and tuples.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/solve/WriteData.py

    r13867 r13899  
    1717        #process options
    1818        #  the import above the function level doesn't work?
    19         from pairoptions import *
     19        from pairoptions import pairoptions
    2020        options=pairoptions(*args)
    2121
     
    101101        elif strcmpi(format,'BooleanMat'):    # {{{
    102102
    103                 if not isinstance(data,numpy.ndarray):
     103                if   isinstance(data,bool):
    104104                        data=numpy.array([data])
     105                elif isinstance(data,(list,tuple)):
     106                        data=numpy.array(data).reshape(-1,1)
    105107                if len(data.shape) == 1:
    106108                        if numpy.size(data):
     
    132134        elif strcmpi(format,'IntMat'):    # {{{
    133135
    134                 if not isinstance(data,numpy.ndarray):
     136                if   isinstance(data,(int,long)):
    135137                        data=numpy.array([data])
     138                elif isinstance(data,(list,tuple)):
     139                        data=numpy.array(data).reshape(-1,1)
    136140                if len(data.shape) == 1:
    137141                        if numpy.size(data):
     
    163167        elif strcmpi(format,'DoubleMat'):    # {{{
    164168
    165                 if not isinstance(data,numpy.ndarray):
     169                if   isinstance(data,(bool,int,long,float)):
    166170                        data=numpy.array([data])
     171                elif isinstance(data,(list,tuple)):
     172                        data=numpy.array(data).reshape(-1,1)
    167173                if len(data.shape) == 1:
    168174                        if numpy.size(data):
     
    197203                recordlength=4+4    #number of records + code
    198204                for matrix in data:
    199                         if not isinstance(matrix,numpy.ndarray):
     205                        if   isinstance(matrix,(bool,int,long,float)):
    200206                                matrix=numpy.array([matrix])
     207                        elif isinstance(matrix,(list,tuple)):
     208                                matrix=numpy.array(matrix).reshape(-1,1)
    201209                        if len(matrix.shape) == 1:
    202210                                if numpy.size(matrix):
     
    219227                #write each matrix:
    220228                for matrix in data:
    221                         if not isinstance(matrix,numpy.ndarray):
     229                        if   isinstance(matrix,(bool,int,long,float)):
    222230                                matrix=numpy.array([matrix])
     231                        elif isinstance(matrix,(list,tuple)):
     232                                matrix=numpy.array(matrix).reshape(-1,1)
    223233                        if len(matrix.shape) == 1:
    224234                                matrix=matrix.reshape(numpy.size(matrix),1)
Note: See TracChangeset for help on using the changeset viewer.