annotate tests/test-cosl.c @ 17476:6057744acd2c default tip master

autoupdate
author Karl Berry <karl@freefriends.org>
date Fri, 16 Aug 2013 06:32:22 -0700
parents e542fd46ad6f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12756
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1 /* Test of cosl() function.
17249
e542fd46ad6f maint: update all copyright year number ranges
Eric Blake <eblake@redhat.com>
parents: 16201
diff changeset
2 Copyright (C) 2010-2013 Free Software Foundation, Inc.
12756
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
4 This program is free software: you can redistribute it and/or modify
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 it under the terms of the GNU General Public License as published by
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
6 the Free Software Foundation; either version 3 of the License, or
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
7 (at your option) any later version.
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
12 GNU General Public License for more details.
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
13
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
14 You should have received a copy of the GNU General Public License
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
16
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
17 /* Written by Bruno Haible <bruno@clisp.org>, 2010. */
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
18
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
19 #include <config.h>
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
20
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
21 #include <math.h>
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
22
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
23 #include "signature.h"
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
24 SIGNATURE_CHECK (cosl, long double, (long double));
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
25
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
26 #include "fpucw.h"
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
27 #include "macros.h"
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
28
12776
bebb37f7d22e Tests: Defeat inlining of math functions by GCC >= 4.3.0.
Bruno Haible <bruno@clisp.org>
parents: 12756
diff changeset
29 volatile long double x;
12756
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
30 long double y;
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
31
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
32 int
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
33 main ()
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
34 {
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
35 DECL_LONG_DOUBLE_ROUNDING
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
36
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
37 BEGIN_LONG_DOUBLE_ROUNDING ();
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
38
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
39 /* A particular value. */
12776
bebb37f7d22e Tests: Defeat inlining of math functions by GCC >= 4.3.0.
Bruno Haible <bruno@clisp.org>
parents: 12756
diff changeset
40 x = 0.6L;
bebb37f7d22e Tests: Defeat inlining of math functions by GCC >= 4.3.0.
Bruno Haible <bruno@clisp.org>
parents: 12756
diff changeset
41 y = cosl (x);
12756
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
42 ASSERT (y >= 0.8253356149L && y <= 0.8253356150L);
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
43
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
44 return 0;
e07744489348 Tests for module 'cosl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
45 }