blob: 18818cc43db8e6acf753f734f305942aee2fd8f1 [file] [log] [blame]
robbiew0cf922b2001-12-13 16:15:15 +00001purpose:
2=======
3 increase CPUs workload - verify that results of some math functions are stable
4
5Floating testcases are related to :
6----------------------------------
7- trigonometric (acos, asin, atan, atan2, cos, sin, tan),
8- Euclidean distance function (hypot),
9- Computes the natural logarithm of the gamma function (lgamma),
10- Functions that manipulate floating-point numbers (modf, ldexp, frexp),
11- exponential and logarithmic functions (exp, log, log10),
12- hyperbolic (cosh, sinh, tanh),
13- Bessel (j0, j1, y0, y1),
14- and power functions (ceil, fabs, floor, fmod, pow, sqrt).
15
16The testcase is splitted into 5 sets:
17-------------------------------------
18 float_bessel, float_exp_log, float_iperb, float_power, float_trigo
19
20need:
21----
22- all tests need data files to execute:
23 - Input Files located to the same Directory as the corresponding binary
24 Are in the form <function>_inp.ref
25 Or in the form d<function>
26 - Output Files located to the same Directory as the corresponding binary
27 Are in the form <function>_out.ref
28 Or in the form r<function>
29
30 example: acos function works with dacos file, (input datafile) and with rcos
31 file (result/output datafile).
32 please refer to float_*.c files for a full list.
33
34algorithm:
35---------
36 /* for one set - similar for all sets */
37 thread_code:
38 read input data /* read input datafile */
39 computes data
40 check_error /* compares results to expected results: output datafile */
41 main:
42 parse args
43 /* create and start threads */
44 from 1 up to number of function
45 from 1 up to number of thread
46 pthread_create/start
47 end
48 end
49 /* wait for all threads to end */
50 from 1 up to number of thread
51 pthread_join
52 end
53 if "ok" returns 0 else returns 1
54