Esempio n. 1
0
struct sidl_double__array*
impl_csdms_model_Sedflux2d_get_grid_origin(
  /* 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_origin) */
    GET_PRIVATE_DATA(this);
    struct sidl_double__array* origin = NULL;
    int rank;

    rank = PRIVATE_METHOD(get_grid_rank)(self, long_var_name, _ex);

    origin = sidl_double__array_create1d(rank);

    CALL_BMI(Get_grid_origin, this->state, long_var_name,
        sidl_double__array_first(origin));

    return origin;

EXIT:

    return NULL;
    /* DO-NOT-DELETE splicer.end(csdms.model.Sedflux2d.get_grid_origin) */
  }
}
Esempio n. 2
0
struct sidl_double__array*
impl_csdms_model_Avulsion_get_grid_spacing(
  /* in */ csdms_model_Avulsion self,
  /* in */ const char* long_var_name,
  /* out */ sidl_BaseInterface *_ex)
{
  *_ex = 0;
  {
    /* DO-NOT-DELETE splicer.begin(csdms.model.Avulsion.get_grid_spacing) */
    GET_PRIVATE_DATA(this);
    struct sidl_double__array* spacing = NULL;
    int rank;

    rank = PRIVATE_METHOD(get_grid_rank)(self, long_var_name, _ex);

    spacing = sidl_double__array_create1d(rank);

    CALL_BMI(Get_grid_spacing, this->state, long_var_name,
        sidl_double__array_first(spacing));

    return spacing;

  EXIT:;

    return NULL;
    /* DO-NOT-DELETE splicer.end(csdms.model.Avulsion.get_grid_spacing) */
  }
}
Esempio n. 3
0
void
SIDLFortran77Symbol(sidl_double__array_create1d_f,
                    SIDL_DOUBLE__ARRAY_CREATE1D_F,
                    sidl_double__array_create1d_f)
  (int32_t *len, int64_t *result)
{
  *result = (ptrdiff_t)
    sidl_double__array_create1d(*len);
}
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) */
  }
}