///////////////////////////////////////////////////////////////////////// // Matrix-Vector Operations public static int Matvec(LisMatrix A, LisVector x, LisVector y) { int ret = 0; unsafe { ret = IvyFEM.Lis.ImportedFunctions.lis_matvec(A.Native, x.Native, y.Native); } return(ret); }
public static int Solve(LisMatrix A, LisVector b, LisVector x, LisSolver solver) { int ret = 0; unsafe { ret = IvyFEM.Lis.ImportedFunctions.lis_solve(A.Native, b.Native, x.Native, solver.Native); } return(ret); }
public static int VectorSetAll(LisScalar alpha, LisVector v) { int ret = 0; unsafe { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_set_all(alpha, v.Native); } return(ret); }
public static int VectorConjugate(LisVector v) { int ret = 0; unsafe { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_conjugate(v.Native); } return(ret); }
public static int VectorSetValue(SetValueFlag flag, int i, LisScalar value, LisVector v) { int ret = 0; unsafe { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_set_value(flag, i, value, v.Native); } return(ret); }
public static int VectorDestroy(LisVector v) { int ret = 0; unsafe { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_destroy(v.Native); } return(ret); }
public static int VectorSetSize(LisVector v, int localN, int globalN) { int ret = 0; unsafe { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_set_size(v.Native, localN, globalN); } return(ret); }
public static int VectorGetValues(LisVector v, int start, int count, LisScalar[] values) { int ret = 0; unsafe { fixed(LisScalar *valuesP = &values[0]) { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_get_values(v.Native, start, count, valuesP); } } return(ret); }
public static int VectorGetValue(LisVector v, int i, out LisScalar value) { int ret = 0; value = 0; unsafe { fixed(LisScalar *valueP = &value) { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_get_value(v.Native, i, valueP); } } return(ret); }
///////////////////////////////////////////////////////////////////////// // Vector Operations public static int VectorCreate(int comm, LisVector v) { int ret = 0; unsafe { v.Native = null; fixed(NativeLisVector **nativeVPP = &v.Native) { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_create(comm, nativeVPP); } } return(ret); }
public static int VectorGetRange(LisVector v, out int @is, out int ie) { int ret = 0; @is = 0; ie = 0; unsafe { fixed(int *isP = & @is) fixed(int *ieP = &ie) { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_get_range(v.Native, isP, ieP); } } return(ret); }
public static int VectorGetSize(LisVector v, out int localN, out int globalN) { int ret = 0; localN = 0; globalN = 0; unsafe { fixed(int *localNP = &localN) fixed(int *globalNP = &globalN) { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_get_size(v.Native, localNP, globalNP); } } return(ret); }
public static int VectorSetValues2(SetValueFlag flag, int start, int count, LisScalar[] values, LisVector v) { int ret = 0; unsafe { fixed(LisScalar *valuesP = &values[0]) { ret = IvyFEM.Lis.ImportedFunctions.lis_vector_set_values2( flag, start, count, valuesP, v.Native); } } return(ret); }
public static int Matvec(LisMatrix A, LisVector x, LisVector y) { return(IvyFEM.Lis.Functions.Matvec(A, x, y)); }
public int Solve(LisMatrix A, LisVector b, LisVector x) { return(IvyFEM.Lis.Functions.Solve(A, b, x, this)); }