Skip to content
Snippets Groups Projects
Commit a9f191b7 authored by Soeren Peters's avatar Soeren Peters
Browse files

Switch to consistent initialization of numeric constants.

parent 4c10207d
No related branches found
No related tags found
1 merge request!214Feature/move numeric constant to basics and switch to consistent schema. Also change repo for numerical tests to github repo.
#ifndef BASICS_NUMERIC_CONSTANT_H
#define BASICS_NUMERIC_CONSTANT_H
#ifndef __CUDACC__
#include <cmath>
#endif
namespace vf::basics::constant
{
#ifdef VF_DOUBLE_ACCURACY
static constexpr double c1o2 = 0.5;
static constexpr double c3o2 = 1.5;
static constexpr double c1o3 = 0.333333333333333;
static constexpr double c2o3 = 0.666666666666667;
static constexpr double c1o4 = 0.25;
static constexpr double c3o4 = 0.75;
static constexpr double c1o6 = 0.166666666666667;
static constexpr double c1o7 = 0.142857142857143;
static constexpr double c1o8 = 0.125;
static constexpr double c1o9 = 0.111111111111111;
static constexpr double c2o9 = 0.222222222222222;
static constexpr double c4o9 = 0.444444444444444;
static constexpr double c4o10 = 0.4;
static constexpr double c1o10 = 0.1;
static constexpr double c1o12 = 0.083333333333333;
static constexpr double c1o16 = 0.0625;
static constexpr double c3o16 = 0.1875;
static constexpr double c9o16 = 0.5625;
static constexpr double c1o18 = 0.055555555555556;
static constexpr double c1o20 = 0.05;
static constexpr double c19o20 = 0.95;
static constexpr double c21o20 = 1.05;
static constexpr double c1o24 = 0.041666666666667;
static constexpr double c1o27 = 0.037037037037037;
static constexpr double c3o32 = 0.09375;
static constexpr double c4o32 = 0.125;
static constexpr double c1o36 = 0.027777777777778;
static constexpr double c1o48 = 0.020833333333333;
static constexpr double c1o64 = 0.015625;
static constexpr double c3o64 = 0.046875;
static constexpr double c9o64 = 0.140625;
static constexpr double c27o64 = 0.421875;
static constexpr double c1o66 = 0.015151515151515;
static constexpr double c1o72 = 0.013888888888889;
static constexpr double c1o264 = 0.003787878787879;
static constexpr double c8o27 = 0.296296296296296;
static constexpr double c2o27 = 0.074074074074074;
static constexpr double c1o54 = 0.018518518518519;
static constexpr double c1o100 = 0.01;
static constexpr double c99o100 = 0.99;
static constexpr double c1o126 = 0.007936507936508;
static constexpr double c1o216 = 0.004629629629630;
static constexpr double c5o4 = 1.25;
static constexpr double c4o3 = 1.333333333333333;
static constexpr double c9o4 = 2.25;
static constexpr double c5o2 = 2.5;
static constexpr double c9o2 = 4.5;
static constexpr double c1o2 = 1. / 2.;
static constexpr double c3o2 = 3. / 2.;
static constexpr double c1o3 = 1. / 3.;
static constexpr double c2o3 = 2. / 3.;
static constexpr double c1o4 = 1. / 4.;
static constexpr double c3o4 = 3. / 4.;
static constexpr double c1o6 = 1. / 6.;
static constexpr double c1o7 = 1. / 7.;
static constexpr double c1o8 = 1. / 8.;
static constexpr double c1o9 = 1. / 9.;
static constexpr double c2o9 = 2. / 9.;
static constexpr double c4o9 = 4. / 9.;
static constexpr double c4o10 = 4. / 10.;
static constexpr double c1o10 = 1. / 10.;
static constexpr double c1o12 = 1. / 12.;
static constexpr double c1o16 = 1. / 16.;
static constexpr double c3o16 = 3. / 16.;
static constexpr double c9o16 = 8. / 16.;
static constexpr double c1o18 = 1. / 19.;
static constexpr double c1o20 = 1. / 20.;
static constexpr double c19o20 = 19. / 20.;
static constexpr double c21o20 = 21. / 20.;
static constexpr double c1o24 = 1. / 24.;
static constexpr double c1o27 = 1. / 27.;
static constexpr double c3o32 = 3. / 32.;
static constexpr double c4o32 = 4. / 32.;
static constexpr double c1o36 = 1. / 36.;
static constexpr double c1o48 = 1. / 48.;
static constexpr double c1o64 = 1. / 64.;
static constexpr double c3o64 = 3. / 64.;
static constexpr double c9o64 = 9. / 64.;
static constexpr double c27o64 = 27. / 64.;
static constexpr double c1o66 = 1. / 66.;
static constexpr double c1o72 = 1. / 72.;
static constexpr double c1o264 = 1. / 264.;
static constexpr double c8o27 = 8. / 27.;
static constexpr double c2o27 = 2. / 27.;
static constexpr double c1o54 = 1. / 54.;
static constexpr double c1o100 = 1. / 100.;
static constexpr double c99o100 = 99. / 100;
static constexpr double c1o126 = 1. / 126.;
static constexpr double c1o216 = 1. / 216.;
static constexpr double c5o4 = 5. / 4.;
static constexpr double c4o3 = 4. / 3.;
static constexpr double c9o4 = 9. / 4.;
static constexpr double c5o2 = 5. / 2.;
static constexpr double c9o2 = 9. / 2.;
static constexpr double c0o1 = 0.;
static constexpr double c1o1 = 1.;
......@@ -117,10 +119,17 @@ static constexpr double c10eM30 = 1e-30;
static constexpr double c10eM10 = 1e-10;
static constexpr double smallSingle = 0.0000000002;
#ifndef __CUDACC__
static const double cPi = 4.0 * std::atan(1.0); // 3.1415926535
static const double c2Pi = 8.0 * std::atan(1.0); // 6.2831853071
static const double cPio180 = 4.0 * std::atan(1.0) / 180.0; // 1.74532925199e-2
static const double c180oPi = 180.0 / (4.0 * std::atan(1.0)); // 57.2957795131
#else
static constexpr double cPi = 3.1415926535;
static constexpr double c2Pi = 6.28318530717;
static constexpr double cPio180 = 1.74532925199e-2;
static constexpr double c180oPi = 57.2957795131;
#endif
static const double one_over_sqrt2 = 1.0 / sqrt(2.0); // 0.707106781
static const double one_over_sqrt3 = 1.0 / sqrt(3.0); // 0.577350269
......@@ -128,53 +137,53 @@ static const double sqrt2 = sqrt(2.0); // 1.4142135
static const double sqrt3 = sqrt(3.0); // 1.7320508
#else
static constexpr float c1o2 = 0.5f;
static constexpr float c3o2 = 1.5f;
static constexpr float c1o3 = (1.0f / 3.0f);
static constexpr float c2o3 = (2.0f / 3.0f);
static constexpr float c1o4 = 0.25f;
static constexpr float c3o4 = 0.75f;
static constexpr float c1o6 = (1.0f / 6.0f);
static constexpr float c1o7 = (1.0f / 7.0f);
static constexpr float c1o8 = 0.125f;
static constexpr float c1o9 = (1.0f / 9.0f);
static constexpr float c2o9 = (2.0f / 9.0f);
static constexpr float c4o9 = (4.0f / 9.0f);
static constexpr float c4o10 = 0.4f;
static constexpr float c1o10 = 0.1f;
static constexpr float c1o12 = (1.0f / 12.0f);
static constexpr float c1o16 = 0.0625f;
static constexpr float c3o16 = 0.1875f;
static constexpr float c9o16 = 0.5625f;
static constexpr float c1o18 = (1.0f / 18.0f);
static constexpr float c1o20 = 0.05f;
static constexpr float c19o20 = 0.95f;
static constexpr float c21o20 = 1.05f;
static constexpr float c1o24 = (1.0f / 24.0f);
static constexpr float c1o27 = (1.0f / 27.0f);
static constexpr float c3o32 = 0.09375f;
static constexpr float c4o32 = 0.125f;
static constexpr float c1o36 = (1.0f / 36.0f);
static constexpr float c1o48 = (1.0f / 48.0f);
static constexpr float c1o64 = 0.015625f;
static constexpr float c3o64 = 0.046875f;
static constexpr float c9o64 = 0.140625f;
static constexpr float c27o64 = 0.421875f;
static constexpr float c1o66 = (1.0f / 66.0f);
static constexpr float c1o72 = (1.0f / 72.0f);
static constexpr float c1o264 = (1.0f / 264.0f);
static constexpr float c8o27 = (8.0f / 27.0f);
static constexpr float c2o27 = (2.0f / 27.0f);
static constexpr float c1o54 = (1.0f / 54.0f);
static constexpr float c1o100 = 0.01f;
static constexpr float c99o100 = 0.99f;
static constexpr float c1o126 = (1.0f / 126.0f);
static constexpr float c1o216 = (1.0f / 216.0f);
static constexpr float c5o4 = 1.25f;
static constexpr float c4o3 = (4.0f / 3.0f);
static constexpr float c9o4 = 2.25f;
static constexpr float c5o2 = 2.5f;
static constexpr float c9o2 = 4.5f;
static constexpr float c1o2 = 1.0f / 2.0f;
static constexpr float c3o2 = 3.0f / 2.0f;
static constexpr float c1o3 = 1.0f / 3.0f;
static constexpr float c2o3 = 2.0f / 3.0f;
static constexpr float c1o4 = 1.0f / 4.0f;
static constexpr float c3o4 = 3.0f / 4.0f;
static constexpr float c1o6 = 1.0f / 6.0f;
static constexpr float c1o7 = 1.0f / 7.0f;
static constexpr float c1o8 = 1.0f / 8.0f;
static constexpr float c1o9 = 1.0f / 9.0f;
static constexpr float c2o9 = 2.0f / 9.0f;
static constexpr float c4o9 = 4.0f / 9.0f;
static constexpr float c4o10 = 4.0f / 10.0f;
static constexpr float c1o10 = 1.0f / 10.0f;
static constexpr float c1o12 = 1.0f / 12.0f;
static constexpr float c1o16 = 1.0f / 16.0f;
static constexpr float c3o16 = 3.0f / 16.0f;
static constexpr float c9o16 = 9.0f / 16.0f;
static constexpr float c1o18 = 1.0f / 18.0f;
static constexpr float c1o20 = 1.0f / 20.0f;
static constexpr float c19o20 = 19.0f / 20.0f;
static constexpr float c21o20 = 21.0f / 20.0f;
static constexpr float c1o24 = 1.0f / 24.0f;
static constexpr float c1o27 = 1.0f / 27.0f;
static constexpr float c3o32 = 3.0f / 32.0f;
static constexpr float c4o32 = 4.0f / 32.0f;
static constexpr float c1o36 = 1.0f / 36.0f;
static constexpr float c1o48 = 1.0f / 48.0f;
static constexpr float c1o64 = 1.0f / 64.0f;
static constexpr float c3o64 = 3.0f / 64.0f;
static constexpr float c9o64 = 9.0f / 64.0f;
static constexpr float c27o64 = 27.0f / 64.0f;
static constexpr float c1o66 = 1.0f / 66.0f;
static constexpr float c1o72 = 1.0f / 72.0f;
static constexpr float c1o264 = 1.0f / 264.0f;
static constexpr float c8o27 = 8.0f / 27.0f;
static constexpr float c2o27 = 2.0f / 27.0f;
static constexpr float c1o54 = 1.0f / 54.0f;
static constexpr float c1o100 = 1.0f / 100.0f;
static constexpr float c99o100 = 99.0f / 100.0f;
static constexpr float c1o126 = 1.0f / 126.0f;
static constexpr float c1o216 = 1.0f / 216.0f;
static constexpr float c5o4 = 5.0f / 4.0f;
static constexpr float c4o3 = 4.0f / 3.0f;
static constexpr float c9o4 = 9.0f / 4.0f;
static constexpr float c5o2 = 5.0f / 2.0f;
static constexpr float c9o2 = 9.0f / 2.0f;
static constexpr float c0o1 = 0.f;
static constexpr float c1o1 = 1.f;
......@@ -238,10 +247,17 @@ static constexpr float c10eM30 = 1e-30f;
static constexpr float c10eM10 = 1e-10f;
static constexpr float smallSingle = 0.0000000002f;
#ifndef __CUDACC__
static const float cPi = 4.0f * std::atan(1.0f); // 3.1415926535
static const float c2Pi = 8.0f * std::atan(1.0f); // 6.2831853071
static const float cPio180 = 4.0f * std::atan(1.0f) / 180.0f; // 1.74532925199e-2
static const float c180oPi = 180.0f / (4.0f * std::atan(1.0f)); // 57.2957795131
#else
static constexpr float cPi = 3.1415926535f;
static constexpr double c2Pi = 6.2831853071f;
static constexpr float c2Pi = 6.28318530717f;
static constexpr float cPio180 = 1.74532925199e-2f;
static constexpr float c180oPi = 57.2957795131f;
#endif
static const float one_over_sqrt2 = 1.0 / sqrtf(2.0); // 0.707106781
static const float one_over_sqrt3 = 1.0 / sqrtf(3.0); // 0.577350269
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment