2#ifndef STORMM_SCALING_H
3#define STORMM_SCALING_H
6#include "DataTypes/common_types.h"
13constexpr llint kilo = 1024LL;
14constexpr llint mega = kilo * kilo;
15constexpr llint giga = mega * kilo;
16constexpr size_t kilo_zu = 1024LLU;
17constexpr size_t mega_zu = kilo_zu * kilo_zu;
18constexpr size_t giga_zu = mega_zu * kilo_zu;
22constexpr double small = 1.0e-8;
23constexpr float small_f = small;
26constexpr double tiny = 1.0e-10;
27constexpr float tiny_f = tiny;
30constexpr double verytiny = 1.0e-12;
31constexpr float verytiny_f = verytiny;
35constexpr int int_byte_count_int =
sizeof(int);
36constexpr int int_bit_count_int = int_byte_count_int * 8;
37constexpr int uint_byte_count_int =
sizeof(
unsigned int);
38constexpr int uint_bit_count_int = uint_byte_count_int * 8;
39constexpr int llint_byte_count_int =
sizeof(
long long int);
40constexpr int llint_bit_count_int = llint_byte_count_int * 8;
41constexpr int ullint_byte_count_int =
sizeof(
unsigned long long int);
42constexpr int ullint_bit_count_int = ullint_byte_count_int * 8;
43constexpr int ushort_byte_count_int =
sizeof(
unsigned short int);
44constexpr int ushort_bit_count_int = ushort_byte_count_int * 8;
45constexpr size_t int_byte_count_zu =
sizeof(int);
46constexpr size_t int_bit_count_zu = int_byte_count_int * 8;
47constexpr size_t uint_byte_count_zu =
sizeof(
unsigned int);
48constexpr size_t uint_bit_count_zu = uint_byte_count_zu * 8LLU;
49constexpr size_t llint_byte_count_zu =
sizeof(
long long int);
50constexpr size_t llint_bit_count_zu = llint_byte_count_int * 8LLU;
51constexpr size_t ullint_byte_count_zu =
sizeof(
unsigned long long int);
52constexpr size_t ullint_bit_count_zu = ullint_byte_count_zu * 8LLU;
53constexpr size_t ushort_byte_count_zu =
sizeof(
unsigned short int);
54constexpr size_t ushort_bit_count_zu = ushort_byte_count_zu * 8LLU;
60constexpr double time_step_factor = 0.0204548282808729546544679323005766491405665874481201171875;
61constexpr float time_step_factor_f = time_step_factor;
68using constants::int_byte_count_int;
69using constants::int_bit_count_int;
70using constants::uint_byte_count_int;
71using constants::uint_bit_count_int;
72using constants::ullint_byte_count_int;
73using constants::ullint_bit_count_int;
74using constants::ushort_byte_count_int;
75using constants::ushort_bit_count_int;
76using constants::int_byte_count_zu;
77using constants::int_bit_count_zu;
78using constants::uint_byte_count_zu;
79using constants::uint_bit_count_zu;
80using constants::ullint_byte_count_zu;
81using constants::ullint_bit_count_zu;
82using constants::ushort_byte_count_zu;
83using constants::ushort_bit_count_zu;