Program Listing for File sparse/array/gauss/base.h#

Return to documentation for file (oti/sparse/array/gauss/base.h)

#ifndef OTI_SPARSE_ARRAY_GAUSS_BASE_H
#define OTI_SPARSE_ARRAY_GAUSS_BASE_H




void      fearrso_get_order_im_to( ord_t order, fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
fearrso_t fearrso_get_order_im(    ord_t order, fearrso_t* arr,                 dhelpl_t dhl);

fearrso_t fearrso_get_deriv(   imdir_t idx, ord_t order, fearrso_t* arr,                 dhelpl_t dhl);
void      fearrso_get_deriv_to(imdir_t idx, ord_t order, fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

fearrso_t fearrso_get_im(      imdir_t idx, ord_t order, fearrso_t* arr,                 dhelpl_t dhl);
void      fearrso_get_im_to(   imdir_t idx, ord_t order, fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

fearrso_t fearrso_truncate_im(   imdir_t idx, ord_t order, fearrso_t* arr,                 dhelpl_t dhl);
void      fearrso_truncate_im_to(imdir_t idx, ord_t order, fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

fearrso_t fearrso_truncate_order(   ord_t ord, fearrso_t* arr,                 dhelpl_t dhl);
void      fearrso_truncate_order_to(ord_t ord, fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------



/**************************************************************************************************/
fearrso_t fearrso_copy(   fearrso_t* src,                 dhelpl_t dhl);
void      fearrso_copy_to(fearrso_t* src, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------


/**************************************************************************************************/
fearrso_t fearrso_get_im(    imdir_t idx, ord_t order, fearrso_t* arr,                 dhelpl_t dhl);
void      fearrso_get_im_to( imdir_t idx, ord_t order, fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_get_deriv(    imdir_t idx, ord_t order, fearrso_t* arr,                 dhelpl_t dhl);
void      fearrso_get_deriv_to( imdir_t idx, ord_t order, fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------




/**************************************************************************************************/
fearrso_t fearrso_extract_im(    imdir_t idx, ord_t order, fearrso_t* arr,                  dhelpl_t dhl);
void      fearrso_extract_im_to( imdir_t idx, ord_t order, fearrso_t* arr,  fearrso_t* res, dhelpl_t dhl);

fearrso_t fearrso_extract_deriv(    imdir_t idx, ord_t order, fearrso_t* arr,                 dhelpl_t dhl);
void      fearrso_extract_deriv_to( imdir_t idx, ord_t order, fearrso_t* arr, fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------






/**************************************************************************************************/
arrso_t   fearrso_get_item_k(  fearrso_t* arr, uint64_t k,                         dhelpl_t dhl);
fesoti_t  fearrso_get_item_ij( fearrso_t* arr, uint64_t i, uint64_t j,             dhelpl_t dhl);
sotinum_t fearrso_get_item_ijk(fearrso_t* arr, uint64_t i, uint64_t j, uint64_t k, dhelpl_t dhl);

void fearrso_get_item_ij_to(  fearrso_t* arr, uint64_t i, uint64_t j,
                               fesoti_t* res, dhelpl_t dhl);

void fearrso_get_item_k_to(   fearrso_t* arr, uint64_t k,
                                arrso_t* res, dhelpl_t dhl);

void fearrso_get_item_ijk_to( fearrso_t* arr, uint64_t i, uint64_t j, uint64_t k,
                              sotinum_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
fearrso_t fearrso_get_slice(fearrso_t* arr,
                          int64_t starti, int64_t stopi, int64_t stepi,
                          int64_t startj, int64_t stopj, int64_t stepj,
                           dhelpl_t dhl);

void      fearrso_get_slice_to(fearrso_t* arr,
                          int64_t starti, int64_t stopi, int64_t stepi,
                          int64_t startj, int64_t stopj, int64_t stepj,
                          fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------















/**************************************************************************************************/
void fearrso_set_item_ij_r(   coeff_t  elm, uint64_t i, uint64_t j,
                            fearrso_t* res, dhelpl_t dhl);

void fearrso_set_item_ij_o(  sotinum_t* elm, uint64_t i, uint64_t j,
                             fearrso_t* res, dhelpl_t dhl);

void fearrso_set_item_ij_f(  fesoti_t* elm, uint64_t i, uint64_t j,
                            fearrso_t* res, dhelpl_t dhl);

void fearrso_set_item_k_r(    coeff_t  elm, uint64_t k,
                            fearrso_t* res, dhelpl_t dhl);

void fearrso_set_item_k_o(  sotinum_t* elm, uint64_t k,
                            fearrso_t* res, dhelpl_t dhl);

void fearrso_set_item_k_R(    arrso_t* elm, uint64_t k,
                          fearrso_t* res, dhelpl_t dhl);

void fearrso_set_item_k_O(    arrso_t* elm, uint64_t k,
                          fearrso_t* res, dhelpl_t dhl);

void fearrso_set_item_ijk_r(   coeff_t  elm, uint64_t i, uint64_t j, uint64_t k,
                             fearrso_t* res, dhelpl_t dhl);

void fearrso_set_item_ijk_o( sotinum_t* elm, uint64_t i, uint64_t j, uint64_t k,
                             fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------







/**************************************************************************************************/
void fearrso_set_slice_r( coeff_t val,
                         int64_t starti, int64_t stopi, int64_t stepi,
                         int64_t startj, int64_t stopj, int64_t stepj,
                          fearrso_t* res, dhelpl_t dhl);
void fearrso_set_slice_o( sotinum_t* val,
                         int64_t starti, int64_t stopi, int64_t stepi,
                         int64_t startj, int64_t stopj, int64_t stepj,
                          fearrso_t* res, dhelpl_t dhl);
void fearrso_set_slice_f( fesoti_t* val,
                         int64_t starti, int64_t stopi, int64_t stepi,
                         int64_t startj, int64_t stopj, int64_t stepj,
                          fearrso_t* res, dhelpl_t dhl);
void fearrso_set_slice_O( arrso_t* val,
                         int64_t starti, int64_t stopi, int64_t stepi,
                         int64_t startj, int64_t stopj, int64_t stepj,
                          fearrso_t* res, dhelpl_t dhl);
void fearrso_set_slice_F( fearrso_t* val,
                         int64_t starti, int64_t stopi, int64_t stepi,
                         int64_t startj, int64_t stopj, int64_t stepj,
                          fearrso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------





/**************************************************************************************************/
void fearrso_set_all_o( sotinum_t* num, fearrso_t* arr, dhelpl_t dhl );
void fearrso_set_all_r(   coeff_t  num, fearrso_t* arr, dhelpl_t dhl );
void fearrso_set_all_f(  fesoti_t* num, fearrso_t* arr, dhelpl_t dhl );

void fearrso_set_r(    coeff_t src, fearrso_t* res, dhelpl_t dhl );
void fearrso_set_o( sotinum_t* src, fearrso_t* res, dhelpl_t dhl );
void fearrso_set_f(  fesoti_t* src, fearrso_t* res, dhelpl_t dhl );

void fearrso_set_R(    darr_t* src, fearrso_t* res, dhelpl_t dhl );
void fearrso_set_O(   arrso_t* src, fearrso_t* res, dhelpl_t dhl );
void fearrso_set_F( fearrso_t* src, fearrso_t* res, dhelpl_t dhl );

// ----------------------------------------------------------------------------------------------------


/**************************************************************************************************/
fearrso_t fearrso_eye_bases( uint64_t size,
                               uint64_t nip, bases_t  nbases,
                               ord_t    order,   dhelpl_t dhl     );
// ----------------------------------------------------------------------------------------------------


/**************************************************************************************************/
fearrso_t fearrso_zeros_bases( uint64_t nrows,   uint64_t ncols,
                               // uint64_t offsetx, uint64_t offsety,
                               uint64_t nIntPts, bases_t  nbases,
                               ord_t    order,   dhelpl_t dhl     );
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
fearrso_t fearrso_ones_bases( uint64_t nrows,   uint64_t ncols,
                               uint64_t nip, bases_t  nbases,
                               ord_t    order,   dhelpl_t dhl     );
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
fearrso_t fearrso_createEmpty_bases( uint64_t nrows,   uint64_t ncols,
                                     // uint64_t offsetx, uint64_t offsety,
                                     uint64_t nIntPts, bases_t  nbases,
                                     ord_t    order,   dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
void fearrso_free(fearrso_t* arr);
// ----------------------------------------------------------------------------------------------------

/**************************************************************************************************/
fearrso_t fearrso_init(void);
// ----------------------------------------------------------------------------------------------------


/**************************************************************************************************/
ord_t fearrso_get_order(fearrso_t* arr);
// ----------------------------------------------------------------------------------------------------







#endif