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