void lis_matrix_create_f(LIS_Comm_f *comm, LIS_MATRIX_F *Amat, LIS_INT *ierr) { LIS_MATRIX A; LIS_Comm c_comm; LIS_DEBUG_FUNC_IN; #ifdef USE_MPI if( *comm==lis_comm_world_f ) { c_comm = MPI_COMM_WORLD; } else { c_comm = MPI_Comm_f2c(*comm); } #else c_comm = *comm; #endif *ierr = lis_matrix_create(c_comm,&A); if( *ierr ) return; A->origin = LIS_ORIGIN_1; *Amat = LIS_P2V(A); LIS_DEBUG_FUNC_OUT; return; }
void lis_vector_create_f(LIS_Comm_f *comm, LIS_VECTOR_F *vec, LIS_INT *ierr) { LIS_VECTOR v; LIS_Comm c_comm; LIS_DEBUG_FUNC_IN; #ifdef USE_MPI if( *comm==lis_comm_world_f ) { c_comm = MPI_COMM_WORLD; } else { c_comm = MPI_Comm_f2c(*comm); } #else c_comm = *comm; #endif *ierr = lis_vector_create(c_comm,&v); if( *ierr ) return; v->origin = LIS_ORIGIN_1; *vec = LIS_P2V(v); LIS_DEBUG_FUNC_OUT; return; }
void lis_matrix_duplicate_f(LIS_MATRIX_F *Ain, LIS_MATRIX_F *Aout, LIS_INT *ierr) { LIS_MATRIX A; LIS_DEBUG_FUNC_IN; *ierr = lis_matrix_duplicate((LIS_MATRIX)LIS_V2P(Ain),&A); *Aout = LIS_P2V(A); LIS_DEBUG_FUNC_OUT; return; }
void lis_esolver_create_f(LIS_ESOLVER_F *esolver, LIS_INT *ierr) { LIS_ESOLVER s; LIS_DEBUG_FUNC_IN; *ierr = lis_esolver_create(&s); if( *ierr ) return; *esolver = LIS_P2V(s); LIS_DEBUG_FUNC_OUT; return; }
void lis_matrix_assemble_f(LIS_MATRIX_F *A, LIS_INT *ierr) { LIS_MATRIX AA; LIS_DEBUG_FUNC_IN; AA = (LIS_MATRIX)LIS_V2P(A); *ierr = lis_matrix_assemble(AA); *A = LIS_P2V(AA); LIS_DEBUG_FUNC_OUT; return; }
void lis_vector_duplicate_f(LIS_VECTOR_F *vin, LIS_VECTOR_F *vout, LIS_INT *ierr) { LIS_VECTOR v; LIS_DEBUG_FUNC_IN; *ierr = lis_vector_duplicate((LIS_VECTOR)LIS_V2P(vin),&v); if( *ierr ) return; *vout = LIS_P2V(v); LIS_DEBUG_FUNC_OUT; return; }
void lis_matrix_convert_f(LIS_MATRIX_F *Ain, LIS_MATRIX_F *Aout, LIS_INT *ierr) { LIS_MATRIX AAin,AAout; LIS_DEBUG_FUNC_IN; AAin = (LIS_MATRIX)LIS_V2P(Ain); AAout = (LIS_MATRIX)LIS_V2P(Aout); *ierr = lis_matrix_convert(AAin,AAout); *Aout = LIS_P2V(AAout); LIS_DEBUG_FUNC_OUT; return; }