Exemple #1
0
 def get_array(self,name):
     "return an Ifeffit array as a python list"
     ptr  = _ifeffit.new_Parr(self.MAX_ARRAY_PTS)
     npts = _ifeffit.iff_get_array(name,ptr)
     arr  = []
     for i in range(npts):
         arr.append(_ifeffit.Parr_getitem(ptr,i))
     _ifeffit.delete_Parr(ptr)
     if (self.num_array != None):  arr = self.num_array(arr)
     return arr
Exemple #2
0
    def put_array(self,name,data):
        "set a python list as an Ifeffit array"
        if (self.num_array != None):   data = list(data)
        npts  = min(self.MAX_ARRAY_PTS, len(data))
        ptr   = _ifeffit.new_Parr(npts)
        for i in range(npts):
            _ifeffit.Parr_setitem(ptr,i,data[i])

        p_n   = _ifeffit.new_Pint()
        _ifeffit.Pint_assign(p_n,npts)

        ret = _ifeffit.iff_put_array(name, p_n, ptr)
        _ifeffit.delete_Pint(p_n)
        _ifeffit.delete_Parr(ptr)
        return ret