Implement missing hyperbolic Math functions from ES6 (#3670)
Math.cosh, Math.sinh, Math.tanh C implementation ported from fdlibm. Part of Issue #3568 JerryScript-DCO-1.0-Signed-off-by: Rafal Walczyna r.walczyna@samsung.com
This commit is contained in:
@@ -967,4 +967,151 @@ main (int argc, char **args)
|
||||
GEN_DBL_TEST (tan (-6.0));
|
||||
GEN_DBL_TEST (tan (7.0));
|
||||
GEN_DBL_TEST (tan (-7.0));
|
||||
|
||||
/* cosh tests */
|
||||
GEN_DBL_TEST (cosh (0.0));
|
||||
GEN_DBL_TEST (cosh (-0.0));
|
||||
GEN_DBL_TEST (cosh (1.0));
|
||||
GEN_DBL_TEST (cosh (-1.0));
|
||||
GEN_DBL_TEST (cosh (INFINITY));
|
||||
GEN_DBL_TEST (cosh (-INFINITY));
|
||||
GEN_DBL_TEST (cosh (NAN));
|
||||
GEN_DBL_TEST (cosh (M_PI));
|
||||
GEN_DBL_TEST (cosh (-M_PI));
|
||||
GEN_DBL_TEST (cosh (2.0 * M_PI));
|
||||
GEN_DBL_TEST (cosh (-2.0 * M_PI));
|
||||
GEN_DBL_TEST (cosh (M_PI / 2.0));
|
||||
GEN_DBL_TEST (cosh (-M_PI / 2.0));
|
||||
GEN_DBL_TEST (cosh (M_PI / 3.0));
|
||||
GEN_DBL_TEST (cosh (-M_PI / 3.0));
|
||||
GEN_DBL_TEST (cosh (M_PI / 4.0));
|
||||
GEN_DBL_TEST (cosh (-M_PI / 4.0));
|
||||
GEN_DBL_TEST (cosh (M_PI / 6.0));
|
||||
GEN_DBL_TEST (cosh (-M_PI / 6.0));
|
||||
GEN_DBL_TEST (cosh (M_PI * 2.0 / 3.0));
|
||||
GEN_DBL_TEST (cosh (-M_PI * 2.0 / 3.0));
|
||||
GEN_DBL_TEST (cosh (M_PI * 5.0 / 6.0));
|
||||
GEN_DBL_TEST (cosh (-M_PI * 5.0 / 6.0));
|
||||
GEN_DBL_TEST (cosh (6.9e-18));
|
||||
GEN_DBL_TEST (cosh (-6.9e-18));
|
||||
GEN_DBL_TEST (cosh (7.0e-18));
|
||||
GEN_DBL_TEST (cosh (-7.0e-18));
|
||||
GEN_DBL_TEST (cosh (7.4e-9));
|
||||
GEN_DBL_TEST (cosh (-7.4e-9));
|
||||
GEN_DBL_TEST (cosh (7.5e-9));
|
||||
GEN_DBL_TEST (cosh (-7.5e-9));
|
||||
GEN_DBL_TEST (cosh (0.2));
|
||||
GEN_DBL_TEST (cosh (-0.2));
|
||||
GEN_DBL_TEST (cosh (0.4));
|
||||
GEN_DBL_TEST (cosh (-0.4));
|
||||
GEN_DBL_TEST (cosh (0.7));
|
||||
GEN_DBL_TEST (cosh (-0.7));
|
||||
GEN_DBL_TEST (cosh (0.8));
|
||||
GEN_DBL_TEST (cosh (-0.8));
|
||||
GEN_DBL_TEST (cosh (3.0));
|
||||
GEN_DBL_TEST (cosh (-3.0));
|
||||
GEN_DBL_TEST (cosh (4.0));
|
||||
GEN_DBL_TEST (cosh (-4.0));
|
||||
GEN_DBL_TEST (cosh (6.0));
|
||||
GEN_DBL_TEST (cosh (-6.0));
|
||||
GEN_DBL_TEST (cosh (7.0));
|
||||
GEN_DBL_TEST (cosh (-7.0));
|
||||
|
||||
/* sinh tests */
|
||||
GEN_DBL_TEST (sinh (0.0));
|
||||
GEN_DBL_TEST (sinh (-0.0));
|
||||
GEN_DBL_TEST (sinh (1.0));
|
||||
GEN_DBL_TEST (sinh (-1.0));
|
||||
GEN_DBL_TEST (sinh (INFINITY));
|
||||
GEN_DBL_TEST (sinh (-INFINITY));
|
||||
GEN_DBL_TEST (sinh (NAN));
|
||||
GEN_DBL_TEST (sinh (M_PI));
|
||||
GEN_DBL_TEST (sinh (-M_PI));
|
||||
GEN_DBL_TEST (sinh (2.0 * M_PI));
|
||||
GEN_DBL_TEST (sinh (-2.0 * M_PI));
|
||||
GEN_DBL_TEST (sinh (M_PI / 2.0));
|
||||
GEN_DBL_TEST (sinh (-M_PI / 2.0));
|
||||
GEN_DBL_TEST (sinh (M_PI / 3.0));
|
||||
GEN_DBL_TEST (sinh (-M_PI / 3.0));
|
||||
GEN_DBL_TEST (sinh (M_PI / 4.0));
|
||||
GEN_DBL_TEST (sinh (-M_PI / 4.0));
|
||||
GEN_DBL_TEST (sinh (M_PI / 6.0));
|
||||
GEN_DBL_TEST (sinh (-M_PI / 6.0));
|
||||
GEN_DBL_TEST (sinh (M_PI * 2.0 / 3.0));
|
||||
GEN_DBL_TEST (sinh (-M_PI * 2.0 / 3.0));
|
||||
GEN_DBL_TEST (sinh (M_PI * 5.0 / 6.0));
|
||||
GEN_DBL_TEST (sinh (-M_PI * 5.0 / 6.0));
|
||||
GEN_DBL_TEST (sinh (6.9e-18));
|
||||
GEN_DBL_TEST (sinh (-6.9e-18));
|
||||
GEN_DBL_TEST (sinh (7.0e-18));
|
||||
GEN_DBL_TEST (sinh (-7.0e-18));
|
||||
GEN_DBL_TEST (sinh (7.4e-9));
|
||||
GEN_DBL_TEST (sinh (-7.4e-9));
|
||||
GEN_DBL_TEST (sinh (7.5e-9));
|
||||
GEN_DBL_TEST (sinh (-7.5e-9));
|
||||
GEN_DBL_TEST (sinh (0.2));
|
||||
GEN_DBL_TEST (sinh (-0.2));
|
||||
GEN_DBL_TEST (sinh (0.4));
|
||||
GEN_DBL_TEST (sinh (-0.4));
|
||||
GEN_DBL_TEST (sinh (0.7));
|
||||
GEN_DBL_TEST (sinh (-0.7));
|
||||
GEN_DBL_TEST (sinh (0.8));
|
||||
GEN_DBL_TEST (sinh (-0.8));
|
||||
GEN_DBL_TEST (sinh (3.0));
|
||||
GEN_DBL_TEST (sinh (-3.0));
|
||||
GEN_DBL_TEST (sinh (4.0));
|
||||
GEN_DBL_TEST (sinh (-4.0));
|
||||
GEN_DBL_TEST (sinh (6.0));
|
||||
GEN_DBL_TEST (sinh (-6.0));
|
||||
GEN_DBL_TEST (sinh (7.0));
|
||||
GEN_DBL_TEST (sinh (-7.0));
|
||||
|
||||
/* tanh tests */
|
||||
GEN_DBL_TEST (tanh (0.0));
|
||||
GEN_DBL_TEST (tanh (-0.0));
|
||||
GEN_DBL_TEST (tanh (1.0));
|
||||
GEN_DBL_TEST (tanh (-1.0));
|
||||
GEN_DBL_TEST (tanh (INFINITY));
|
||||
GEN_DBL_TEST (tanh (-INFINITY));
|
||||
GEN_DBL_TEST (tanh (NAN));
|
||||
GEN_DBL_TEST (tanh (M_PI));
|
||||
GEN_DBL_TEST (tanh (-M_PI));
|
||||
GEN_DBL_TEST (tanh (2.0 * M_PI));
|
||||
GEN_DBL_TEST (tanh (-2.0 * M_PI));
|
||||
GEN_DBL_TEST (tanh (M_PI / 2.0));
|
||||
GEN_DBL_TEST (tanh (-M_PI / 2.0));
|
||||
GEN_DBL_TEST (tanh (M_PI / 3.0));
|
||||
GEN_DBL_TEST (tanh (-M_PI / 3.0));
|
||||
GEN_DBL_TEST (tanh (M_PI / 4.0));
|
||||
GEN_DBL_TEST (tanh (-M_PI / 4.0));
|
||||
GEN_DBL_TEST (tanh (M_PI / 6.0));
|
||||
GEN_DBL_TEST (tanh (-M_PI / 6.0));
|
||||
GEN_DBL_TEST (tanh (M_PI * 2.0 / 3.0));
|
||||
GEN_DBL_TEST (tanh (-M_PI * 2.0 / 3.0));
|
||||
GEN_DBL_TEST (tanh (M_PI * 5.0 / 6.0));
|
||||
GEN_DBL_TEST (tanh (-M_PI * 5.0 / 6.0));
|
||||
GEN_DBL_TEST (tanh (6.9e-18));
|
||||
GEN_DBL_TEST (tanh (-6.9e-18));
|
||||
GEN_DBL_TEST (tanh (7.0e-18));
|
||||
GEN_DBL_TEST (tanh (-7.0e-18));
|
||||
GEN_DBL_TEST (tanh (7.4e-9));
|
||||
GEN_DBL_TEST (tanh (-7.4e-9));
|
||||
GEN_DBL_TEST (tanh (7.5e-9));
|
||||
GEN_DBL_TEST (tanh (-7.5e-9));
|
||||
GEN_DBL_TEST (tanh (0.2));
|
||||
GEN_DBL_TEST (tanh (-0.2));
|
||||
GEN_DBL_TEST (tanh (0.4));
|
||||
GEN_DBL_TEST (tanh (-0.4));
|
||||
GEN_DBL_TEST (tanh (0.7));
|
||||
GEN_DBL_TEST (tanh (-0.7));
|
||||
GEN_DBL_TEST (tanh (0.8));
|
||||
GEN_DBL_TEST (tanh (-0.8));
|
||||
GEN_DBL_TEST (tanh (3.0));
|
||||
GEN_DBL_TEST (tanh (-3.0));
|
||||
GEN_DBL_TEST (tanh (4.0));
|
||||
GEN_DBL_TEST (tanh (-4.0));
|
||||
GEN_DBL_TEST (tanh (6.0));
|
||||
GEN_DBL_TEST (tanh (-6.0));
|
||||
GEN_DBL_TEST (tanh (7.0));
|
||||
GEN_DBL_TEST (tanh (-7.0));
|
||||
} /* main */
|
||||
|
||||
Reference in New Issue
Block a user