Changeset 9796d0a for python/genericio.py
- Timestamp:
- 09/25/17 19:20:08 (7 years ago)
- Branches:
- master, pympi
- Children:
- 56b997e
- Parents:
- b02d091
- git-author:
- Hal Finkel <hfinkel@…> (09/25/17 19:20:08)
- git-committer:
- Hal Finkel <hfinkel@…> (09/25/17 19:20:08)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
python/genericio.py
rc13d973 r9796d0a 53 53 libpygio.get_variable_type.argtypes=[ct.c_char_p,ct.c_char_p] 54 54 55 libpygio.get_variable_field_count.restype=ct.c_int 56 libpygio.get_variable_field_count.argtypes=[ct.c_char_p,ct.c_char_p] 57 55 58 libpygio.read_gio_int32.restype=None 56 libpygio.read_gio_int32.argtypes=[ct.c_char_p,ct.c_char_p,ct.POINTER(ct.c_int) ]59 libpygio.read_gio_int32.argtypes=[ct.c_char_p,ct.c_char_p,ct.POINTER(ct.c_int),ct.c_int] 57 60 58 61 libpygio.read_gio_int64.restype=None 59 libpygio.read_gio_int64.argtypes=[ct.c_char_p,ct.c_char_p,ct.POINTER(ct.c_int64) ]62 libpygio.read_gio_int64.argtypes=[ct.c_char_p,ct.c_char_p,ct.POINTER(ct.c_int64),ct.c_int] 60 63 61 64 libpygio.read_gio_float.restype=None 62 libpygio.read_gio_float.argtypes=[ct.c_char_p,ct.c_char_p,ct.POINTER(ct.c_float) ]65 libpygio.read_gio_float.argtypes=[ct.c_char_p,ct.c_char_p,ct.POINTER(ct.c_float),ct.c_int] 63 66 64 67 libpygio.read_gio_double.restype=None 65 libpygio.read_gio_double.argtypes=[ct.c_char_p,ct.c_char_p,ct.POINTER(ct.c_double) ]68 libpygio.read_gio_double.argtypes=[ct.c_char_p,ct.c_char_p,ct.POINTER(ct.c_double),ct.c_int] 66 69 67 70 libpygio.inspect_gio.restype=None … … 71 74 var_size = libpygio.get_elem_num(file_name) 72 75 var_type = libpygio.get_variable_type(file_name,var_name) 76 field_count = libpygio.get_variable_field_count(file_name,var_name) 73 77 if(var_type==10): 74 78 print "Variable not found" … … 78 82 elif(var_type==0): 79 83 #float 80 result = np.ndarray( var_size,dtype=np.float32)81 libpygio.read_gio_float(file_name,var_name,result.ctypes.data_as(ct.POINTER(ct.c_float)) )84 result = np.ndarray((var_size,field_count),dtype=np.float32) 85 libpygio.read_gio_float(file_name,var_name,result.ctypes.data_as(ct.POINTER(ct.c_float)),field_count) 82 86 return result 83 87 elif(var_type==1): 84 88 #double 85 result = np.ndarray( var_size,dtype=np.float64)86 libpygio.read_gio_double(file_name,var_name,result.ctypes.data_as(ct.POINTER(ct.c_double)) )89 result = np.ndarray((var_size,field_count),dtype=np.float64) 90 libpygio.read_gio_double(file_name,var_name,result.ctypes.data_as(ct.POINTER(ct.c_double)),field_count) 87 91 return result 88 92 elif(var_type==2): 89 93 #int32 90 result = np.ndarray( var_size,dtype=np.int32)91 libpygio.read_gio_int32(file_name,var_name,result.ctypes.data_as(ct.POINTER(ct.c_int32)) )94 result = np.ndarray((var_size,field_count),dtype=np.int32) 95 libpygio.read_gio_int32(file_name,var_name,result.ctypes.data_as(ct.POINTER(ct.c_int32)),field_count) 92 96 return result 93 97 elif(var_type==3): 94 98 #int64 95 result = np.ndarray( var_size,dtype=np.int64)96 libpygio.read_gio_int64(file_name,var_name,result.ctypes.data_as(ct.POINTER(ct.c_int64)) )99 result = np.ndarray((var_size,field_count),dtype=np.int64) 100 libpygio.read_gio_int64(file_name,var_name,result.ctypes.data_as(ct.POINTER(ct.c_int64)),field_count) 97 101 return result 98 102 103 def gio_has_variable(file_name,var_name): 104 var_size = libpygio.get_elem_num(file_name) 105 var_type = libpygio.get_variable_type(file_name,var_name) 106 return var_type!=10 107 99 108 def gio_inspect(file_name): 100 109 libpygio.inspect_gio(file_name)
Note: See TracChangeset
for help on using the changeset viewer.