1515// ==================================================================================================
1616// Types tests
1717// ==================================================================================================
18- TTS_CASE_TPL (" Check return types of secd" , eve::test::simd::ieee_reals )
18+ TTS_CASE_TPL (" Check return types of secd" , eve::test::simd::ieee_reals_wf16 )
1919<typename T>(tts::type<T>)
2020{
2121 using v_t = eve::element_type_t <T>;
@@ -28,26 +28,28 @@ TTS_CASE_TPL("Check return types of secd", eve::test::simd::ieee_reals)
2828// secd tests
2929// ==================================================================================================
3030TTS_CASE_WITH (" Check behavior of secd on wide" ,
31- eve::test::simd::ieee_reals ,
31+ eve::test::simd::ieee_reals_wf16 ,
3232 tts::generate (tts::randoms(-45 , 45 ),
33- tts::randoms(-90 , 90 ),
34- tts::randoms(-5000 , 5000 )))
35- <typename T>(T const & a0, T const & a1, T const & a2)
33+ tts::randoms(-90 , 90 )))
34+ <typename T>(T const & a0, T const & a1)
3635{
3736 using eve::secd;
3837
3938 using eve::deginrad;
4039 using v_t = eve::element_type_t <T>;
41- // auto ref = [](auto e) -> v_t { return 1.0l / eve::cospi(double(e / 180.0l)); };
42- auto ref = [](auto e) -> v_t { return 1.0 / eve::cosd (e); };
40+ auto ref = [](auto e) -> v_t {
41+ if constexpr (sizeof (v_t ) == 2 )
42+ return eve::convert (1 / eve::cosd (eve::convert (e, eve::as<float >())), eve::as<eve::float16_t >());
43+ else
44+ return (1 / eve::cosd (e));
45+ };
4346
4447 TTS_ULP_EQUAL (secd[eve::quarter_circle](a0), tts::map (ref, a0), 4 );
4548 TTS_ULP_EQUAL (secd (a0), tts::map (ref, a0), 4 );
4649 TTS_ULP_EQUAL (secd (a1), tts::map (ref, a1), 4 );
47- TTS_ULP_EQUAL (secd (a2), tts::map (ref, a2), 512 );
4850};
4951
50- TTS_CASE_TPL (" Check return types of secd" , eve::test::simd::ieee_reals )
52+ TTS_CASE_TPL (" Check return types of secd" , eve::test::simd::ieee_reals_wf16 )
5153<typename T>(tts::type<T>)
5254{
5355 if constexpr ( eve::platform::supports_invalids )
@@ -66,7 +68,7 @@ TTS_CASE_TPL("Check return types of secd", eve::test::simd::ieee_reals)
6668// Tests for masked secd
6769// ==================================================================================================
6870TTS_CASE_WITH (" Check behavior of eve::masked(eve::secd)(eve::wide)" ,
69- eve::test::simd::ieee_reals ,
71+ eve::test::simd::ieee_reals_wf16 ,
7072 tts::generate (tts::randoms(eve::valmin, eve::valmax),
7173 tts::logicals(0 , 3 )))
7274<typename T, typename M>(T const & a0,
0 commit comments