![]() |
|
#include "packetmath_test_shared.h"
#include "random_without_cast_overflow.h"
#include "packet_ostream.h"
Namespaces | |
Eigen | |
Namespace containing all symbols from the Eigen library. | |
Eigen::test | |
Macros | |
#define | CREATE_FUNCTOR(Name, Func) |
#define | CAST_CHECK_CWISE1_IF(COND, REFOP, POP, SCALAR, REFTYPE) |
Functions | |
template<typename T > | |
T | REF_ADD (const T &a, const T &b) |
template<typename T > | |
T | REF_SUB (const T &a, const T &b) |
template<typename T > | |
T | REF_MUL (const T &a, const T &b) |
template<typename T > | |
T | REF_MADD (const T &a, const T &b, const T &c) |
template<typename T > | |
T | REF_MSUB (const T &a, const T &b, const T &c) |
template<typename T > | |
T | REF_NMADD (const T &a, const T &b, const T &c) |
template<typename T > | |
T | REF_NMSUB (const T &a, const T &b, const T &c) |
template<typename T > | |
T | REF_DIV (const T &a, const T &b) |
template<typename T > | |
T | REF_RECIPROCAL (const T &a) |
template<typename T > | |
T | REF_ABS_DIFF (const T &a, const T &b) |
template<> | |
bool | REF_ADD (const bool &a, const bool &b) |
template<> | |
bool | REF_SUB (const bool &a, const bool &b) |
template<> | |
bool | REF_MUL (const bool &a, const bool &b) |
template<> | |
bool | REF_MADD (const bool &a, const bool &b, const bool &c) |
template<typename T > | |
T | REF_FREXP (const T &x, T &exp) |
template<typename T > | |
T | REF_LDEXP (const T &x, const T &exp) |
template<typename Scalar , typename Packet > | |
void | packetmath_boolean_mask_ops () |
template<typename Scalar , typename Packet > | |
void | packetmath_boolean_mask_ops_real () |
template<typename Scalar , typename Packet > | |
void | negate_test (Scalar *data1, Scalar *data2, Scalar *ref, int size) |
template<typename Scalar , typename Packet > | |
void | nmsub_test (Scalar *data1, Scalar *data2, Scalar *ref, int size) |
template<typename Scalar , typename Packet > | |
void | packetmath () |
template<typename Scalar > | |
Scalar | log2 (Scalar x) |
CREATE_FUNCTOR (psqrt_functor, internal::psqrt) | |
CREATE_FUNCTOR (prsqrt_functor, internal::prsqrt) | |
template<bool Cond, typename Scalar , typename Packet , typename RefFunctorT , typename FunctorT > | |
void | packetmath_test_IEEE_corner_cases (const RefFunctorT &ref_fun, const FunctorT &fun) |
template<typename Scalar , typename Packet > | |
void | packetmath_real () |
template<typename Scalar > | |
Scalar | propagate_nan_max (const Scalar &a, const Scalar &b) |
template<typename Scalar > | |
Scalar | propagate_nan_min (const Scalar &a, const Scalar &b) |
template<typename Scalar > | |
Scalar | propagate_number_max (const Scalar &a, const Scalar &b) |
template<typename Scalar > | |
Scalar | propagate_number_min (const Scalar &a, const Scalar &b) |
template<typename Scalar , typename Packet > | |
void | packetmath_notcomplex () |
template<typename Scalar , typename Packet , bool ConjLhs, bool ConjRhs> | |
void | test_conj_helper (Scalar *data1, Scalar *data2, Scalar *ref, Scalar *pval) |
template<typename Scalar , typename Packet > | |
void | exp_complex_test (Scalar *data1, Scalar *data2, Scalar *ref, int size) |
template<typename Scalar , typename Packet > | |
void | packetmath_complex () |
template<typename Scalar , typename Packet > | |
void | packetmath_scatter_gather () |
EIGEN_DECLARE_TEST (packetmath) | |
#define CAST_CHECK_CWISE1_IF | ( | COND, | |
REFOP, | |||
POP, | |||
SCALAR, | |||
REFTYPE | |||
) |
#define CREATE_FUNCTOR | ( | Name, | |
Func | |||
) |
CREATE_FUNCTOR | ( | prsqrt_functor | , |
internal::prsqrt | |||
) |
CREATE_FUNCTOR | ( | psqrt_functor | , |
internal::psqrt | |||
) |
EIGEN_DECLARE_TEST | ( | packetmath | ) |
References CALL_SUBTEST_1, CALL_SUBTEST_10, CALL_SUBTEST_11, CALL_SUBTEST_12, CALL_SUBTEST_13, CALL_SUBTEST_14, CALL_SUBTEST_15, CALL_SUBTEST_2, CALL_SUBTEST_3, CALL_SUBTEST_4, CALL_SUBTEST_5, CALL_SUBTEST_6, CALL_SUBTEST_7, CALL_SUBTEST_8, CALL_SUBTEST_9, g_first_pass, Eigen::g_repeat, i, packetmath(), and run().
void exp_complex_test | ( | Scalar * | data1, |
Scalar * | data2, | ||
Scalar * | ref, | ||
int | size | ||
) |
References exp_complex_test_impl< Scalar, Packet, HasExp >::run(), and size.
References EIGEN_LOG2E, Eigen::bfloat16_impl::log(), and plotDoE::x.
Referenced by array_complex(), array_real(), bench(), calc_overflow_threshold(), packetmath_real(), Eigen::internal::default_digits_impl< T, false, false >::run(), and PSD::setDistributionPhiNormal().
void negate_test | ( | Scalar * | data1, |
Scalar * | data2, | ||
Scalar * | ref, | ||
int | size | ||
) |
References negate_test_impl< Scalar, Packet, HasNegate >::run_negate(), and size.
void nmsub_test | ( | Scalar * | data1, |
Scalar * | data2, | ||
Scalar * | ref, | ||
int | size | ||
) |
References negate_test_impl< Scalar, Packet, HasNegate >::run_nmsub(), and size.
void packetmath | ( | ) |
References abs(), Eigen::test::areApprox(), Global_Parameters::blend(), CHECK_CWISE1, CHECK_CWISE1_IF, CHECK_CWISE2_IF, CHECK_CWISE3_IF, conj(), EIGEN_ALIGN_MAX, g_first_pass, i, Eigen::internal::isApprox(), Eigen::test::isApproxAbs(), j, k, max, N, plotDoE::name, padd(), Eigen::internal::pand(), Eigen::internal::pblend(), Eigen::internal::pconj(), Eigen::internal::pdiv(), Eigen::internal::pfirst(), Eigen::internal::pmadd(), Eigen::internal::pmsub(), Eigen::internal::pmul(), Eigen::internal::pnmadd(), Eigen::internal::por(), Eigen::bfloat16_impl::pow(), Eigen::internal::preciprocal(), Eigen::internal::predux(), Eigen::internal::predux_half_dowto4(), Eigen::internal::predux_mul(), Eigen::internal::preverse(), Eigen::internal::prsqrt(), Eigen::internal::pselect(), Eigen::internal::psign(), Eigen::internal::psqrt(), Eigen::internal::pstore(), Eigen::internal::pstore_partial(), Eigen::internal::pstoreu(), Eigen::internal::pstoreu_partial(), Eigen::internal::psub(), Eigen::internal::ptranspose(), Eigen::internal::pxor(), Eigen::internal::pzero(), REF_ADD(), REF_DIV(), REF_MADD(), REF_MSUB(), REF_MUL(), REF_NMADD(), REF_RECIPROCAL(), REF_SUB(), Eigen::numext::rsqrt(), packetmath_pcast_ops_runner< Scalar, Packet, EnableIf >::run(), packetmath_minus_zero_add_test< Scalar, Packet, EnableIf >::run(), eigen_optimization_barrier_test< Packet, EnableIf >::run(), SYCL::sign(), size, sqrt(), v, Eigen::value, and VERIFY.
Referenced by EIGEN_DECLARE_TEST().
void packetmath_boolean_mask_ops | ( | ) |
References CHECK_CWISE1, CHECK_CWISE2_IF, EIGEN_ALIGN_MAX, i, Eigen::internal::pandnot(), Eigen::internal::pcmp_eq(), Eigen::internal::ptrue(), and size.
void packetmath_boolean_mask_ops_real | ( | ) |
References CHECK_CWISE2_IF, EIGEN_ALIGN_MAX, i, Eigen::internal::pcmp_lt_or_nan(), and size.
void packetmath_complex | ( | ) |
References Eigen::test::areApprox(), CHECK_CWISE1_IF, CHECK_CWISE1_IM1ULP_N, CHECK_CWISE1_N, EIGEN_ALIGN_MAX, i, imag(), constants::inf, j, Eigen::bfloat16_impl::log(), Eigen::internal::pcplxflip(), Eigen::internal::plog(), Eigen::internal::psign(), Eigen::internal::psqrt(), Eigen::internal::pstore(), SYCL::sign(), size, sqrt(), VERIFY, plotDoE::x, y, and zero().
void packetmath_notcomplex | ( | ) |
References abs(), Eigen::test::areApprox(), CHECK_CWISE1, CHECK_CWISE2_IF, EIGEN_ALIGN_MAX, i, Eigen::internal::isApprox(), isnan, k, max, min, Eigen::internal::pabs(), Eigen::internal::pabsdiff(), Eigen::internal::pmax(), Eigen::internal::pmin(), Eigen::internal::predux_any(), Eigen::internal::predux_max(), Eigen::internal::predux_min(), propagate_nan_max(), propagate_nan_min(), propagate_number_max(), propagate_number_min(), Eigen::internal::pstore(), REF_ABS_DIFF(), packetmath_boolean_mask_ops_notcomplex_test< Scalar, Packet, EnableIf >::run(), Eigen::PlainObjectBase< Derived >::setRandom(), size, and VERIFY.
void packetmath_real | ( | ) |
References Eigen::numext::abs2(), acos(), Eigen::test::areApprox(), Eigen::bfloat16_impl::asin(), Eigen::bfloat16_impl::atan(), Eigen::bfloat16_impl::atanh(), Eigen::test::biteq(), Eigen::test::bits(), Eigen::bfloat16_impl::ceil(), CHECK_CWISE1_BYREF1_IF, CHECK_CWISE1_EXACT_IF, CHECK_CWISE1_IF, CHECK_CWISE2_IF, cos(), e(), EIGEN_ALIGN_MAX, EIGEN_PI, oomph::SarahBL::epsilon, Eigen::bfloat16_impl::exp(), Eigen::bfloat16_impl::exp2(), Eigen::bfloat16_impl::expm1(), Eigen::bfloat16_impl::floor(), i, constants::inf, isinf, isnan, j, k, Eigen::bfloat16_impl::log(), Eigen::bfloat16_impl::log1p(), log2(), min, Eigen::numext::mini(), Eigen::internal::pacos(), Eigen::internal::pasin(), Eigen::internal::patan(), Eigen::internal::patanh(), Eigen::internal::pceil(), Eigen::internal::pcos(), Eigen::internal::pexp(), Eigen::internal::pexp2(), Eigen::internal::pexpm1(), Eigen::internal::pfloor(), Eigen::internal::pfrexp(), Eigen::internal::pldexp(), Eigen::internal::plog(), Eigen::internal::plog1p(), Eigen::internal::plog2(), Eigen::internal::pnegate(), Eigen::bfloat16_impl::pow(), Eigen::internal::preciprocal(), Eigen::internal::print(), Eigen::internal::pround(), Eigen::internal::prsqrt(), Eigen::internal::psign(), Eigen::internal::psin(), Eigen::internal::ptan(), Eigen::internal::ptanh(), Eigen::internal::ptrunc(), REF_FREXP(), REF_LDEXP(), Eigen::bfloat16_impl::rint(), Eigen::bfloat16_impl::round(), Eigen::numext::rsqrt(), SYCL::sign(), sin(), size, Eigen::bfloat16_impl::tan(), Eigen::bfloat16_impl::tanh(), Eigen::bfloat16_impl::trunc(), compute_granudrum_aor::type, calibrate::val, Eigen::value, VERIFY, VERIFY_IS_APPROX, VERIFY_IS_EQUAL, and zero().
void packetmath_scatter_gather | ( | ) |
References EIGEN_ALIGN_MAX, i, Eigen::test::isApproxAbs(), N, Eigen::internal::pstore(), Eigen::internal::pstore_partial(), size, and VERIFY.
void packetmath_test_IEEE_corner_cases | ( | const RefFunctorT & | ref_fun, |
const FunctorT & | fun | ||
) |
References CHECK_CWISE1_IF, EIGEN_ALIGN_MAX, EIGEN_ARCH_ARM, i, isnan, max, min, size, VERIFY, and Eigen::verifyIsApprox().
References a, b, isnan, and Eigen::numext::maxi().
Referenced by packetmath_notcomplex().
References EIGEN_USING_STD, Eigen::bfloat16_impl::exp(), isfinite, out(), and plotDoE::x.
Referenced by packetmath_real().
References EIGEN_USING_STD, Eigen::bfloat16_impl::exp(), and plotDoE::x.
Referenced by packetmath_real().
References a, b, and calibrate::c.
References a, b, calibrate::c, and Eigen::test::negate().
Referenced by negate_test_impl< Scalar, Packet, HasNegate >::run_nmsub().
void test_conj_helper | ( | Scalar * | data1, |
Scalar * | data2, | ||
Scalar * | ref, | ||
Scalar * | pval | ||
) |
References Eigen::test::areApprox(), i, Eigen::internal::isApprox(), Eigen::internal::pstore(), size, tmp, and VERIFY.