Program Listing for File dense/array/utils.h#
↰ Return to documentation for file (oti/dense/array/utils.h)
#ifndef OTI_DENSE_ARRAY_UTILS_H
#define OTI_DENSE_ARRAY_UTILS_H
/**************************************************************************************************/
void dhelp_oarr_mul_RI(oarr_t* lhs, oarr_t* rhs, ord_t ord_rhs, oarr_t* res, dhelpl_t dhl );
void dhelp_oarr_mul_RR(oarr_t* lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
void dhelp_oarr_mul_II(oarr_t* lhs, ord_t ord_lhs, // Left hand side.
oarr_t* rhs, ord_t ord_rhs, // Right hand side.
oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
void dhelp_oarr_mul_rR(otinum_t* lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
void dhelp_oarr_mul_rI(otinum_t* lhs, oarr_t* rhs, ord_t ord_rhs, oarr_t* res, dhelpl_t dhl );
void dhelp_oarr_mul_Ri( oarr_t* lhs, otinum_t* rhs, ord_t ord_rhs, oarr_t* res, dhelpl_t dhl );
void dhelp_oarr_mul_iI(otinum_t* lhs, ord_t ord_lhs, oarr_t* rhs, ord_t ord_rhs, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
void dhelp_oarr_matmul_II(oarr_t* lhs, ord_t ord_lhs, // Input 1
oarr_t* rhs, ord_t ord_rhs, // Input 2
oarr_t* res, // Result
dhelpl_t dhl);
void dhelp_oarr_matmul_IR(oarr_t* lhs, oarr_t* rhs, ord_t ord_rhs, oarr_t* res, dhelpl_t dhl );
void dhelp_oarr_matmul_RI(oarr_t* lhs, oarr_t* rhs, ord_t ord_rhs, oarr_t* res, dhelpl_t dhl );
void dhelp_oarr_matmul_RR(oarr_t* lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
void oarr_trc_self_mul_r( darr_t* a, ord_t ord, oarr_t* res, dhelpl_t dhl);
void oarr_trc_self_sum( oarr_t* arr, ord_t ord, oarr_t* res, dhelpl_t dhl );
void oarr_trc_mul( oarr_t* arr1, ord_t ord1, oarr_t* arr2, ord_t ord2, oarr_t* res, dhelpl_t dhl );
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
void oarr_trunc_mul( oarr_t* lhs, ord_t ord_lhs, // LHS
oarr_t* rhs, ord_t ord_rhs, // RHS
oarr_t* res, dhelpl_t dhl );
// ----------------------------------------------------------------------------------------------------
#endif