This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

New libm-test-ulps file


Hi All!
I'm working on writing test-suite for glibc being ported to a new processor.I need some guidance regarding the matter. Sice most of the test-files are processor/platform independent they don't require any addition expect "math" part which as per my understanding,requires a processor specific file containing all ULPs ( Units of Last Precision)
called "libm-test-ulps", which lives in /sysdep/_machine_/fpu (_machine_ e.g. i386, ia64 etc).
But to generate this file for new port (New libm-test-ulps file) it is required to have executable of the test-driver (test-double, test-float ..etc). By running this executable test-driver for each type of format(test-double* for double, test-float for float etc..) corresponding ULPs are generated and concatenated into a single file.I have tried with empty "libm-test-ulps" file for
native build of i386 (just to have an idea) I am facing some problem to build test driver because they requires some files which are generated by another file "gen-libm-test.pl", and this file requires the files libm-test.inc, and libm-test-ulps.So it is like a loop,.
It is like this
                                                                  (generates)
libm-test.inc  --->                                           ----->libm-test.c     -----> -- | required by
                       |-------------->gen-libm-test.pl----|                                       |______
libm-test-ulps --->                                         ----->libm-test-ulps.h --> __ |         |
|                                                                                                                   |         
|                                                                                                                   |                                                                                                                                                           |          (run with options "-u --ignore-max-ulp=yes")           test-driver like test-double.c
|                      <-------                test-driver* (executable)<----------------------------------------
|              ULPs are generated for double.similarly for other test-drivers ULPs are generated and  
|              concatenated into a file which is further processed by "gen-libm-test.pl" to generate        
-------------- new "libm-test-ulps" file.

 
 So, for a new port, how this loop can be broken.I wanted to know.
1) how this file "libm-test-ulps" can be generated for a new port.
2) Any other file which is processor/platform dependent and so requires
   some modification or addition to the test-suite for new port.
3) Any suggested test-case that can be added.
4) Please anybody could help me to understand, what exactly these ULPs are?
e.g. to test acos:
.........................................................................
Test "cos (0.7) == 0.76484218728448842625585999019186495":
double: 1
idouble: 1
ildouble: 529
ldouble: 529
..................................
I mean , what these numbers 1,1, 529,529 for double,idouble,ildouble, ldouble are signifying?
or
....................................................... 
Test "cos (pi/2) == 0":
double: 0.2758
float: 0.3667
idouble: 0.2758
ifloat: 0.3667
ildouble: 0.25
ldouble: 0.25
..........................................................
 
Thanks in advance.
subhash
-------------------------------------------------------------------------------------------------------------------------
Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and
is intended for use only by the individual or entity to which it is
addressed, and may contain information that is privileged, confidential or
exempt from disclosure under applicable law. If you are not the intended
recipient or it appears that this mail has been forwarded to you without
proper authority, you are notified that any use or dissemination of this
information in any manner is strictly prohibited. In such cases, please
notify us immediately at mailto:mailadmin@wipro.com and delete this mail
from your records.
----------------------------------------------------------------------------------------------------------------------

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]