source: libcfa/src/limits.cfa @ ccf1d99

ADTast-experimental
Last change on this file since ccf1d99 was a20be49, checked in by Peter A. Buhr <pabuhr@…>, 2 years ago

remove all uses of USE_GNU

  • Property mode set to 100644
File size: 6.2 KB
RevLine 
[58b6d1b]1//
[53ba273]2// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
[58b6d1b]6//
7// limits.c --
8//
[53ba273]9// Author           : Peter A. Buhr
10// Created On       : Wed Apr  6 18:06:52 2016
11// Last Modified By : Peter A. Buhr
[a20be49]12// Last Modified On : Thu Jan  5 22:27:40 2023
13// Update Count     : 84
[58b6d1b]14//
[53ba273]15
[a20be49]16#define _GNU_SOURCE                                                                             // access long double M_*l in math.h
[2701c91]17#include <limits.h>
18#include <float.h>
19#include <math.h>
20#include <complex.h>
[58b6d1b]21#include "limits.hfa"
[53ba273]22
[0aa4beb]23#pragma GCC visibility push(default)
24
[53ba273]25// Integral Constants
26
[6fbe9a5]27const signed char MIN = SCHAR_MIN;
28const unsigned char MIN = 0;
29const short int MIN = SHRT_MIN;
30const unsigned short int MIN = 0;
31const int MIN = INT_MIN;
32const unsigned int MIN = 0;
33const long int MIN = LONG_MIN;
34const unsigned long int MIN = 0;
35const long long int MIN = LLONG_MIN;
36const unsigned long long int MIN = 0;
37
38const signed char MAX = SCHAR_MAX;
39const unsigned char MAX = UCHAR_MAX;
40const short int MAX = SHRT_MAX;
41const unsigned short int MAX = USHRT_MAX;
42const int MAX = INT_MAX;
43const unsigned int MAX = UINT_MAX;
44const long int MAX = LONG_MAX;
45const unsigned long int MAX = ULONG_MAX;
46const long long int MAX = LLONG_MAX;
47const unsigned long long int MAX = ULLONG_MAX;
[53ba273]48
49// Floating-Point Constants
50
[6fbe9a5]51const float MIN = FLT_MIN;
52const double MIN = DBL_MIN;
53const long double MIN = LDBL_MIN;
54const float _Complex MIN = __FLT_MIN__ + __FLT_MIN__ * I;
55const double _Complex MIN = DBL_MIN +  DBL_MIN * I;
56const long double _Complex MIN = LDBL_MIN + LDBL_MIN * I;
57
58const float MAX = FLT_MAX;
59const double MAX = DBL_MAX;
60const long double MAX = LDBL_MAX;
61const float _Complex MAX = FLT_MAX + FLT_MAX * I;
62const double _Complex MAX = DBL_MAX + DBL_MAX * I;
63const long double _Complex MAX = LDBL_MAX + LDBL_MAX * I;
64
65const float PI = (float)M_PI;                                                   // pi
66const float PI_2 = (float)M_PI_2;                                               // pi / 2
67const float PI_4 = (float)M_PI_4;                                               // pi / 4
68const float _1_PI = (float)M_1_PI;                                              // 1 / pi
69const float _2_PI = (float)M_2_PI;                                              // 2 / pi
70const float _2_SQRT_PI = (float)M_2_SQRTPI;                             // 2 / sqrt(pi)
71
72const double PI = M_PI;                                                                 // pi
73const double PI_2 = M_PI_2;                                                             // pi / 2
74const double PI_4 = M_PI_4;                                                             // pi / 4
75const double _1_PI = M_1_PI;                                                    // 1 / pi
76const double _2_PI = M_2_PI;                                                    // 2 / pi
77const double _2_SQRT_PI = M_2_SQRTPI;                                   // 2 / sqrt(pi)
78
79const long double PI = M_PIl;                                                   // pi
80const long double PI_2 = M_PI_2l;                                               // pi / 2
81const long double PI_4 = M_PI_4l;                                               // pi / 4
82const long double _1_PI = M_1_PIl;                                              // 1 / pi
83const long double _2_PI = M_2_PIl;                                              // 2 / pi
84const long double _2_SQRT_PI = M_2_SQRTPIl;                             // 2 / sqrt(pi)
85
86const float _Complex PI = (float)M_PI + 0.0_iF;                 // pi
87const float _Complex PI_2 = (float)M_PI_2 + 0.0_iF;             // pi / 2
88const float _Complex PI_4 = (float)M_PI_4 + 0.0_iF;             // pi / 4
89const float _Complex _1_PI = (float)M_1_PI + 0.0_iF;    // 1 / pi
90const float _Complex _2_PI = (float)M_2_PI + 0.0_iF;    // 2 / pi
91const float _Complex _2_SQRT_PI = (float)M_2_SQRTPI + 0.0_iF; // 2 / sqrt(pi)
92
93const double _Complex PI = M_PI + 0.0_iD;                               // pi
94const double _Complex PI_2 = M_PI_2 + 0.0_iD;                   // pi / 2
95const double _Complex PI_4 = M_PI_4 + 0.0_iD;                   // pi / 4
96const double _Complex _1_PI = M_1_PI + 0.0_iD;                  // 1 / pi
97const double _Complex _2_PI = M_2_PI + 0.0_iD;                  // 2 / pi
98const double _Complex _2_SQRT_PI = M_2_SQRTPI + 0.0_iD; // 2 / sqrt(pi)
99
100const long double _Complex PI = M_PIl + 0.0_iL;                 // pi
101const long double _Complex PI_2 = M_PI_2l + 0.0_iL;             // pi / 2
102const long double _Complex PI_4 = M_PI_4l + 0.0_iL;             // pi / 4
103const long double _Complex _1_PI = M_1_PIl + 0.0_iL;    // 1 / pi
104const long double _Complex _2_PI = M_2_PIl + 0.0_iL;    // 2 / pi
105const long double _Complex _2_SQRT_PI = M_2_SQRTPIl + 0.0_iL; // 2 / sqrt(pi)
106
107const float E = (float)M_E;                                                             // e
108const float LOG2_E = (float)M_LOG2E;                                    // log_2(e)
109const float LOG10_E = (float)M_LOG10E;                                  // log_10(e)
110const float LN_2 = (float)M_LN2;                                                // log_e(2)
111const float LN_10 = (float)M_LN10;                                              // log_e(10)
112const float SQRT_2 = (float)M_SQRT2;                                    // sqrt(2)
113const float _1_SQRT_2 = (float)M_SQRT1_2;                               // 1 / sqrt(2)
114
115const double E = M_E;                                                                   // e
116const double LOG2_E = M_LOG2E;                                                  // log_2(e)
117const double LOG10_E = M_LOG10E;                                                // log_10(e)
118const double LN_2 = M_LN2;                                                              // log_e(2)
119const double LN_10 = M_LN10;                                                    // log_e(10)
120const double SQRT_2 = M_SQRT2;                                                  // sqrt(2)
121const double _1_SQRT_2 = M_SQRT1_2;                                             // 1 / sqrt(2)
122
123const long double E = M_El;                                                             // e
124const long double LOG2_E = M_LOG2El;                                    // log_2(e)
125const long double LOG10_E = M_LOG10El;                                  // log_10(e)
126const long double LN_2 = M_LN2l;                                                // log_e(2)
127const long double LN_10 = M_LN10l;                                              // log_e(10)
128const long double SQRT_2 = M_SQRT2l;                                    // sqrt(2)
129const long double _1_SQRT_2 = M_SQRT1_2l;                               // 1 / sqrt(2)
130
131const float _Complex E = M_E + 0.0_iF;                                  // e
132const float _Complex LOG2_E = M_LOG2E + 0.0_iF;                 // log_2(e)
133const float _Complex LOG10_E = M_LOG10E + 0.0_iF;               // log_10(e)
134const float _Complex LN_2 = M_LN2 + 0.0_iF;                             // log_e(2)
135const float _Complex LN_10 = M_LN10 + 0.0_iF;                   // log_e(10)
136const float _Complex SQRT_2 = M_SQRT2 + 0.0_iF;                 // sqrt(2)
137const float _Complex _1_SQRT_2 = M_SQRT1_2 + 0.0_iF;    // 1 / sqrt(2)
138
139const double _Complex E = M_E + 0.0_iD;                                 // e
140const double _Complex LOG2_E = M_LOG2E + 0.0_iD;                // log_2(e)
141const double _Complex LOG10_E = M_LOG10E + 0.0_iD;              // log_10(e)
142const double _Complex LN_2 = M_LN2 + 0.0_iD;                    // log_e(2)
143const double _Complex LN_10 = M_LN10 + 0.0_iD;                  // log_e(10)
144const double _Complex SQRT_2 = M_SQRT2 + 0.0_iD;                // sqrt(2)
145const double _Complex _1_SQRT_2 = M_SQRT1_2 + 0.0_iD;   // 1 / sqrt(2)
146
147const long double _Complex E = M_El + 0.0_iL;                   // e
148const long double _Complex LOG2_E = M_LOG2El + 0.0_iL;  // log_2(e)
149const long double _Complex LOG10_E = M_LOG10El + 0.0_iL; // log_10(e)
150const long double _Complex LN_2 = M_LN2l + 0.0_iL;              // log_e(2)
151const long double _Complex LN_10 = M_LN10l + 0.0_iL;    // log_e(10)
152const long double _Complex SQRT_2 = M_SQRT2l + 0.0_iL;  // sqrt(2)
153const long double _Complex _1_SQRT_2 = M_SQRT1_2l + 0.0_iL; // 1 / sqrt(2)
[53ba273]154
155// Local Variables: //
156// mode: c //
157// tab-width: 4 //
158// End: //
Note: See TracBrowser for help on using the repository browser.