~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/test_float_literals.cpp

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2014-02-05 18:46:19 UTC
  • mfrom: (4.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20140205184619-bmxq31rw0cd3ar4u
Tags: 1.10.0~20140205~ef1e460-1
* New snapshot release
* Also install cmake / emscripten files. Thanks to Daniele Di Proietto
  for the patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <limits>
 
2
#include <math.h>
 
3
#include <float.h>
 
4
#include <stdio.h>
 
5
#include <stdlib.h>
 
6
 
 
7
#if defined(_MSC_VER) || defined(EMSCRIPTEN)
 
8
#define FLOAT_NAN ((float)std::numeric_limits<float>::quiet_NaN())
 
9
#define FLOAT_INF ((float)std::numeric_limits<float>::infinity())
 
10
#else
 
11
#define FLOAT_NAN ((float)NAN)
 
12
#define FLOAT_INF ((float)INFINITY)
 
13
#endif
 
14
 
 
15
#if defined(_MSC_VER) || defined(EMSCRIPTEN)
 
16
#define DOUBLE_NAN ((double)std::numeric_limits<double>::quiet_NaN())
 
17
#define DOUBLE_INF ((double)std::numeric_limits<double>::infinity())
 
18
#else
 
19
#define DOUBLE_NAN ((double)NAN)
 
20
#define DOUBLE_INF ((double)INFINITY)
 
21
#endif
 
22
 
 
23
#ifdef _MSC_VER
 
24
#define NOINLINE
 
25
#else
 
26
#define NOINLINE __attribute__((noinline))
 
27
#endif
 
28
 
 
29
float NOINLINE ret_e() { return (float)2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274; }
 
30
float NOINLINE ret_minuspi() { return (float)-3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679; }
 
31
float NOINLINE val() { return 10.f; }
 
32
float NOINLINE val2() { return -10.f; }
 
33
float NOINLINE zero() { return 0.f; }
 
34
float NOINLINE zero2() { return -0.f; }
 
35
 
 
36
double NOINLINE dret_e() { return (double)2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274; }
 
37
double NOINLINE dret_minuspi() { return (double)-3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679; }
 
38
double NOINLINE dval() { return 10.0; }
 
39
double NOINLINE dval2() { return -10.0; }
 
40
double NOINLINE dzero() { return 0.0; }
 
41
double NOINLINE dzero2() { return -0.0; }
 
42
 
 
43
const float e =     ret_e();
 
44
const float negpi = ret_minuspi();
 
45
const float inf =   FLOAT_INF;
 
46
const float negInf = -FLOAT_INF;
 
47
const float floatNan = FLOAT_NAN;
 
48
const float floatMax = FLT_MAX;
 
49
const float floatMin = -FLT_MAX;
 
50
const float posValue = val();
 
51
const float negValue = val2();
 
52
const float posZero = zero();
 
53
const float negZero = zero2();
 
54
 
 
55
const double de =     dret_e();
 
56
const double dnegpi = dret_minuspi();
 
57
const double dinf =   DOUBLE_INF;
 
58
const double dnegInf = -DOUBLE_INF;
 
59
const double doubleNan = DOUBLE_NAN;
 
60
const double doubleMax = DBL_MAX;
 
61
const double doubleMin = -DBL_MAX;
 
62
const double dposValue = dval();
 
63
const double dnegValue = dval2();
 
64
const double dposZero = dzero();
 
65
const double dnegZero = dzero2();
 
66
 
 
67
int main()
 
68
{
 
69
  printf("e: %f\n", e);
 
70
  printf("negpi: %f\n", negpi);
 
71
  printf("inf: %f\n", inf);
 
72
  printf("negInf: %f\n", negInf);
 
73
  printf("floatNan: %f\n", floatNan);
 
74
  printf("floatMax: %f\n", floatMax);
 
75
  printf("floatMin: %f\n", floatMin);
 
76
  printf("posValue: %f\n", posValue);
 
77
  printf("negValue: %f\n", negValue);
 
78
  printf("posZero: %f\n", posZero);
 
79
  printf("negZero: %f\n", negZero);
 
80
 
 
81
  printf("e: %f\n", de);
 
82
  printf("negpi: %f\n", dnegpi);
 
83
  printf("inf: %f\n", dinf);
 
84
  printf("negInf: %f\n", dnegInf);
 
85
  printf("doubleNan: %f\n", doubleNan);
 
86
  printf("doubleMax: %f\n", doubleMax);
 
87
  printf("doubleMin: %f\n", doubleMin);
 
88
  printf("posValue: %f\n", dposValue);
 
89
  printf("negValue: %f\n", dnegValue);
 
90
  printf("posZero: %f\n", dposZero);
 
91
  printf("negZero: %f\n", dnegZero);
 
92
}