This code was already present in the psxtests written by Vaibhav last year I haven't changed any information related to copyright. If anything needs to be changed. I will change it in the next patch.
On Thu, Mar 26, 2020 at 11:12 PM Aditya Upadhyay <aadit0...@gmail.com> wrote: > One more thing, If Vaibhav has provided you this source code and you > modified then put Vaibhav's name alongwith your name as Copyright info. > > On Thu, 26 Mar 2020, 23:10 Aditya Upadhyay, <aadit0...@gmail.com> wrote: > >> >> >> On Thu, 26 Mar 2020, 22:59 Eshan dhawan, <eshandhawa...@gmail.com> wrote: >> >>> --- >>> testsuites/psxtests/psxfenv01/init.c | 87 ++++++++++++++++----- >>> testsuites/psxtests/psxfenv01/psxfenv01.doc | 9 ++- >>> testsuites/psxtests/psxfenv01/psxfenv01.scn | 4 - >>> 3 files changed, 76 insertions(+), 24 deletions(-) >>> >>> diff --git a/testsuites/psxtests/psxfenv01/init.c >>> b/testsuites/psxtests/psxfenv01/init.c >>> index cdb0fa596e..158816888d 100644 >>> --- a/testsuites/psxtests/psxfenv01/init.c >>> +++ b/testsuites/psxtests/psxfenv01/init.c >>> @@ -46,11 +46,12 @@ >>> #include <string.h> >>> #include <rtems/test.h> >>> #include <tmacros.h> >>> +#include <float.h> >>> >>> const char rtems_test_name[] = "PSXFENV 01"; >>> >>> /* forward declarations to avoid warnings */ >>> -rtems_task Init(rtems_task_argument ignored); >>> +rtems_task Init( rtems_task_argument ignored ); >>> >>> /* Test Function Begins */ >>> rtems_task Init(rtems_task_argument ignored) >>> @@ -62,40 +63,90 @@ rtems_task Init(rtems_task_argument ignored) >>> >>> /* >>> * 'FE_ALL_EXCEPT' will be defined only when 'feclearexcept()', >>> - * 'fegetexceptflag()', 'feraiseexcept()', 'fesetexceptflag()' and >>> - * 'fetestexcept()' functions are supported by the architecture. >>> + * fegetexceptflag() , feraiseexcept(), fesetexceptflag() and >>> + * fetestexcept() functions are supported by the architecture. >>> * Hence their testcases can be wrapped under #ifdef and #endif. >>> */ >>> #ifdef FE_ALL_EXCEPT /* floating-point exceptions */ >>> - puts( "fesetenv(FE_DFL_ENV)." ); >>> - r = fesetenv(FE_DFL_ENV); >>> - if (r) >>> - printf("fesetenv ==> %d\n", r); >>> + r = fesetenv( FE_DFL_ENV ); >>> + if ( r ) { >>> + printf( "fesetenv ==> %d\n", r); >>> + } >>> rtems_test_assert( r == 0 ); >>> >>> - /* Test 'feclearexcept()' and 'fetestexcept()' in one go. */ >>> - puts( "feclearexcept(FE_ALL_EXCEPT)." ); >>> - r = feclearexcept(FE_ALL_EXCEPT); >>> - if (r) >>> - printf("feclearexcept ==> 0x%x\n", r); >>> + /* Test feclearexcept() and fetestexcept() in one go. */ >>> + r = feclearexcept( FE_ALL_EXCEPT ); >>> + if ( r ) { >>> + printf( "feclearexcept ==> 0x%x\n", r ); >>> + } >>> rtems_test_assert( r == 0 ); >>> >>> r = fetestexcept( FE_ALL_EXCEPT ); >>> - if (r) >>> - printf("fetestexcept ==> 0x%x\n", r); >>> + if ( r ) { >>> + printf( "fetestexcept ==> 0x%x\n", r ); >>> + } >>> rtems_test_assert( r == 0 ); >>> >>> - /* Test 'FE_DIVBYZERO' */ >>> - puts( "Divide by zero and confirm fetestexcept()" ); >>> + /* Test 'FE_DIVBYZERO' >>> + *Divide by zero and confirm fetestexcept() */ >>> a = 0.0; >>> b = 1.0; >>> c = b/a; >>> (void) c; >>> + /* Test fegetexceptflag() and fesetexceptflag() */ >>> + r = fegetexceptflag( &excepts, FE_ALL_EXCEPT ); >>> + if ( r ) { >>> + printf( "fegetexceptflag ==> 0x%x\n", r ); >>> + } >>> + rtems_test_assert( r == 0 ); >>> >>> - fegetexceptflag(&excepts,FE_ALL_EXCEPT); >>> + r = fesetexceptflag( &excepts, FE_ALL_EXCEPT ); >>> + if ( r ) { >>> + printf( "fesetexceptflag ==> 0x%x\n", r ); >>> + } >>> + rtems_test_assert( r == 0 ); >>> >>> + /* Test for fegetround() and fesetround() >>> + * They have four main macros to be tested separated by ifdef >>> + * Since not all architectures support them >>> + * The test case gets and sets the rounding directions */ >>> +#ifdef FE_TONEAREST >>> + rtems_test_assert( fegetround() == FE_TONEAREST ); >>> +#endif >>> +#ifdef FE_TOWARDZERO >>> + r = fesetround( FE_TOWARDZERO ); >>> + if ( r ) { >>> + printf( "fesetround ==> 0x%x\n", r ); >>> + } >>> + rtems_test_assert( r == 0 ); >>> + rtems_test_assert( fegetround() == FE_TOWARDZERO ); >>> +#endif >>> +#ifdef FE_DOWNWARD >>> + r = fesetround( FE_DOWNWARD ); >>> + if ( r ) { >>> + printf( "fesetround ==> 0x%x\n", r ); >>> + } >>> + rtems_test_assert( r == 0 ); >>> + rtems_test_assert( fegetround() == FE_DOWNWARD ); >>> +#endif >>> +#ifdef FE_UPWARD >>> + r = fesetround( FE_UPWARD ); >>> + if ( r ) { >>> + printf( "fesetround ==> 0x%x\n", r ); >>> + } >>> + rtems_test_assert( r == 0 ); >>> + rtems_test_assert( fegetround() == FE_UPWARD ); >>> +#endif >>> +#ifdef FE_TONEAREST >>> + r = fesetround( FE_TONEAREST ); >>> + if ( r ) { >>> + printf( "fesetround ==> 0x%x\n", r ); >>> + } >>> + rtems_test_assert( r == 0 ); >>> +#endif >>> + >>> #ifdef FE_DIVBYZERO >>> - r = feraiseexcept(FE_DIVBYZERO); >>> + r = feraiseexcept( FE_DIVBYZERO ) ; >>> rtems_test_assert( fetestexcept( FE_DIVBYZERO ) ); >>> #endif >>> >>> diff --git a/testsuites/psxtests/psxfenv01/psxfenv01.doc >>> b/testsuites/psxtests/psxfenv01/psxfenv01.doc >>> index 3aa7757496..0238372013 100644 >>> --- a/testsuites/psxtests/psxfenv01/psxfenv01.doc >>> +++ b/testsuites/psxtests/psxfenv01/psxfenv01.doc >>> @@ -1,4 +1,4 @@ >>> -# COPYRIGHT (c) 2019 >>> +# COPYRIGHT (c) 2019 >>> # On-Line Applications Research Corporation (OAR). >>> # >>> # SPDX-License-Identifier: BSD-2-Clause >>> @@ -12,8 +12,13 @@ Directives: >>> fesetenv >>> feclearexcept >>> fetestexcept >>> - texceptflag >>> feraiseexcept >>> + fesetexeptflag >>> + fegetexeptflag >>> + fegetround >>> + fesetround >>> + >>> + >>> >> >> Just remove this one unnecessary space after fesetround. Otherwise It >> looks good. >> >> >>> Concepts: >>> >>> diff --git a/testsuites/psxtests/psxfenv01/psxfenv01.scn >>> b/testsuites/psxtests/psxfenv01/psxfenv01.scn >>> index 21395e6712..6ea3bc255e 100644 >>> --- a/testsuites/psxtests/psxfenv01/psxfenv01.scn >>> +++ b/testsuites/psxtests/psxfenv01/psxfenv01.scn >>> @@ -1,7 +1,3 @@ >>> *** BEGIN OF TEST PSXFENV 01 *** >>> -fesetenv(FE_DFL_ENV). >>> -feclearexcept(FE_ALL_EXCEPT). >>> -Divide by zero and confirm fetestexcept() >>> - >>> *** END OF TEST PSXFENV 01 *** >>> >>> -- >>> 2.17.1 >>> >>>
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel