Add test cases generator.
authorYi Sun <yi.sun@intel.com>
Tue, 24 Dec 2013 03:15:18 +0000 (11:15 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Wed, 25 Dec 2013 05:57:14 +0000 (13:57 +0800)
commitc69a86ba2760568c6c3a1b36a5dbe71d57a48fa2
treeac3db736093ed2b5f39c3b207df1e2f1db460e7f
parent6e2d5ebf0a09590a3365302b088de20841ebd97e
Add test cases generator.

    v1:
    File utest_generator.py contain the base class and function for generating
    File utest_math_gen.py can generate most math function for all the gentype
    utest_math_gen.py can be run during cmake.

    v2:
    1. Put all the generated unit test cases to folder utest/generated.
    2. Delete all generated folder while involve make clean.
    3. At the top of the generated test cases, add some comments
    4. Instead of defined FLT_ULP(0.000001) as the ulp unit, caculate the float ulp before using it.
    5. Add several math functions' test case.

    v3:
    1. Refine the calculation for float, and calculate each float got from cpu function.

    v4:
    Refine the calculation for float.

    Following fucntions test cases fail with input 0, 1 or 3.14:
builtin_atan2_float
builtin_atanh_float
builtin_rootn_float
    builtin_cos_float
    builtin_cospi_float
    builtin_erf_float
    builtin_erfc_float
    builtin_mad_float
    builtin_nextafter_float
    builtin_pown_float
    builtin_powr_float
    builtin_rint_float
    builtin_sinpi_float
    builtin_tan_float
    builtin_tanpi_float

    v5:
    remove case builtin_mad_float

todo:
atan2pi
fmax
fmin
sincos

Signed-off-by: Yi Sun <yi.sun@intel.com>
Signed-off-by: Yangwei Shui <yangweix.shui@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Reviewed-by: "Song, Ruiling" <ruiling.song@intel.com>
utests/CMakeLists.txt
utests/utest_generator.py [new file with mode: 0644]
utests/utest_helper.cpp
utests/utest_helper.hpp
utests/utest_math_gen.py [new file with mode: 0755]