diff --git a/test_conformance/math_brute_force/function_list.cpp b/test_conformance/math_brute_force/function_list.cpp index 408a394afa..d9249ee415 100644 --- a/test_conformance/math_brute_force/function_list.cpp +++ b/test_conformance/math_brute_force/function_list.cpp @@ -426,6 +426,7 @@ const Func functionList[] = { // basic operations OPERATOR_ENTRY(add, "+", 0.0f, 0.0f, 0.0f, 0.0f, FTZ_OFF, binaryOperatorF), OPERATOR_ENTRY(subtract, "-", 0.0f, 0.0f, 0.0f, 0.0f, FTZ_OFF, binaryOperatorF), + OPERATOR_ENTRY(negation, "-", 0.0f, 0.0f, 0.0f, 0.0f, FTZ_OFF, unaryOF), { "reciprocal", "reciprocal", { (void*)reference_reciprocal }, diff --git a/test_conformance/math_brute_force/main.cpp b/test_conformance/math_brute_force/main.cpp index a395488cd5..d4c388866c 100644 --- a/test_conformance/math_brute_force/main.cpp +++ b/test_conformance/math_brute_force/main.cpp @@ -359,6 +359,7 @@ DO_TEST(half_sqrt) DO_TEST(half_tan) DO_TEST(add) DO_TEST(subtract) +DO_TEST(negation) DO_TEST(reciprocal) DO_TEST(divide) DO_TEST(divide_cr) diff --git a/test_conformance/math_brute_force/reference_math.cpp b/test_conformance/math_brute_force/reference_math.cpp index a66e6f7e55..8742bc7077 100644 --- a/test_conformance/math_brute_force/reference_math.cpp +++ b/test_conformance/math_brute_force/reference_math.cpp @@ -962,6 +962,8 @@ double reference_subtract(double x, double y) return a; } +double reference_negation(double v) { return -v; } + double reference_multiply(double x, double y) { volatile float a = (float)x; @@ -3207,6 +3209,8 @@ long double reference_subtractl(long double x, long double y) return (long double)a; } +long double reference_negationl(long double v) { return -v; } + long double reference_multiplyl(long double x, long double y) { volatile double a = (double)x; diff --git a/test_conformance/math_brute_force/reference_math.h b/test_conformance/math_brute_force/reference_math.h index b740787ff5..7e64a5acf2 100644 --- a/test_conformance/math_brute_force/reference_math.h +++ b/test_conformance/math_brute_force/reference_math.h @@ -64,6 +64,7 @@ double reference_modf(double, double* n); double reference_fdim(double, double); double reference_add(double, double); double reference_subtract(double, double); +double reference_negation(double v); double reference_divide(double, double); double reference_multiply(double, double); double reference_remquo(double, double, int*); @@ -183,6 +184,7 @@ long double reference_modfl(long double, long double* n); long double reference_fdiml(long double, long double); long double reference_addl(long double, long double); long double reference_subtractl(long double, long double); +long double reference_negationl(long double); long double reference_dividel(long double, long double); long double reference_multiplyl(long double, long double); long double reference_remquol(long double, long double, int*);