#ifndef REAL_CONSTANT_H #define REAL_CONSTANT_H namespace vf { namespace lbm { namespace 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 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 c9o4 = 2.25; static constexpr double c5o2 = 2.5; static constexpr double c9o2 = 4.5; static constexpr double c0o1 = 0.; static constexpr double c1o1 = 1.; static constexpr double c2o1 = 2.; static constexpr double c3o1 = 3.; static constexpr double c4o1 = 4.; static constexpr double c5o1 = 5.; static constexpr double c6o1 = 6.; static constexpr double c7o1 = 7.; static constexpr double c8o1 = 8.; static constexpr double c9o1 = 9.; static constexpr double c10o1 = 10.; static constexpr double c11o1 = 11.; static constexpr double c12o1 = 12.; static constexpr double c13o1 = 13.; static constexpr double c14o1 = 14.; static constexpr double c15o1 = 15.; static constexpr double c16o1 = 16.; static constexpr double c17o1 = 17.; static constexpr double c18o1 = 18.; static constexpr double c21o1 = 21.; static constexpr double c24o1 = 24.; static constexpr double c25o1 = 25.; static constexpr double c26o1 = 26.; static constexpr double c27o1 = 27.; static constexpr double c28o1 = 28.; static constexpr double c29o1 = 29.; static constexpr double c30o1 = 30.; static constexpr double c32o1 = 32.; static constexpr double c33o1 = 33.; static constexpr double c34o1 = 34.; static constexpr double c36o1 = 36.; static constexpr double c40o1 = 40.; static constexpr double c42o1 = 42.; static constexpr double c46o1 = 46.; static constexpr double c48o1 = 48.; static constexpr double c50o1 = 50.; static constexpr double c52o1 = 52.; static constexpr double c54o1 = 54.; static constexpr double c56o1 = 56.; static constexpr double c64o1 = 64.; static constexpr double c66o1 = 66.; static constexpr double c68o1 = 68.; static constexpr double c69o1 = 69.; static constexpr double c72o1 = 72.; static constexpr double c84o1 = 84.; static constexpr double c88o1 = 88.; static constexpr double c96o1 = 96.; static constexpr double c100o1 = 10.; static constexpr double c130o1 = 13.; static constexpr double c152o1 = 15.; static constexpr double c166o1 = 16.; static constexpr double c195o1 = 19.; static constexpr double c216o1 = 21.; static constexpr double c264o1 = 26.; static constexpr double c290o1 = 29.; static constexpr double c367o1 = 36.; static constexpr double Op0000002 = 0.0000002; static constexpr double c10eM30 = 1e-30; static constexpr double c10eM10 = 1e-10; static constexpr double smallSingle = 0.0000000002; #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 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 c9o4 = 2.25f; static constexpr float c5o2 = 2.5f; static constexpr float c9o2 = 4.5f; static constexpr float c0o1 = 0.f; static constexpr float c1o1 = 1.f; static constexpr float c2o1 = 2.f; static constexpr float c3o1 = 3.f; static constexpr float c4o1 = 4.f; static constexpr float c5o1 = 5.f; static constexpr float c6o1 = 6.f; static constexpr float c7o1 = 7.f; static constexpr float c8o1 = 8.f; static constexpr float c9o1 = 9.f; static constexpr float c10o1 = 10.f; static constexpr float c11o1 = 11.f; static constexpr float c12o1 = 12.f; static constexpr float c13o1 = 13.f; static constexpr float c14o1 = 14.f; static constexpr float c15o1 = 15.f; static constexpr float c16o1 = 16.f; static constexpr float c17o1 = 17.f; static constexpr float c18o1 = 18.f; static constexpr float c21o1 = 21.f; static constexpr float c24o1 = 24.f; static constexpr float c25o1 = 25.f; static constexpr float c26o1 = 26.f; static constexpr float c27o1 = 27.f; static constexpr float c28o1 = 28.f; static constexpr float c29o1 = 29.f; static constexpr float c30o1 = 30.f; static constexpr float c32o1 = 32.f; static constexpr float c33o1 = 33.f; static constexpr float c34o1 = 34.f; static constexpr float c36o1 = 36.f; static constexpr float c40o1 = 40.f; static constexpr float c42o1 = 42.f; static constexpr float c46o1 = 46.f; static constexpr float c48o1 = 48.f; static constexpr float c50o1 = 50.f; static constexpr float c52o1 = 52.f; static constexpr float c54o1 = 54.f; static constexpr float c56o1 = 56.f; static constexpr float c64o1 = 64.f; static constexpr float c66o1 = 66.f; static constexpr float c68o1 = 68.f; static constexpr float c69o1 = 69.f; static constexpr float c72o1 = 72.f; static constexpr float c84o1 = 84.f; static constexpr float c88o1 = 88.f; static constexpr float c96o1 = 96.f; static constexpr float c100o1 = 100.0f; static constexpr float c130o1 = 130.0f; static constexpr float c152o1 = 152.0f; static constexpr float c166o1 = 166.0f; static constexpr float c195o1 = 195.0f; static constexpr float c216o1 = 216.0f; static constexpr float c264o1 = 264.0f; static constexpr float c290o1 = 290.0f; static constexpr float c367o1 = 367.0f; static constexpr float Op0000002 = 0.0000002f; static constexpr float c10eM30 = 1e-30; static constexpr float c10eM10 = 1e-10; static constexpr float smallSingle = 0.0000000002f; #endif } } } #endif