Program Listing for File semisparse/array/gauss/base.h#
↰ Return to documentation for file (oti/semisparse/array/gauss/base.h)
#ifndef OTI_SEMISPARSE_ARRAY_GAUSS_BASE_H
#define OTI_SEMISPARSE_ARRAY_GAUSS_BASE_H
void fearrsso_get_order_im_to( ord_t order, fearrsso_t* arr, fearrsso_t* res, dhelpl_t dhl);
fearrsso_t fearrsso_get_order_im( ord_t order, fearrsso_t* arr, dhelpl_t dhl);
fearrsso_t fearrsso_get_deriv( imdir_t idx, ord_t order, fearrsso_t* arr, dhelpl_t dhl);
void fearrsso_get_deriv_to(imdir_t idx, ord_t order, fearrsso_t* arr, fearrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
fearrsso_t fearrsso_get_im( imdir_t idx, ord_t order, fearrsso_t* arr, dhelpl_t dhl);
void fearrsso_get_im_to( imdir_t idx, ord_t order, fearrsso_t* arr, fearrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
fearrsso_t fearrsso_truncate_im( imdir_t idx, ord_t order, fearrsso_t* arr, dhelpl_t dhl);
void fearrsso_truncate_im_to(imdir_t idx, ord_t order, fearrsso_t* arr, fearrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
fearrsso_t fearrsso_copy( fearrsso_t* src, dhelpl_t dhl);
void fearrsso_copy_to(fearrsso_t* src, fearrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
fearrsso_t fearrsso_get_im( imdir_t idx, ord_t order, fearrsso_t* arr, dhelpl_t dhl);
void fearrsso_get_im_to( imdir_t idx, ord_t order, fearrsso_t* arr, fearrsso_t* res, dhelpl_t dhl);
fearrsso_t fearrsso_get_deriv( imdir_t idx, ord_t order, fearrsso_t* arr, dhelpl_t dhl);
void fearrsso_get_deriv_to( imdir_t idx, ord_t order, fearrsso_t* arr, fearrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
fearrsso_t fearrsso_extract_im( imdir_t idx, ord_t order, fearrsso_t* arr, dhelpl_t dhl);
void fearrsso_extract_im_to( imdir_t idx, ord_t order, fearrsso_t* arr, fearrsso_t* res, dhelpl_t dhl);
fearrsso_t fearrsso_extract_deriv( imdir_t idx, ord_t order, fearrsso_t* arr, dhelpl_t dhl);
void fearrsso_extract_deriv_to( imdir_t idx, ord_t order, fearrsso_t* arr, fearrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
arrsso_t fearrsso_get_item_k( fearrsso_t* arr, uint64_t k, dhelpl_t dhl);
fessoti_t fearrsso_get_item_ij( fearrsso_t* arr, uint64_t i, uint64_t j, dhelpl_t dhl);
semiotin_t fearrsso_get_item_ijk(fearrsso_t* arr, uint64_t i, uint64_t j, uint64_t k, dhelpl_t dhl);
void fearrsso_get_item_ij_to( fearrsso_t* arr, uint64_t i, uint64_t j,
fessoti_t* res, dhelpl_t dhl);
void fearrsso_get_item_k_to( fearrsso_t* arr, uint64_t k,
arrsso_t* res, dhelpl_t dhl);
void fearrsso_get_item_ijk_to( fearrsso_t* arr, uint64_t i, uint64_t j, uint64_t k,
semiotin_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
fearrsso_t fearrsso_get_slice(fearrsso_t* arr,
int64_t starti, int64_t stopi, int64_t stepi,
int64_t startj, int64_t stopj, int64_t stepj,
dhelpl_t dhl);
void fearrsso_get_slice_to(fearrsso_t* arr,
int64_t starti, int64_t stopi, int64_t stepi,
int64_t startj, int64_t stopj, int64_t stepj,
fearrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
void fearrsso_set_item_ij_r( coeff_t elm, uint64_t i, uint64_t j,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_item_ij_o( semiotin_t* elm, uint64_t i, uint64_t j,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_item_ij_f( fessoti_t* elm, uint64_t i, uint64_t j,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_item_k_r( coeff_t elm, uint64_t k,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_item_k_o( semiotin_t* elm, uint64_t k,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_item_k_R( arrsso_t* elm, uint64_t k,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_item_k_O( arrsso_t* elm, uint64_t k,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_item_ijk_r( coeff_t elm, uint64_t i, uint64_t j, uint64_t k,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_item_ijk_o( semiotin_t* elm, uint64_t i, uint64_t j, uint64_t k,
fearrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
void fearrsso_set_slice_r( coeff_t val,
int64_t starti, int64_t stopi, int64_t stepi,
int64_t startj, int64_t stopj, int64_t stepj,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_slice_o( semiotin_t* val,
int64_t starti, int64_t stopi, int64_t stepi,
int64_t startj, int64_t stopj, int64_t stepj,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_slice_f( fessoti_t* val,
int64_t starti, int64_t stopi, int64_t stepi,
int64_t startj, int64_t stopj, int64_t stepj,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_slice_O( arrsso_t* val,
int64_t starti, int64_t stopi, int64_t stepi,
int64_t startj, int64_t stopj, int64_t stepj,
fearrsso_t* res, dhelpl_t dhl);
void fearrsso_set_slice_F( fearrsso_t* val,
int64_t starti, int64_t stopi, int64_t stepi,
int64_t startj, int64_t stopj, int64_t stepj,
fearrsso_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
void fearrsso_set_all_o( semiotin_t* num, fearrsso_t* arr, dhelpl_t dhl );
void fearrsso_set_all_r( coeff_t num, fearrsso_t* arr, dhelpl_t dhl );
void fearrsso_set_all_f( fessoti_t* num, fearrsso_t* arr, dhelpl_t dhl );
void fearrsso_set_r( coeff_t src, fearrsso_t* res, dhelpl_t dhl );
void fearrsso_set_o( semiotin_t* src, fearrsso_t* res, dhelpl_t dhl );
void fearrsso_set_f( fessoti_t* src, fearrsso_t* res, dhelpl_t dhl );
void fearrsso_set_R( darr_t* src, fearrsso_t* res, dhelpl_t dhl );
void fearrsso_set_O( arrsso_t* src, fearrsso_t* res, dhelpl_t dhl );
void fearrsso_set_F( fearrsso_t* src, fearrsso_t* res, dhelpl_t dhl );
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
fearrsso_t fearrsso_eye_bases( uint64_t size,
uint64_t nip, bases_t nbases,
ord_t order, dhelpl_t dhl );
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
fearrsso_t fearrsso_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 );
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
fearrsso_t fearrsso_ones_bases( uint64_t nrows, uint64_t ncols,
uint64_t nip, bases_t nbases,
ord_t order, dhelpl_t dhl );
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
fearrsso_t fearrsso_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 fearrsso_free(fearrsso_t* arr);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
fearrsso_t fearrsso_init(void);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
ord_t fearrsso_get_order(fearrsso_t* arr);
// ----------------------------------------------------------------------------------------------------
#endif