Honeycomb  0.1
Component-Model Framework
Double.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 Double_ : public RealBase<double>
11 {
12 public:
15 
16  static double abs(double x) { return fabs(x); }
17  static double ceil(double x) { return ::ceil(x); }
18  static double floor(double x) { return ::floor(x); }
19  static double round(double x) { return ::floor(x + 0.5); }
20  static double trunc(double x) { return (x < 0) ? -::floor(-x) : ::floor(x); }
21  static double frac(double x) { double whole; return modf(x, &whole); }
22  static double mod(double x, double y) { return fmod(x, y); }
23  static double sqrt(double x) { return ::sqrt(x); }
24  static double exp(double x) { return ::exp(x); }
25  static double pow(double x, double y) { return ::pow(x, y); }
26  static double log(double x) { return ::log(x); }
27  static double sin(double x) { return ::sin(x); }
28  static double asin(double x) { return ::asin(x); }
29  static double cos(double x) { return ::cos(x); }
30  static double acos(double x) { return ::acos(x); }
31  static double tan(double x) { return ::tan(x); }
32  static double atan(double x) { return ::atan(x); }
33  static double atan2(double y, double x) { return ::atan2(y, x); }
34 
35  static const double zero;
36  static const double smallest;
37  static const double epsilon;
38  static const double zeroTol;
39  static const double quarter;
40  static const double half;
41  static const double one;
42  static const double sqrtTwo;
43  static const double two;
44  static const double e;
45  static const double piEigth;
46  static const double piQuarter;
47  static const double piHalf;
48  static const double pi;
49  static const double piAndHalf;
50  static const double piTwo;
51  static const double max;
52  static const double inf;
53  static const double nan;
54 };
55 
58 
62 
63 }
64 
Double_::Real Double
double type
Definition: Double.h:60
static const double zeroTol
Definition: Double.h:38
static const double piAndHalf
Definition: Double.h:49
Defines 64-bit floating point operations and constants.
Definition: Double.h:10
static double cos(double x)
Definition: Double.h:29
static const double max
Definition: Double.h:51
static const double pi
Definition: Double.h:48
static double round(double x)
Definition: Double.h:19
static double sin(double x)
Definition: Double.h:27
static const double zero
Definition: Double.h:35
static const double two
Definition: Double.h:43
static const double e
Definition: Double.h:44
static double log(double x)
Definition: Double.h:26
static const double sqrtTwo
Definition: Double.h:42
Double_ DoubleType
Don't use quad as double type, double precision is good enough.
Definition: Double.h:14
static double ceil(double x)
Definition: Double.h:17
static const double inf
Definition: Double.h:52
static double pow(double x, double y)
Definition: Double.h:25
static double atan2(double y, double x)
Definition: Double.h:33
static double floor(double x)
Definition: Double.h:18
static double sqrt(double x)
Definition: Double.h:23
static double acos(double x)
Definition: Double.h:30
static double asin(double x)
Definition: Double.h:28
Base class for real number operations.
Definition: Real.h:11
static const double piEigth
Definition: Double.h:45
static double frac(double x)
Definition: Double.h:21
static const double piQuarter
Definition: Double.h:46
double Real
Definition: Real.h:14
static const double nan
Definition: Double.h:53
static double abs(double x)
Definition: Double.h:16
static double tan(double x)
Definition: Double.h:31
static double mod(double x, double y)
Definition: Double.h:22
static const double piHalf
Definition: Double.h:47
static double exp(double x)
Definition: Double.h:24
static const double piTwo
Definition: Double.h:50
static const double epsilon
Definition: Double.h:37
static const double half
Definition: Double.h:40
static double trunc(double x)
Definition: Double.h:20
static const double quarter
Definition: Double.h:39
Global Honeycomb namespace.
static const double one
Definition: Double.h:41
static double atan(double x)
Definition: Double.h:32
static const double smallest
Definition: Double.h:36