/// <summary> /// Create a vector object /// </summary> public static int Create(MPI_Comm MPI_Comm, int jlower, int jupper, out T_IJVector vector) { ulong _com8; uint _com4; // we need to convert the MPI comm in ilPSP (which is a FORTRAN MPI comm) // to a C-MPI comm: can be either 4 or 8 bytes! int sz = csMPI.Raw.MPI_Comm_f2c(MPI_Comm, out _com4, out _com8); switch (sz) { case 4: return(Create4(_com4, jlower, jupper, out vector)); case 8: return(Create8(_com8, jlower, jupper, out vector)); default: throw new NotImplementedException(); } }
public static extern int GetValues(T_IJVector vector, int nvalues, int[] indices, double[] values);
public static extern int Assemble(T_IJVector vector);
public static extern int SetMaxOffProcElmts(T_IJVector vector, int max_off_proc_elmts);
public static extern int Initialize(T_IJVector vector);
public static extern int Destroy(T_IJVector vector);
static extern int Create8(ulong MPI_Comm, int jlower, int jupper, out T_IJVector vector);
static extern int Create4(uint MPI_Comm, int jlower, int jupper, out T_IJVector vector);
public static extern int GetObject(T_IJVector vector, out T_ParCRS_vector mtx_object);
public static extern int GetLocalRange(T_IJVector vector, out int jlower, out int jupper);
public static extern int GetObjectType(T_IJVector vector, out int type);
public static extern int SetObjectType(T_IJVector vector, int type);