struct sidl_int__array* impl_csdms_model_Sedflux2d_get_grid_shape( /* in */ csdms_model_Sedflux2d self, /* in */ const char* long_var_name, /* out */ sidl_BaseInterface *_ex) { *_ex = 0; { /* DO-NOT-DELETE splicer.begin(csdms.model.Sedflux2d.get_grid_shape) */ GET_PRIVATE_DATA(this); struct sidl_int__array* shape = NULL; int rank; rank = PRIVATE_METHOD(get_grid_rank)(self, long_var_name, _ex); shape = sidl_int__array_create1d(rank); CALL_BMI(Get_grid_shape, this->state, long_var_name, sidl_int__array_first(shape)); return shape; EXIT:; return NULL; /* DO-NOT-DELETE splicer.end(csdms.model.Sedflux2d.get_grid_shape) */ } }
int32_t impl_bHYPRE_IJParCSRMatrix_GetRow( /* in */ bHYPRE_IJParCSRMatrix self, /* in */ int32_t row, /* out */ int32_t* size, /* out array<int,column-major> */ struct sidl_int__array** col_ind, /* out array<double,column-major> */ struct sidl_double__array** values, /* out */ sidl_BaseInterface *_ex) { *_ex = 0; { /* DO-NOT-DELETE splicer.begin(bHYPRE.IJParCSRMatrix.GetRow) */ /* Insert the implementation of the GetRow method here... */ int ierr=0; void * object; struct bHYPRE_IJParCSRMatrix__data * data; HYPRE_IJMatrix ij_A; HYPRE_ParCSRMatrix bHYPREP_A; int * iindices[1]; double * dvalues[1]; data = bHYPRE_IJParCSRMatrix__get_data( self ); ij_A = data -> ij_A; ierr += HYPRE_IJMatrixGetObject( ij_A, &object ); bHYPREP_A = (HYPRE_ParCSRMatrix) object; *col_ind = sidl_int__array_create1d( size[0] ); *values = sidl_double__array_create1d( size[0] ); *iindices = sidlArrayAddr1( *col_ind, 0 ); *dvalues = sidlArrayAddr1( *values, 0 ); /* RestoreRow doesn't do anything but reset a parameter. Its * function is to make sure the user who calls GetRow is aware that * the data in the output arrays will be changed. */ HYPRE_ParCSRMatrixRestoreRow( bHYPREP_A, row, size, iindices, dvalues ); ierr += HYPRE_ParCSRMatrixGetRow( bHYPREP_A, row, size, iindices, dvalues ); return( ierr ); /* DO-NOT-DELETE splicer.end(bHYPRE.IJParCSRMatrix.GetRow) */ } }