OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [c-c++-common/] [dfp/] [convert-bfp-11.c] - Blame information for rev 686

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 686 jeremybenn
/* { dg-skip-if "" { ! "powerpc*-*-linux*" } { "*" } { "" } } */
2
 
3
/* Test decimal float conversions to and from IBM 128-bit long double.
4
   Checks are skipped at runtime if long double is not 128 bits.
5
   Don't force 128-bit long doubles because runtime support depends
6
   on glibc.  */
7
 
8
#include "convert.h"
9
 
10
volatile _Decimal32 sd;
11
volatile _Decimal64 dd;
12
volatile _Decimal128 td;
13
volatile float sf;
14
volatile double df;
15
volatile long double tf;
16
 
17
/* A value slightly less than DEC32_MAX can be converted in both directions.  */
18
CONVERT_VALID (101, sd, tf, 9.999998e96df, 9.999998e96L, 1.e+81L)
19
CONVERT_VALID (102, tf, sd, 9.999998e96L, 9.999998e96df, 0.df)
20
 
21
/* A value slightly less than DBL_MAX can be converted in both directions.  */
22
CONVERT_VALID (201, tf, dd, 1.79768e+308l, 1.79768e+308dd, 0.dd)
23
CONVERT_VALID (202, dd, tf, 1.79768e+308dd, 1.79768e+308l, 2.e292l)
24
CONVERT_VALID (203, tf, td, 1.79768e+308l, 1.79768e+308dl, 1.e292dl)
25
CONVERT_VALID (204, td, tf, 1.79768e+308dl, 1.79768e+308l, 2.e292l)
26
 
27
/* Check values that are too large for the result type.  */
28
CONVERT_TO_PINF (301, dd, tf, 1.8e+308dd, l)
29
CONVERT_TO_PINF (302, dd, tf, 9.9e+384dd, l)
30
CONVERT_TO_PINF (303, td, tf, 1.8e+308dl, l)
31
CONVERT_TO_PINF (304, td, tf, 9.9e+384dl, l)
32
 
33
CONVERT_TO_PINF (311, tf, sd, 1.0e+97L, d32)
34
CONVERT_TO_PINF (312, tf, sd, 1.6e+308L, d32)
35
 
36
int
37
main ()
38
{
39
  if (sizeof (long double) != 16)
40
    return 0;
41
 
42
  convert_101 ();
43
  convert_102 ();
44
 
45
  convert_201 ();
46
  convert_202 ();
47
  convert_203 ();
48
  convert_204 ();
49
 
50
  convert_301 ();
51
  convert_302 ();
52
  convert_303 ();
53
  convert_304 ();
54
  convert_311 ();
55
  convert_312 ();
56
 
57
  FINISH
58
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.