Program Listing for File dense/array/algebra_elementwise.h#
↰ Return to documentation for file (oti/dense/array/algebra_elementwise.h)
#ifndef OTI_DENSE_ARRAY_ALGEBRA_ELEMENTWISE_H
#define OTI_DENSE_ARRAY_ALGEBRA_ELEMENTWISE_H
// ----------------------------------------------------------------------------------------------------
// -------------------------------------- ARRAY OPERATIONS --------------------------------------
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
oarr_t oarr_neg( oarr_t* arr, dhelpl_t dhl);
void oarr_neg_to(oarr_t* arr, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------------------
// ----------------------------------- END ARRAY OPERATIONS --------------------------------------
// ----------------------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------------------
// -------------------------------------- ARRAY - ARRAY OPERATIONS ------------------------------------
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
oarr_t oarr_sum_OO(oarr_t* lhs, oarr_t* rhs, dhelpl_t dhl);
oarr_t oarr_sum_RO(darr_t* lhs, oarr_t* rhs, dhelpl_t dhl);
void oarr_sum_OO_to(oarr_t* lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
void oarr_sum_RO_to(darr_t* lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
oarr_t oarr_sub_OO(oarr_t* arr1, oarr_t* arr2, dhelpl_t dhl);
oarr_t oarr_sub_RO(darr_t* arr1, oarr_t* arr2, dhelpl_t dhl);
oarr_t oarr_sub_OR(oarr_t* arr1, darr_t* arr2, dhelpl_t dhl);
void oarr_sub_OO_to(oarr_t* arr1, oarr_t* arr2, oarr_t* res, dhelpl_t dhl);
void oarr_sub_RO_to(darr_t* arr1, oarr_t* arr2, oarr_t* res, dhelpl_t dhl);
void oarr_sub_OR_to(oarr_t* arr1, darr_t* arr2, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
oarr_t oarr_mul_OO(oarr_t* arr1, oarr_t* arr2, dhelpl_t dhl);
oarr_t oarr_mul_RO(darr_t* arr1, oarr_t* arr2, dhelpl_t dhl);
void oarr_mul_OO_to(oarr_t* arr1, oarr_t* arr2, oarr_t* res, dhelpl_t dhl);
void oarr_mul_RO_to(darr_t* arr1, oarr_t* arr2, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
oarr_t oarr_div_OO(oarr_t* arr1, oarr_t* arr2, dhelpl_t dhl);
oarr_t oarr_div_RO(darr_t* arr1, oarr_t* arr2, dhelpl_t dhl);
oarr_t oarr_div_OR(oarr_t* arr1, darr_t* arr2, dhelpl_t dhl);
void oarr_div_OO_to(oarr_t* arr1, oarr_t* arr2, oarr_t* res, dhelpl_t dhl);
void oarr_div_RO_to(darr_t* arr1, oarr_t* arr2, oarr_t* res, dhelpl_t dhl);
void oarr_div_OR_to(oarr_t* arr1, darr_t* arr2, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------------------
// -------------------------------- END ARRAY - ARRAY OPERATIONS ---------------------------------
// ----------------------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------------------
// --------------------------------- SCALAR - ARRAY OPERATIONS ------------------------------
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
oarr_t oarr_sum_oO(otinum_t* num, oarr_t* arr1, dhelpl_t dhl);
oarr_t oarr_sum_rO(coeff_t num, oarr_t* arr1, dhelpl_t dhl);
void oarr_sum_oO_to(otinum_t* num, oarr_t* arr1, oarr_t* res, dhelpl_t dhl);
void oarr_sum_rO_to(coeff_t num, oarr_t* arr1, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
oarr_t oarr_sub_oO(otinum_t* lhs, oarr_t* rhs, dhelpl_t dhl);
oarr_t oarr_sub_Oo( oarr_t* lhs, otinum_t* rhs, dhelpl_t dhl);
oarr_t oarr_sub_rO( coeff_t lhs, oarr_t* rhs, dhelpl_t dhl);
oarr_t oarr_sub_Or( oarr_t* lhs, coeff_t rhs, dhelpl_t dhl);
void oarr_sub_oO_to(otinum_t* lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
void oarr_sub_Oo_to( oarr_t* lhs, otinum_t* rhs, oarr_t* res, dhelpl_t dhl);
void oarr_sub_rO_to( coeff_t lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
void oarr_sub_Or_to( oarr_t* lhs, coeff_t rhs, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
oarr_t oarr_mul_oO(otinum_t* lhs, oarr_t* rhs, dhelpl_t dhl);
oarr_t oarr_mul_rO( coeff_t lhs, oarr_t* rhs, dhelpl_t dhl);
void oarr_mul_oO_to(otinum_t* lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
void oarr_mul_rO_to( coeff_t lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
/**************************************************************************************************/
oarr_t oarr_div_oO(otinum_t* lhs, oarr_t* rhs, dhelpl_t dhl);
oarr_t oarr_div_Oo( oarr_t* lhs, otinum_t* rhs, dhelpl_t dhl);
oarr_t oarr_div_rO( coeff_t lhs, oarr_t* rhs, dhelpl_t dhl);
oarr_t oarr_div_Or( oarr_t* lhs, coeff_t rhs, dhelpl_t dhl);
void oarr_div_oO_to(otinum_t* lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
void oarr_div_Oo_to( oarr_t* lhs, otinum_t* rhs, oarr_t* res, dhelpl_t dhl);
void oarr_div_rO_to( coeff_t lhs, oarr_t* rhs, oarr_t* res, dhelpl_t dhl);
void oarr_div_Or_to( oarr_t* lhs, coeff_t rhs, oarr_t* res, dhelpl_t dhl);
// ----------------------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------------------
// ------------------------------ END SCALAR - ARRAY OPERATIONS ------------------------------
// ----------------------------------------------------------------------------------------------------
#endif