testing updates
This commit is contained in:
81
scripts/amsbinarrayrw.py
Normal file
81
scripts/amsbinarrayrw.py
Normal file
@ -0,0 +1,81 @@
|
||||
#!/usr/bin/python3
|
||||
import os,sys,math
|
||||
import numpy as np
|
||||
|
||||
#Write double ndarray
|
||||
def fwrite_dndarray(fp,array):
|
||||
|
||||
array = np.array(array,dtype=np.float64,order='F')
|
||||
|
||||
Ndim = np.int32(len(array.shape))
|
||||
shp = np.int32(array.shape)
|
||||
|
||||
q = Ndim.tobytes()
|
||||
fp.write(q)
|
||||
if(Ndim>0):
|
||||
q = shp.tobytes()
|
||||
fp.write(q)
|
||||
|
||||
q = array.tobytes()
|
||||
fp.write(q)
|
||||
|
||||
return
|
||||
|
||||
#Read double ndarray
|
||||
def fread_dndarray(fp):
|
||||
|
||||
array = np.zeros((),dtype=np.float64,order='F')
|
||||
|
||||
q = fp.read(4)
|
||||
Ndim = np.frombuffer(q,dtype=np.int32,count=1)[0]
|
||||
|
||||
if(Ndim>0):
|
||||
q = fp.read(4*Ndim)
|
||||
shp = np.frombuffer(q,dtype=np.int32,count=Ndim)
|
||||
piprod = 1
|
||||
for i in range(0,len(shp)):
|
||||
piprod = piprod*shp[i]
|
||||
q = fp.read(8*piprod)
|
||||
array = np.frombuffer(q,dtype=np.float64,count=piprod)
|
||||
array = array.reshape(shp,order='F')
|
||||
|
||||
return array
|
||||
|
||||
#Write float ndarray
|
||||
def fwrite_fndarray(fp,array):
|
||||
|
||||
array = np.array(array,dtype=np.float32,order='F')
|
||||
|
||||
Ndim = np.int32(len(array.shape))
|
||||
shp = np.int32(array.shape)
|
||||
|
||||
q = Ndim.tobytes()
|
||||
fp.write(q)
|
||||
if(Ndim>0):
|
||||
q = shp.tobytes()
|
||||
fp.write(q)
|
||||
|
||||
q = array.tobytes()
|
||||
fp.write(q)
|
||||
|
||||
return
|
||||
|
||||
#Read float ndarray
|
||||
def fread_fndarray(fp):
|
||||
|
||||
array = np.zeros((),dtype=np.float32,order='F')
|
||||
|
||||
q = fp.read(4)
|
||||
Ndim = np.frombuffer(q,dtype=np.int32,count=1)[0]
|
||||
|
||||
if(Ndim>0):
|
||||
q = fp.read(4*Ndim)
|
||||
shp = np.frombuffer(q,dtype=np.int32,count=Ndim)
|
||||
piprod = 1
|
||||
for i in range(0,len(shp)):
|
||||
piprod = piprod*shp[i]
|
||||
q = fp.read(4*piprod)
|
||||
array = np.frombuffer(q,dtype=np.float32,count=piprod)
|
||||
array = array.reshape(shp,order='F')
|
||||
|
||||
return array
|
||||
Reference in New Issue
Block a user