1DIGS = {1: 'F1D', 2: 'F2D', 3: 'F3D', 22: 'SD', -2: 'L2D'}
2
3SEC_ORDER_DIGS = {key: f'{val}_sec' for key, val in DIGS.items()}
4
5REV_DIGS = {'F1D': 1, 'F2D': 2, 'F3D': 3, 'SD': 22, 'L2D': -2}
6
7LEN_TEST = {1: 9, 2: 90, 3: 900, 22: 10, -2: 100}
8
9TEST_NAMES = {'F1D': 'First Digit Test', 'F2D': 'First Two Digits Test',
10         'F3D': 'First Three Digits Test', 'SD': 'Second Digit Test',
11         'L2D': 'Last Two Digits Test',
12         'F1D_sec': 'First Digit Second Order Test',
13         'F2D_sec': 'First Two Digits Second Order Test',
14         'F3D_sec': 'First Three Digits Second Order Test',
15         'SD_sec': 'Second Digit Second Order Test',
16         'L2D_sec': 'Last Two Digits Second Order Test',
17         'F1D_Summ': 'First Digit Summation Test',
18         'F2D_Summ': 'First Two Digits Summation Test',
19         'F3D_Summ': 'First Three Digits Summation Test',
20         'Mantissas': 'Mantissas Test'
21         }
22
23# Critical values for Mean Absolute Deviation
24MAD_CONFORM = {1: [0.006, 0.012, 0.015], 2: [0.0012, 0.0018, 0.0022],
25            3: [0.00036, 0.00044, 0.00050], 22: [0.008, 0.01, 0.012],
26            -2: None, 'F1D': 'First Digit', 'F2D': 'First Two Digits',
27            'F3D': 'First Three Digits', 'SD': 'Second Digits'}
28
29# Color for the plotting
30COLORS = {'m': '#00798c', 'b': '#E2DCD8', 's': '#9c3848',
31          'af': '#edae49', 'ab': '#33658a', 'h': '#d1495b',
32          'h2': '#f64740', 't': '#16DB93'}
33
34# Critical Z-scores according to the confindence levels
35CONFS = {None: None, 80: 1.285, 85: 1.435, 90: 1.645, 95: 1.96,
36         99: 2.576, 99.9: 3.29, 99.99: 3.89, 99.999: 4.417,
37         99.9999: 4.892, 99.99999: 5.327}
38
39P_VALUES = {None: 'None', 80: '0.2', 85: '0.15', 90: '0.1', 95: '0.05',
40            99: '0.01', 99.9: '0.001', 99.99: '0.0001', 99.999: '0.00001',
41            99.9999: '0.000001', 99.99999: '0.0000001'}
42
43# Critical Chi-Square values according to the tests degrees of freedom
44# and confidence levels
45CRIT_CHI2 = {8: {80: 11.03, 85: 12.027, 90: 13.362, 95: 15.507,
46                 99: 20.090, 99.9: 26.124, 99.99: 31.827, None: None,
47                 99.999: 37.332, 99.9999: 42.701, 99.99999: 47.972},
48             9: {80: 12.242, 85: 13.288, 90: 14.684, 95: 16.919,
49                 99: 21.666, 99.9: 27.877, 99.99: 33.72, None: None,
50                 99.999: 39.341, 99.9999: 44.811, 99.99999: 50.172},
51             89: {80: 99.991, 85: 102.826, 90: 106.469, 95: 112.022,
52                  99: 122.942, 99.9: 135.978, 99.99: 147.350,
53                  99.999: 157.702, 99.9999: 167.348, 99.99999: 176.471,
54                  None: None},
55             99: {80: 110.607, 85: 113.585, 90: 117.407,
56                  95: 123.225, 99: 134.642, 99.9: 148.230,
57                  99.99: 160.056, 99.999: 170.798, 99.9999: 180.792,
58                  99.99999: 190.23, None: None},
59             899: {80: 934.479, 85: 942.981, 90: 953.752, 95: 969.865,
60                   99: 1000.575, 99.9: 1035.753, 99.99: 1065.314,
61                   99.999: 1091.422, 99.9999: 1115.141,
62                   99.99999: 1137.082, None: None}
63             }
64
65# Critical Kolmogorov-Smirnov values according to the confidence levels
66# These values are yet to be divided by the square root of the sample size
67CRIT_KS = {80: 1.073, 85: 1.138, 90: 1.224, 95: 1.358, 99: 1.628,
68           99.9: 1.949, 99.99: 2.225, 99.999: 2.47,
69           99.9999: 2.693, 99.99999: 2.899, None: None}
70