Ejemplo n.º 1
0
 def copy_int(self, array_in, offset=0):
   """
   Copies @array_in into the C array and returns it.
   Setting @offset will add it to the value of the array
   """
   array_out = mu.new_iarr(len(array_in))
   try:
     for i in xrange(len(array_in)):
       mu.iarr_setitem(array_out, i, np.int(array_in[i]+offset))
   except Exception:
     #@TODO:put here some stuffs!
     pass
   else:
     return array_out
Ejemplo n.º 2
0
  def __init__(self):
    super(PyMUMPS, self).__init__()
    self.utils = mu
    # LAMBDAS!!!!
    ## For simplicity and to follow the documentation, the indices
    ## are Fotran-like : ICNTL(index) -> self.icntl(index-1)
    self.ICNTL = lambda i, v : mu.iarr_setitem(self.icntl, i-1, np.int(v))
    self.CNTL  = lambda i, v : mu.darr_setitem(self.cntl,  i-1, np.double(v))
    self.INFO  = lambda i : mu.iarr_getitem(self.info, i-1)
    self.INFOG  = lambda i : mu.iarr_getitem(self.infog, i-1)
    self.RINFO = lambda i : mu.darr_getitem(self.rinfo, i-1)
    self.RINFOG = lambda i : mu.darr_getitem(self.rinfog, i-1)

    self.IRN = lambda v: self.set_int(self.a, v, offset=np.int(1))
    self.A   = lambda v: self.set_double(self.a, v)
    self.RHS = lambda v: self.set_double(self.rhs, v)
Ejemplo n.º 3
0
 def set_icntl(self, index, value):
     mu.iarr_setitem(self.icntl, index-1, np.int(value))