Honeycomb  0.1
Component-Model Framework
Numeral.h
Go to the documentation of this file.
1 // Honeycomb, Copyright (C) 2013 Daniel Carter. Distributed under the Boost Software License v1.0.
2 #pragma once
3 
5 namespace honey
6 {
7 
8 namespace numeral_priv
9 {
10  template<> struct Info<float128>
11  {
12  typedef float128 Signed;
13  typedef float128 Unsigned;
14  typedef int128 Int;
15  typedef float128 Real;
16  typedef Quad_ RealT;
17  static const bool isSigned = true;
18  static const bool isInteger = false;
19 
20  // Disable divide by zero warning
21  #pragma warning(push)
22  #pragma warning(disable:4723)
23 
24  Info() :
25  min( -1.7976931348623158e+308),
26  max( 1.7976931348623158e+308),
27  smallest( 2.2250738585072014e-308),
28  epsilon( 2.2204460492503131e-016),
29  one( 1.0),
30  inf( 1.0 / (1.0 - one)),
31  nan( 0.0 / (1.0 - one)) {}
32 
33  #pragma warning(pop)
34 
35  const float128 min;
36  const float128 max;
37  const float128 smallest;
38  const float128 epsilon;
39  const float128 one;
40  const float128 inf;
41  const float128 nan;
42  };
43 }
44 
45 template<> class Numeral<float128> : public NumeralFloat<float128> {};
46 
47 }
long double float128
128 bit float type
Definition: Core.h:32
float Real
Real number type. See Real_ for real number operations and constants.
Definition: Real.h:21
int64 int128
Definition: Core.h:24
Global Honeycomb namespace.