Honeycomb  0.1
Component-Model Framework
Quad.h
Go to the documentation of this file.
1 // Honeycomb, Copyright (C) 2015 NewGamePlus Inc. Distributed under the Boost Software License v1.0.
2 #pragma once
3 
4 #include "Honey/Math/Real.h"
5 
6 namespace honey
7 {
8 
10 class Quad_ : public RealBase<float128>
11 {
12 public:
13  typedef Quad_ DoubleType;
14 
15  static float128 abs(float128 x) { return fabsl(x); }
16  static float128 ceil(float128 x) { return ceill(x); }
17  static float128 floor(float128 x) { return floorl(x); }
18  static float128 round(float128 x) { return floorl(x + 0.5); }
19  static float128 trunc(float128 x) { return (x < 0) ? -floorl(-x) : floorl(x); }
20  static float128 frac(float128 x) { float128 whole; return modfl(x, &whole); }
21  static float128 mod(float128 x, float128 y) { return fmodl(x, y); }
22  static float128 sqrt(float128 x) { return sqrtl(x); }
23  static float128 exp(float128 x) { return expl(x); }
24  static float128 pow(float128 x, float128 y) { return powl(x, y); }
25  static float128 log(float128 x) { return logl(x); }
26  static float128 sin(float128 x) { return sinl(x); }
27  static float128 asin(float128 x) { return asinl(x); }
28  static float128 cos(float128 x) { return cosl(x); }
29  static float128 acos(float128 x) { return acosl(x); }
30  static float128 tan(float128 x) { return tanl(x); }
31  static float128 atan(float128 x) { return atanl(x); }
32  static float128 atan2(float128 y, float128 x) { return atan2l(y, x); }
33 
34  static const float128 zero;
35  static const float128 smallest;
36  static const float128 epsilon;
37  static const float128 zeroTol;
38  static const float128 quarter;
39  static const float128 half;
40  static const float128 one;
41  static const float128 sqrtTwo;
42  static const float128 two;
43  static const float128 e;
44  static const float128 piEigth;
45  static const float128 piQuarter;
46  static const float128 piHalf;
47  static const float128 pi;
48  static const float128 piAndHalf;
49  static const float128 piTwo;
50  static const float128 max;
51  static const float128 inf;
52  static const float128 nan;
53 };
54 
57 
59 typedef Quad_::Real Quad;
61 
62 }
63 
static const float128 quarter
Definition: Quad.h:38
static const float128 two
Definition: Quad.h:42
static float128 frac(float128 x)
Definition: Quad.h:20
static const float128 piAndHalf
Definition: Quad.h:48
static const float128 sqrtTwo
Definition: Quad.h:41
static float128 pow(float128 x, float128 y)
Definition: Quad.h:24
static float128 floor(float128 x)
Definition: Quad.h:17
static const float128 pi
Definition: Quad.h:47
static const float128 zero
Definition: Quad.h:34
static float128 log(float128 x)
Definition: Quad.h:25
static const float128 one
Definition: Quad.h:40
static float128 sqrt(float128 x)
Definition: Quad.h:22
static float128 sin(float128 x)
Definition: Quad.h:26
static float128 round(float128 x)
Definition: Quad.h:18
static float128 abs(float128 x)
Definition: Quad.h:15
static float128 acos(float128 x)
Definition: Quad.h:29
Defines 128-bit floating point operations and constants.
Definition: Quad.h:10
static const float128 smallest
Definition: Quad.h:35
static float128 trunc(float128 x)
Definition: Quad.h:19
static const float128 max
Definition: Quad.h:50
static float128 atan2(float128 y, float128 x)
Definition: Quad.h:32
static const float128 epsilon
Definition: Quad.h:36
static float128 exp(float128 x)
Definition: Quad.h:23
long double float128
128 bit float type
Definition: Core.h:32
Base class for real number operations.
Definition: Real.h:11
static float128 asin(float128 x)
Definition: Quad.h:27
static float128 atan(float128 x)
Definition: Quad.h:31
static const float128 e
Definition: Quad.h:43
static float128 ceil(float128 x)
Definition: Quad.h:16
float128 Real
Definition: Real.h:14
static const float128 nan
Definition: Quad.h:52
static float128 cos(float128 x)
Definition: Quad.h:28
static const float128 zeroTol
Definition: Quad.h:37
static float128 tan(float128 x)
Definition: Quad.h:30
static const float128 piHalf
Definition: Quad.h:46
static const float128 piQuarter
Definition: Quad.h:45
static const float128 piTwo
Definition: Quad.h:49
static float128 mod(float128 x, float128 y)
Definition: Quad.h:21
Quad_ DoubleType
Definition: Quad.h:13
Global Honeycomb namespace.
static const float128 half
Definition: Quad.h:39
Quad_::Real Quad
float128 type
Definition: Quad.h:59
static const float128 piEigth
Definition: Quad.h:44
static const float128 inf
Definition: Quad.h:51