main
Brett 2024-10-21 19:25:00 -04:00
parent d6b96ce14f
commit 86aff4d2e9
39 changed files with 879 additions and 648 deletions

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.28)
cmake_minimum_required(VERSION 3.25)
project(COSC-4P80-Assignment-2 VERSION 0.0.2)
option(ENABLE_ADDRSAN "Enable the address sanitizer" OFF)

View File

@ -1,55 +1,55 @@
53 32
0 184.20 10.27 40.46 26.18 20.42 10.79 9.42 6.89 10.41 8.08 5.52 8.95 12.51 18.47 32.67 24.44 20.17 19.57 43.49 62.56 22.04 13.37 10.78 7.62 6.75 8.87 13.94 23.90 25.10 26.78 53.10 53.88
0 144.26 17.80 57.50 35.40 13.95 12.70 12.97 8.16 8.75 8.12 6.44 8.98 12.08 19.86 27.17 20.90 20.27 20.65 44.31 40.91 18.83 11.75 8.99 7.61 6.97 6.74 8.24 18.34 25.90 20.43 31.44 34.57
0 154.61 13.94 57.00 29.44 25.23 8.55 11.24 6.74 5.77 8.34 5.41 6.20 6.98 15.60 22.01 14.66 14.80 18.72 36.28 39.96 14.35 9.28 7.67 7.29 9.73 8.09 11.15 12.36 23.78 20.45 36.50 44.66
0 166.85 20.04 103.26 45.08 19.62 11.45 11.48 6.11 9.67 8.82 5.65 8.41 9.17 19.02 20.90 17.00 17.21 22.06 33.48 47.66 18.15 10.39 8.13 7.19 7.31 9.08 15.28 18.49 27.42 24.89 44.56 55.59
0 162.94 18.70 88.49 46.83 18.99 9.66 12.95 5.95 7.05 11.32 4.95 6.56 8.50 17.69 22.43 19.27 18.72 19.79 31.86 40.15 19.30 11.04 10.91 10.98 10.24 9.68 14.25 22.78 39.93 29.07 28.88 38.23
0 192.43 32.60 117.66 48.14 30.78 19.09 17.53 10.88 11.38 16.64 9.17 11.35 14.24 28.19 34.79 29.57 21.13 21.65 35.52 41.28 20.11 12.52 11.31 9.49 9.15 9.57 11.49 17.98 34.22 27.28 25.07 31.41
0 172.29 17.30 113.80 33.35 27.41 13.53 13.78 10.13 5.97 11.25 5.58 6.74 10.05 25.44 36.54 23.50 20.56 30.76 50.23 45.60 24.33 14.58 11.72 11.78 11.26 16.36 26.02 36.71 41.53 28.83 40.20 62.13
0 182.79 14.35 37.89 34.64 25.27 10.59 12.28 8.26 11.76 10.00 7.12 9.12 10.54 21.21 27.08 20.86 17.85 20.67 34.64 57.07 28.50 12.67 9.29 7.90 8.42 8.37 10.56 32.39 29.14 24.14 28.78 40.12
0 188.78 22.91 59.50 32.64 22.94 11.50 18.23 10.62 9.37 10.49 7.32 10.13 12.89 25.32 36.11 27.92 25.13 20.72 55.27 40.61 15.34 12.99 8.66 7.08 9.56 11.71 16.61 22.38 23.52 19.89 33.62 49.31
0 149.37 14.35 79.69 34.24 23.13 12.73 9.43 5.87 6.17 6.54 5.44 9.49 13.04 12.99 17.40 22.61 28.24 19.72 38.66 28.07 13.23 10.41 13.36 14.16 11.16 10.37 15.89 28.73 41.17 40.51 46.28 65.57
0 173.83 18.66 69.66 41.00 25.65 10.32 25.50 13.80 11.97 15.30 7.95 8.40 10.41 18.90 25.22 24.17 21.24 26.88 39.90 55.18 27.93 18.07 11.66 10.37 11.37 13.62 14.09 14.84 21.28 19.93 27.37 33.29
0 176.09 14.05 57.75 25.51 17.76 9.69 20.87 15.54 10.26 15.85 9.71 9.79 12.13 22.22 39.08 37.83 27.88 25.05 43.39 59.15 27.43 17.69 18.49 11.37 8.96 7.94 10.57 21.22 29.27 20.53 26.38 45.99
0 193.03 24.50 69.40 37.42 22.69 11.01 14.96 14.16 10.35 14.50 7.05 9.82 11.53 19.75 32.59 30.59 21.46 24.16 47.59 65.16 26.30 23.64 19.57 13.11 9.62 14.12 29.66 30.80 34.70 39.92 70.93 84.41
0 168.65 13.90 71.86 48.08 37.78 15.94 19.34 22.55 17.64 17.28 19.24 18.90 21.77 42.08 35.91 25.17 23.84 40.65 49.30 47.94 20.28 9.72 11.86 9.82 7.44 8.94 10.74 22.07 24.97 22.79 27.77 45.00
0 306.02 38.00 72.07 39.18 30.18 15.54 16.35 9.92 12.16 10.36 7.50 8.66 10.92 21.56 20.52 19.84 18.56 22.28 32.09 35.90 14.39 8.74 8.44 8.21 8.36 8.77 9.78 9.49 7.36 10.23 19.06 16.66
0 261.35 29.15 84.01 54.89 23.15 24.33 22.38 9.72 12.95 13.33 6.72 9.58 12.64 20.98 26.83 17.86 19.72 23.31 41.34 29.60 17.39 10.02 6.07 6.16 6.21 5.73 6.63 8.06 8.98 8.72 14.44 13.44
0 290.29 34.77 69.71 27.95 19.15 13.61 14.10 9.74 11.40 7.77 5.99 6.81 8.88 13.99 13.16 11.80 11.06 16.28 23.43 27.40 11.85 7.45 6.05 5.80 5.67 6.21 8.32 11.47 11.28 17.41 22.15 18.04
0 270.40 36.17 82.71 37.34 21.89 19.21 14.98 9.33 10.73 10.96 6.79 8.63 11.82 23.82 26.44 16.90 17.71 20.68 37.24 29.98 15.29 9.79 7.59 7.09 7.75 10.60 15.13 16.08 26.75 23.06 48.87 46.56
0 229.10 34.69 63.19 28.96 24.96 11.17 12.73 7.68 8.24 8.80 5.97 8.05 8.36 14.07 19.45 17.38 17.63 24.67 31.93 33.35 25.10 14.47 9.00 6.37 5.87 7.71 11.45 15.43 12.68 14.07 18.61 14.60
0 269.96 40.44 69.81 23.05 21.66 12.14 11.50 7.99 9.04 7.75 6.09 6.67 8.45 15.56 12.12 13.99 12.67 16.02 25.50 27.41 11.54 7.74 6.91 7.59 6.98 6.86 8.90 11.47 15.17 9.46 21.74 22.98
0 246.26 36.02 151.28 107.36 36.37 19.01 13.79 8.87 15.14 10.40 8.23 14.60 23.22 25.64 28.85 21.64 32.91 33.41 37.48 37.34 18.13 10.73 8.78 8.35 7.04 6.72 8.44 12.40 12.18 19.84 23.92 25.16
0 232.29 17.78 51.02 23.78 18.63 8.28 8.83 5.69 6.81 7.22 4.55 6.57 9.51 20.28 18.09 14.29 14.09 26.78 30.75 33.57 14.92 10.04 10.30 9.21 9.38 14.69 21.14 23.67 28.49 34.18 36.91 69.20
0 238.27 20.92 59.02 30.41 22.17 9.58 11.01 8.98 10.79 6.92 5.24 6.76 9.35 19.15 25.22 15.75 17.16 29.48 27.78 34.01 14.52 11.68 9.95 8.32 10.52 14.15 19.46 20.00 19.42 21.61 24.56 19.69
0 269.70 17.41 55.12 25.36 22.66 9.41 11.76 7.94 14.58 8.14 6.32 7.70 11.07 23.12 30.30 16.70 16.24 18.90 36.79 30.61 13.47 9.92 6.91 6.16 10.02 11.95 9.57 9.98 9.74 10.62 19.77 19.37
0 291.67 27.61 56.92 32.17 22.05 11.40 14.02 8.51 11.78 10.00 6.39 7.56 10.15 23.91 22.69 18.04 20.34 23.28 34.33 30.61 12.48 8.14 6.80 6.27 7.26 8.23 9.99 13.03 13.98 14.26 24.87 30.76
0 287.69 22.25 54.29 28.78 24.01 10.85 13.39 9.30 14.92 10.86 6.39 7.80 9.23 18.46 22.42 17.53 15.67 25.28 30.91 49.96 31.83 16.08 11.55 9.16 9.32 11.81 12.79 15.90 18.51 15.25 22.12 23.34
0 249.73 34.18 66.98 31.52 23.62 14.14 10.55 9.86 11.27 8.95 7.91 9.68 11.10 21.30 25.29 18.60 20.23 22.91 35.28 26.63 15.20 8.37 6.76 7.00 9.01 10.05 11.90 14.37 19.08 26.60 32.03 25.30
0 252.89 34.07 58.12 40.45 26.91 12.28 13.61 8.62 8.29 9.26 6.95 11.28 12.33 19.69 22.78 26.80 24.79 21.42 44.89 38.66 32.94 23.44 16.43 15.08 17.14 12.96 14.53 17.56 18.18 15.61 25.39 23.97
0 242.66 15.78 43.78 34.80 23.97 9.24 12.65 6.97 8.40 7.32 5.96 7.19 9.31 19.67 22.16 18.03 17.66 27.97 23.89 47.39 25.14 15.43 11.73 6.87 7.48 8.12 10.31 9.51 14.05 13.76 18.41 22.63
0 252.90 18.79 62.40 22.69 17.72 9.69 8.66 5.95 11.24 8.55 5.97 7.67 10.07 13.17 13.50 12.43 16.81 19.07 31.60 28.05 13.82 8.24 6.47 7.46 6.57 6.10 8.87 11.18 8.09 8.47 12.22 16.37
0 276.14 34.11 50.50 31.46 26.88 15.53 11.58 10.22 12.30 13.34 7.25 8.52 9.45 18.99 24.18 17.22 16.45 20.89 38.86 42.22 16.73 10.90 9.82 7.76 7.29 7.61 10.40 15.70 16.72 18.66 39.81 59.79
0 236.53 40.39 82.24 72.51 53.22 22.15 23.73 9.10 16.98 8.92 6.46 8.04 11.67 25.54 23.79 19.20 21.21 19.28 38.26 31.10 15.60 12.76 8.83 6.80 7.55 11.69 16.99 26.50 29.61 15.59 24.82 34.75
0 238.12 22.01 55.70 33.64 21.76 18.26 10.28 7.86 11.62 8.76 6.39 9.50 12.48 17.64 26.07 19.73 21.15 21.56 28.73 42.48 15.05 10.50 9.12 6.90 8.20 11.07 16.91 28.45 30.01 30.23 44.26 46.26
0 271.57 41.43 72.45 28.69 18.35 12.71 14.83 10.18 11.36 10.60 7.06 7.83 10.84 19.07 23.29 18.63 18.24 31.88 25.89 41.33 17.28 12.03 7.96 7.75 8.61 8.12 9.24 11.62 21.77 18.18 38.11 42.56
1 337.05 43.30 83.37 46.18 28.09 17.46 16.96 8.68 11.29 9.37 7.04 7.43 10.74 18.33 16.92 15.79 17.14 30.07 31.12 21.65 14.07 9.05 6.28 7.68 6.93 8.44 10.00 11.33 10.49 13.71 24.73 21.34
1 254.34 23.20 51.20 36.44 27.34 13.67 14.08 8.63 12.80 8.18 5.99 8.20 11.20 23.70 32.13 25.35 21.64 38.52 48.96 31.20 14.75 10.49 9.07 6.31 7.82 7.82 10.00 11.45 16.04 19.11 17.87 11.92
1 318.37 39.14 96.89 72.31 25.71 17.38 13.67 8.34 16.45 9.66 8.60 13.36 15.72 22.86 31.08 26.50 34.55 34.17 42.84 30.99 15.05 9.93 9.32 7.72 8.21 8.84 10.28 11.89 12.94 15.30 23.32 18.50
1 267.28 33.04 103.34 28.81 21.01 16.29 19.19 9.94 8.84 10.93 7.06 10.11 9.98 11.67 11.77 14.00 13.79 30.66 39.86 24.99 13.99 9.99 8.61 11.55 12.67 18.45 29.96 29.66 27.00 28.21 32.93 28.65
1 262.72 15.11 44.08 32.63 18.97 11.73 12.60 7.04 8.28 9.96 5.67 9.16 11.63 18.51 17.43 13.33 16.00 21.42 40.72 34.98 18.53 9.89 7.23 5.52 6.60 7.25 8.45 10.56 11.11 18.17 24.44 22.13
1 294.93 25.54 65.80 44.68 31.29 14.91 21.26 11.88 15.11 9.34 7.46 7.87 10.21 18.51 32.35 19.80 18.68 24.35 31.15 32.42 16.01 13.55 9.73 8.95 11.37 12.07 15.01 19.51 16.75 13.60 25.04 24.73
1 261.16 35.17 66.75 33.22 26.74 12.07 18.06 13.70 10.44 10.12 6.67 8.29 10.89 22.80 23.55 14.99 14.40 22.83 31.99 43.70 20.65 15.36 11.41 8.18 8.40 8.11 10.81 12.87 14.44 13.34 18.11 20.32
1 272.46 34.67 71.50 37.32 24.40 12.19 15.25 9.36 10.85 7.50 7.21 9.60 11.18 18.12 19.11 16.03 19.29 30.89 24.03 29.65 16.83 10.24 7.85 7.34 9.22 10.38 11.10 11.14 10.50 17.20 22.98 17.35
1 242.91 28.67 62.63 44.59 29.97 20.37 19.60 14.43 10.90 10.51 6.55 10.27 14.20 23.18 28.75 22.63 22.14 24.52 65.68 49.59 32.91 26.38 20.33 23.82 18.94 20.12 28.20 30.86 47.38 47.46 60.49 73.18
1 325.17 35.93 74.79 34.30 20.82 14.96 20.30 15.37 15.49 10.84 8.16 10.54 9.56 14.74 28.98 25.39 21.14 31.53 44.16 52.28 24.64 13.84 10.84 10.90 12.29 12.89 14.90 12.95 16.79 14.52 27.99 31.61
1 369.75 18.65 45.09 27.07 30.81 11.38 10.43 7.25 9.38 13.99 6.09 7.67 9.24 18.65 30.36 23.77 22.40 27.76 28.87 42.63 22.60 11.08 9.00 9.10 8.18 7.88 10.34 10.81 15.82 16.99 23.54 24.58
1 336.86 35.26 67.14 46.40 43.73 24.96 16.78 11.19 14.09 14.40 8.77 10.16 14.93 19.18 19.52 14.45 18.13 30.55 38.85 24.24 12.58 10.76 7.37 6.60 6.80 7.66 9.64 12.10 10.12 11.26 18.23 21.73
1 347.20 35.61 69.37 32.59 24.86 11.90 10.30 7.24 10.65 7.68 5.44 6.31 8.83 13.22 17.44 14.36 13.62 14.73 33.32 29.33 15.11 10.04 9.06 7.97 8.62 10.25 13.95 14.48 15.61 15.99 14.97 23.17
1 315.37 37.63 79.73 39.74 32.22 12.57 11.32 9.41 12.72 10.67 7.33 9.49 15.20 20.97 18.46 15.58 27.90 15.67 41.50 21.39 13.85 12.65 9.51 8.35 9.46 9.75 11.84 11.61 11.10 13.35 17.56 29.14
1 287.72 50.72 121.22 42.38 19.15 16.49 13.04 7.34 8.29 6.93 5.02 6.50 10.27 16.43 16.21 14.47 15.16 13.31 30.94 39.02 17.77 12.51 9.78 7.92 7.82 9.68 16.47 26.86 29.81 24.90 27.91 41.70
1 323.15 35.55 60.72 34.79 35.50 23.75 16.16 11.54 13.73 14.75 9.10 10.23 10.77 19.95 23.25 16.86 18.23 18.13 42.11 31.51 15.73 10.86 8.89 7.44 8.29 7.19 7.59 9.72 11.56 13.49 23.53 32.28
1 337.83 56.74 106.02 54.87 46.56 36.71 24.65 12.82 11.16 10.13 7.23 9.18 14.04 16.80 18.95 19.61 17.82 22.01 23.89 30.56 15.65 9.33 7.57 5.95 5.56 6.08 12.14 14.30 10.29 16.37 33.36 23.68
1 202.47 11.91 52.61 33.38 29.28 15.46 12.56 8.71 12.14 12.82 8.54 11.02 11.29 25.09 31.61 27.62 18.99 38.82 29.81 63.37 28.86 17.71 16.02 12.10 15.08 15.07 17.43 17.12 17.57 18.85 17.38 32.20
1 208.15 11.23 41.29 39.29 27.51 16.72 15.42 10.10 20.29 13.31 8.61 11.16 11.07 19.35 34.13 19.40 23.72 21.93 53.78 70.16 39.48 23.01 18.28 11.95 13.21 16.57 18.50 20.24 21.93 21.37 24.43 27.73
53 32
0 184.20 10.27 40.46 26.18 20.42 10.79 9.42 6.89 10.41 8.08 5.52 8.95 12.51 18.47 32.67 24.44 20.17 19.57 43.49 62.56 22.04 13.37 10.78 7.62 6.75 8.87 13.94 23.90 25.10 26.78 53.10 53.88
0 144.26 17.80 57.50 35.40 13.95 12.70 12.97 8.16 8.75 8.12 6.44 8.98 12.08 19.86 27.17 20.90 20.27 20.65 44.31 40.91 18.83 11.75 8.99 7.61 6.97 6.74 8.24 18.34 25.90 20.43 31.44 34.57
0 154.61 13.94 57.00 29.44 25.23 8.55 11.24 6.74 5.77 8.34 5.41 6.20 6.98 15.60 22.01 14.66 14.80 18.72 36.28 39.96 14.35 9.28 7.67 7.29 9.73 8.09 11.15 12.36 23.78 20.45 36.50 44.66
0 166.85 20.04 103.26 45.08 19.62 11.45 11.48 6.11 9.67 8.82 5.65 8.41 9.17 19.02 20.90 17.00 17.21 22.06 33.48 47.66 18.15 10.39 8.13 7.19 7.31 9.08 15.28 18.49 27.42 24.89 44.56 55.59
0 162.94 18.70 88.49 46.83 18.99 9.66 12.95 5.95 7.05 11.32 4.95 6.56 8.50 17.69 22.43 19.27 18.72 19.79 31.86 40.15 19.30 11.04 10.91 10.98 10.24 9.68 14.25 22.78 39.93 29.07 28.88 38.23
0 192.43 32.60 117.66 48.14 30.78 19.09 17.53 10.88 11.38 16.64 9.17 11.35 14.24 28.19 34.79 29.57 21.13 21.65 35.52 41.28 20.11 12.52 11.31 9.49 9.15 9.57 11.49 17.98 34.22 27.28 25.07 31.41
0 172.29 17.30 113.80 33.35 27.41 13.53 13.78 10.13 5.97 11.25 5.58 6.74 10.05 25.44 36.54 23.50 20.56 30.76 50.23 45.60 24.33 14.58 11.72 11.78 11.26 16.36 26.02 36.71 41.53 28.83 40.20 62.13
0 182.79 14.35 37.89 34.64 25.27 10.59 12.28 8.26 11.76 10.00 7.12 9.12 10.54 21.21 27.08 20.86 17.85 20.67 34.64 57.07 28.50 12.67 9.29 7.90 8.42 8.37 10.56 32.39 29.14 24.14 28.78 40.12
0 188.78 22.91 59.50 32.64 22.94 11.50 18.23 10.62 9.37 10.49 7.32 10.13 12.89 25.32 36.11 27.92 25.13 20.72 55.27 40.61 15.34 12.99 8.66 7.08 9.56 11.71 16.61 22.38 23.52 19.89 33.62 49.31
0 149.37 14.35 79.69 34.24 23.13 12.73 9.43 5.87 6.17 6.54 5.44 9.49 13.04 12.99 17.40 22.61 28.24 19.72 38.66 28.07 13.23 10.41 13.36 14.16 11.16 10.37 15.89 28.73 41.17 40.51 46.28 65.57
0 173.83 18.66 69.66 41.00 25.65 10.32 25.50 13.80 11.97 15.30 7.95 8.40 10.41 18.90 25.22 24.17 21.24 26.88 39.90 55.18 27.93 18.07 11.66 10.37 11.37 13.62 14.09 14.84 21.28 19.93 27.37 33.29
0 176.09 14.05 57.75 25.51 17.76 9.69 20.87 15.54 10.26 15.85 9.71 9.79 12.13 22.22 39.08 37.83 27.88 25.05 43.39 59.15 27.43 17.69 18.49 11.37 8.96 7.94 10.57 21.22 29.27 20.53 26.38 45.99
0 193.03 24.50 69.40 37.42 22.69 11.01 14.96 14.16 10.35 14.50 7.05 9.82 11.53 19.75 32.59 30.59 21.46 24.16 47.59 65.16 26.30 23.64 19.57 13.11 9.62 14.12 29.66 30.80 34.70 39.92 70.93 84.41
0 168.65 13.90 71.86 48.08 37.78 15.94 19.34 22.55 17.64 17.28 19.24 18.90 21.77 42.08 35.91 25.17 23.84 40.65 49.30 47.94 20.28 9.72 11.86 9.82 7.44 8.94 10.74 22.07 24.97 22.79 27.77 45.00
0 306.02 38.00 72.07 39.18 30.18 15.54 16.35 9.92 12.16 10.36 7.50 8.66 10.92 21.56 20.52 19.84 18.56 22.28 32.09 35.90 14.39 8.74 8.44 8.21 8.36 8.77 9.78 9.49 7.36 10.23 19.06 16.66
0 261.35 29.15 84.01 54.89 23.15 24.33 22.38 9.72 12.95 13.33 6.72 9.58 12.64 20.98 26.83 17.86 19.72 23.31 41.34 29.60 17.39 10.02 6.07 6.16 6.21 5.73 6.63 8.06 8.98 8.72 14.44 13.44
0 290.29 34.77 69.71 27.95 19.15 13.61 14.10 9.74 11.40 7.77 5.99 6.81 8.88 13.99 13.16 11.80 11.06 16.28 23.43 27.40 11.85 7.45 6.05 5.80 5.67 6.21 8.32 11.47 11.28 17.41 22.15 18.04
0 270.40 36.17 82.71 37.34 21.89 19.21 14.98 9.33 10.73 10.96 6.79 8.63 11.82 23.82 26.44 16.90 17.71 20.68 37.24 29.98 15.29 9.79 7.59 7.09 7.75 10.60 15.13 16.08 26.75 23.06 48.87 46.56
0 229.10 34.69 63.19 28.96 24.96 11.17 12.73 7.68 8.24 8.80 5.97 8.05 8.36 14.07 19.45 17.38 17.63 24.67 31.93 33.35 25.10 14.47 9.00 6.37 5.87 7.71 11.45 15.43 12.68 14.07 18.61 14.60
0 269.96 40.44 69.81 23.05 21.66 12.14 11.50 7.99 9.04 7.75 6.09 6.67 8.45 15.56 12.12 13.99 12.67 16.02 25.50 27.41 11.54 7.74 6.91 7.59 6.98 6.86 8.90 11.47 15.17 9.46 21.74 22.98
0 246.26 36.02 151.28 107.36 36.37 19.01 13.79 8.87 15.14 10.40 8.23 14.60 23.22 25.64 28.85 21.64 32.91 33.41 37.48 37.34 18.13 10.73 8.78 8.35 7.04 6.72 8.44 12.40 12.18 19.84 23.92 25.16
0 232.29 17.78 51.02 23.78 18.63 8.28 8.83 5.69 6.81 7.22 4.55 6.57 9.51 20.28 18.09 14.29 14.09 26.78 30.75 33.57 14.92 10.04 10.30 9.21 9.38 14.69 21.14 23.67 28.49 34.18 36.91 69.20
0 238.27 20.92 59.02 30.41 22.17 9.58 11.01 8.98 10.79 6.92 5.24 6.76 9.35 19.15 25.22 15.75 17.16 29.48 27.78 34.01 14.52 11.68 9.95 8.32 10.52 14.15 19.46 20.00 19.42 21.61 24.56 19.69
0 269.70 17.41 55.12 25.36 22.66 9.41 11.76 7.94 14.58 8.14 6.32 7.70 11.07 23.12 30.30 16.70 16.24 18.90 36.79 30.61 13.47 9.92 6.91 6.16 10.02 11.95 9.57 9.98 9.74 10.62 19.77 19.37
0 291.67 27.61 56.92 32.17 22.05 11.40 14.02 8.51 11.78 10.00 6.39 7.56 10.15 23.91 22.69 18.04 20.34 23.28 34.33 30.61 12.48 8.14 6.80 6.27 7.26 8.23 9.99 13.03 13.98 14.26 24.87 30.76
0 287.69 22.25 54.29 28.78 24.01 10.85 13.39 9.30 14.92 10.86 6.39 7.80 9.23 18.46 22.42 17.53 15.67 25.28 30.91 49.96 31.83 16.08 11.55 9.16 9.32 11.81 12.79 15.90 18.51 15.25 22.12 23.34
0 249.73 34.18 66.98 31.52 23.62 14.14 10.55 9.86 11.27 8.95 7.91 9.68 11.10 21.30 25.29 18.60 20.23 22.91 35.28 26.63 15.20 8.37 6.76 7.00 9.01 10.05 11.90 14.37 19.08 26.60 32.03 25.30
0 252.89 34.07 58.12 40.45 26.91 12.28 13.61 8.62 8.29 9.26 6.95 11.28 12.33 19.69 22.78 26.80 24.79 21.42 44.89 38.66 32.94 23.44 16.43 15.08 17.14 12.96 14.53 17.56 18.18 15.61 25.39 23.97
0 242.66 15.78 43.78 34.80 23.97 9.24 12.65 6.97 8.40 7.32 5.96 7.19 9.31 19.67 22.16 18.03 17.66 27.97 23.89 47.39 25.14 15.43 11.73 6.87 7.48 8.12 10.31 9.51 14.05 13.76 18.41 22.63
0 252.90 18.79 62.40 22.69 17.72 9.69 8.66 5.95 11.24 8.55 5.97 7.67 10.07 13.17 13.50 12.43 16.81 19.07 31.60 28.05 13.82 8.24 6.47 7.46 6.57 6.10 8.87 11.18 8.09 8.47 12.22 16.37
0 276.14 34.11 50.50 31.46 26.88 15.53 11.58 10.22 12.30 13.34 7.25 8.52 9.45 18.99 24.18 17.22 16.45 20.89 38.86 42.22 16.73 10.90 9.82 7.76 7.29 7.61 10.40 15.70 16.72 18.66 39.81 59.79
0 236.53 40.39 82.24 72.51 53.22 22.15 23.73 9.10 16.98 8.92 6.46 8.04 11.67 25.54 23.79 19.20 21.21 19.28 38.26 31.10 15.60 12.76 8.83 6.80 7.55 11.69 16.99 26.50 29.61 15.59 24.82 34.75
0 238.12 22.01 55.70 33.64 21.76 18.26 10.28 7.86 11.62 8.76 6.39 9.50 12.48 17.64 26.07 19.73 21.15 21.56 28.73 42.48 15.05 10.50 9.12 6.90 8.20 11.07 16.91 28.45 30.01 30.23 44.26 46.26
0 271.57 41.43 72.45 28.69 18.35 12.71 14.83 10.18 11.36 10.60 7.06 7.83 10.84 19.07 23.29 18.63 18.24 31.88 25.89 41.33 17.28 12.03 7.96 7.75 8.61 8.12 9.24 11.62 21.77 18.18 38.11 42.56
1 337.05 43.30 83.37 46.18 28.09 17.46 16.96 8.68 11.29 9.37 7.04 7.43 10.74 18.33 16.92 15.79 17.14 30.07 31.12 21.65 14.07 9.05 6.28 7.68 6.93 8.44 10.00 11.33 10.49 13.71 24.73 21.34
1 254.34 23.20 51.20 36.44 27.34 13.67 14.08 8.63 12.80 8.18 5.99 8.20 11.20 23.70 32.13 25.35 21.64 38.52 48.96 31.20 14.75 10.49 9.07 6.31 7.82 7.82 10.00 11.45 16.04 19.11 17.87 11.92
1 318.37 39.14 96.89 72.31 25.71 17.38 13.67 8.34 16.45 9.66 8.60 13.36 15.72 22.86 31.08 26.50 34.55 34.17 42.84 30.99 15.05 9.93 9.32 7.72 8.21 8.84 10.28 11.89 12.94 15.30 23.32 18.50
1 267.28 33.04 103.34 28.81 21.01 16.29 19.19 9.94 8.84 10.93 7.06 10.11 9.98 11.67 11.77 14.00 13.79 30.66 39.86 24.99 13.99 9.99 8.61 11.55 12.67 18.45 29.96 29.66 27.00 28.21 32.93 28.65
1 262.72 15.11 44.08 32.63 18.97 11.73 12.60 7.04 8.28 9.96 5.67 9.16 11.63 18.51 17.43 13.33 16.00 21.42 40.72 34.98 18.53 9.89 7.23 5.52 6.60 7.25 8.45 10.56 11.11 18.17 24.44 22.13
1 294.93 25.54 65.80 44.68 31.29 14.91 21.26 11.88 15.11 9.34 7.46 7.87 10.21 18.51 32.35 19.80 18.68 24.35 31.15 32.42 16.01 13.55 9.73 8.95 11.37 12.07 15.01 19.51 16.75 13.60 25.04 24.73
1 261.16 35.17 66.75 33.22 26.74 12.07 18.06 13.70 10.44 10.12 6.67 8.29 10.89 22.80 23.55 14.99 14.40 22.83 31.99 43.70 20.65 15.36 11.41 8.18 8.40 8.11 10.81 12.87 14.44 13.34 18.11 20.32
1 272.46 34.67 71.50 37.32 24.40 12.19 15.25 9.36 10.85 7.50 7.21 9.60 11.18 18.12 19.11 16.03 19.29 30.89 24.03 29.65 16.83 10.24 7.85 7.34 9.22 10.38 11.10 11.14 10.50 17.20 22.98 17.35
1 242.91 28.67 62.63 44.59 29.97 20.37 19.60 14.43 10.90 10.51 6.55 10.27 14.20 23.18 28.75 22.63 22.14 24.52 65.68 49.59 32.91 26.38 20.33 23.82 18.94 20.12 28.20 30.86 47.38 47.46 60.49 73.18
1 325.17 35.93 74.79 34.30 20.82 14.96 20.30 15.37 15.49 10.84 8.16 10.54 9.56 14.74 28.98 25.39 21.14 31.53 44.16 52.28 24.64 13.84 10.84 10.90 12.29 12.89 14.90 12.95 16.79 14.52 27.99 31.61
1 369.75 18.65 45.09 27.07 30.81 11.38 10.43 7.25 9.38 13.99 6.09 7.67 9.24 18.65 30.36 23.77 22.40 27.76 28.87 42.63 22.60 11.08 9.00 9.10 8.18 7.88 10.34 10.81 15.82 16.99 23.54 24.58
1 336.86 35.26 67.14 46.40 43.73 24.96 16.78 11.19 14.09 14.40 8.77 10.16 14.93 19.18 19.52 14.45 18.13 30.55 38.85 24.24 12.58 10.76 7.37 6.60 6.80 7.66 9.64 12.10 10.12 11.26 18.23 21.73
1 347.20 35.61 69.37 32.59 24.86 11.90 10.30 7.24 10.65 7.68 5.44 6.31 8.83 13.22 17.44 14.36 13.62 14.73 33.32 29.33 15.11 10.04 9.06 7.97 8.62 10.25 13.95 14.48 15.61 15.99 14.97 23.17
1 315.37 37.63 79.73 39.74 32.22 12.57 11.32 9.41 12.72 10.67 7.33 9.49 15.20 20.97 18.46 15.58 27.90 15.67 41.50 21.39 13.85 12.65 9.51 8.35 9.46 9.75 11.84 11.61 11.10 13.35 17.56 29.14
1 287.72 50.72 121.22 42.38 19.15 16.49 13.04 7.34 8.29 6.93 5.02 6.50 10.27 16.43 16.21 14.47 15.16 13.31 30.94 39.02 17.77 12.51 9.78 7.92 7.82 9.68 16.47 26.86 29.81 24.90 27.91 41.70
1 323.15 35.55 60.72 34.79 35.50 23.75 16.16 11.54 13.73 14.75 9.10 10.23 10.77 19.95 23.25 16.86 18.23 18.13 42.11 31.51 15.73 10.86 8.89 7.44 8.29 7.19 7.59 9.72 11.56 13.49 23.53 32.28
1 337.83 56.74 106.02 54.87 46.56 36.71 24.65 12.82 11.16 10.13 7.23 9.18 14.04 16.80 18.95 19.61 17.82 22.01 23.89 30.56 15.65 9.33 7.57 5.95 5.56 6.08 12.14 14.30 10.29 16.37 33.36 23.68
1 202.47 11.91 52.61 33.38 29.28 15.46 12.56 8.71 12.14 12.82 8.54 11.02 11.29 25.09 31.61 27.62 18.99 38.82 29.81 63.37 28.86 17.71 16.02 12.10 15.08 15.07 17.43 17.12 17.57 18.85 17.38 32.20
1 208.15 11.23 41.29 39.29 27.51 16.72 15.42 10.10 20.29 13.31 8.61 11.16 11.07 19.35 34.13 19.40 23.72 21.93 53.78 70.16 39.48 23.01 18.28 11.95 13.21 16.57 18.50 20.24 21.93 21.37 24.43 27.73


View File

@ -1,55 +1,55 @@
53 64
0 85.26 6.84 2.54 2.54 12.43 7.85 4.88 8.15 6.11 4.13 3.45 1.94 1.77 2.94 2.11 1.35 2.26 2.93 2.57 1.48 1.32 1.43 1.98 2.45 2.92 3.31 4.28 4.90 7.44 8.86 6.88 5.43 5.24 4.89 6.01 3.73 8.70 12.66 17.50 14.06 6.77 4.43 3.63 3.12 2.82 2.58 1.99 1.83 1.63 1.75 2.12 2.28 3.09 3.79 5.73 6.19 5.95 6.45 6.43 6.82 11.03 15.07 14.29 12.99
0 63.47 8.66 4.18 4.72 16.50 12.25 10.63 7.08 3.45 3.55 3.51 2.86 2.46 3.99 2.62 1.48 1.39 2.92 2.54 1.58 1.53 1.68 2.09 2.38 2.74 3.31 4.40 5.46 6.34 7.23 6.09 4.47 4.57 5.50 7.67 2.68 7.95 13.90 12.13 8.61 5.63 3.86 3.11 2.80 2.35 2.19 2.03 1.78 1.75 1.73 1.69 1.70 1.76 2.31 3.45 5.50 6.60 6.40 5.42 4.87 5.92 9.52 9.85 7.68
0 70.40 6.91 2.91 4.01 15.21 13.34 6.77 7.93 5.01 7.62 2.58 1.70 2.04 3.59 2.28 1.09 1.45 1.44 2.55 1.61 1.46 1.25 1.42 1.66 1.56 1.90 2.84 4.89 5.32 5.67 4.17 3.24 3.36 3.95 4.90 4.41 5.22 12.52 12.40 8.03 4.34 3.02 2.52 2.15 1.95 1.89 1.63 2.00 2.52 2.34 1.87 2.14 2.80 2.78 2.84 3.27 5.86 6.01 4.79 5.36 7.21 10.70 10.23 11.85
0 75.82 7.61 4.11 5.70 25.39 26.53 15.21 7.37 3.84 5.98 3.56 2.17 2.10 3.65 1.93 1.11 1.62 3.22 2.99 1.43 1.29 1.54 1.95 2.24 2.07 2.45 3.69 5.77 5.66 4.83 4.35 4.15 3.82 4.73 5.80 5.42 3.65 12.47 14.89 9.34 5.51 3.75 2.90 2.34 2.07 2.01 1.92 1.70 1.87 1.78 2.03 2.44 3.57 4.00 4.40 4.80 7.31 6.44 5.65 6.69 9.27 12.55 14.76 13.30
0 73.42 8.05 3.89 5.22 25.29 19.16 15.27 8.25 4.55 4.95 2.43 2.40 2.78 3.71 1.72 1.26 1.23 2.24 4.20 1.53 1.17 1.28 1.59 1.70 2.00 2.22 3.47 5.32 5.44 5.77 5.06 4.55 4.31 5.03 6.61 3.31 8.13 7.52 12.69 7.62 5.94 3.80 3.03 2.55 2.57 2.87 2.64 2.81 2.96 2.22 2.24 2.57 3.25 3.80 4.54 6.70 9.73 10.17 7.45 7.19 7.13 7.18 9.52 9.63
0 82.97 13.26 7.90 8.11 32.19 27.00 15.55 8.77 5.47 9.91 5.88 3.68 3.97 4.81 3.17 2.30 2.27 3.39 5.64 2.69 2.26 2.30 2.58 3.09 3.38 3.73 5.87 8.08 8.70 8.77 8.45 6.39 4.43 5.98 4.19 6.71 6.47 11.18 12.01 8.82 5.81 4.32 3.41 2.89 2.94 2.74 2.38 2.35 2.34 2.26 2.26 2.48 2.74 2.98 3.57 5.25 8.30 8.72 7.21 6.51 6.06 6.37 7.09 8.47
0 80.02 6.13 2.77 5.75 26.50 30.46 9.31 7.40 3.69 10.01 4.52 2.27 2.50 4.39 2.90 2.17 1.32 1.66 4.05 1.58 1.31 1.48 1.60 1.76 2.26 2.73 4.86 7.78 10.25 7.97 6.97 4.91 5.13 5.17 6.33 9.02 9.07 15.82 12.78 10.15 7.30 5.04 3.90 3.42 2.96 2.93 3.00 2.90 2.74 2.84 3.59 4.53 5.95 6.95 8.18 10.02 11.30 9.68 6.43 7.81 9.73 10.32 13.50 17.18
0 83.79 7.61 3.36 3.77 10.75 8.25 6.53 10.78 6.37 6.27 3.11 2.12 2.42 3.76 2.35 1.78 2.70 3.18 3.66 1.36 1.47 2.06 2.10 2.45 2.22 3.02 4.51 5.97 7.48 6.11 5.46 5.03 4.16 4.73 4.56 5.68 5.84 11.30 13.15 15.64 8.78 5.61 3.53 2.89 2.41 2.24 1.93 2.00 2.12 2.09 2.19 2.01 2.06 3.11 6.02 9.85 8.65 6.12 6.01 6.07 6.34 7.92 9.26 10.56
0 82.49 11.91 6.20 5.21 16.29 13.52 9.44 6.92 5.65 5.82 3.07 2.68 3.45 5.62 3.74 1.61 1.86 2.80 3.64 1.63 1.64 2.02 2.25 2.79 2.74 3.68 5.01 7.55 8.13 9.87 8.50 5.51 5.60 7.10 3.38 6.97 12.03 15.04 13.84 7.01 4.22 3.47 3.34 3.20 2.57 1.81 1.66 1.87 2.30 2.44 2.72 3.07 4.01 4.32 4.65 6.35 6.96 5.00 4.57 5.23 6.85 9.67 11.69 12.86
0 68.89 5.80 2.90 4.09 20.69 19.29 9.53 7.60 4.15 7.39 4.59 1.81 1.95 2.76 1.83 1.12 1.10 1.95 2.02 1.27 1.31 1.40 1.89 2.83 3.18 3.31 3.26 3.24 3.94 4.74 6.57 4.72 6.53 7.52 4.24 5.76 8.25 10.81 8.49 5.75 3.85 2.85 2.57 2.61 3.04 3.59 3.48 3.60 3.20 2.45 2.34 2.80 3.50 4.36 5.42 8.67 10.57 9.91 10.16 10.26 10.10 12.73 15.65 16.93
0 78.43 8.48 4.03 4.92 22.06 13.12 10.69 9.82 6.60 6.23 2.92 2.24 3.46 9.28 4.71 2.20 2.67 3.25 5.60 2.12 1.98 1.98 2.05 2.17 2.51 2.65 3.72 5.64 6.32 6.31 6.26 5.81 4.64 5.92 8.90 4.59 6.06 13.36 17.49 10.52 7.78 6.29 4.85 4.27 3.29 2.57 2.40 2.76 3.04 2.66 3.04 3.69 3.75 3.36 3.27 4.03 5.69 4.98 4.41 5.47 6.13 7.44 7.64 9.00
0 80.80 7.25 3.21 3.81 17.28 11.61 6.08 6.67 4.26 4.60 2.61 2.25 3.13 7.29 5.55 2.24 1.67 3.40 5.41 2.56 2.43 2.41 2.21 2.69 2.98 3.07 3.95 6.97 9.41 10.09 9.89 9.09 6.62 7.36 6.48 5.88 8.27 13.11 17.60 12.27 9.03 4.94 4.12 4.68 5.24 4.09 3.28 2.43 2.36 2.17 1.98 1.99 2.25 2.92 4.05 6.36 8.45 6.30 5.38 4.92 6.03 6.94 9.60 13.09
0 82.93 13.59 6.35 5.66 19.80 15.10 10.74 7.96 6.72 4.65 3.12 2.40 2.61 4.88 5.32 1.76 2.40 2.77 5.16 2.12 1.75 1.76 2.29 2.61 2.85 2.89 3.64 6.08 7.77 8.56 8.38 6.97 5.20 5.52 7.52 4.60 8.19 15.22 18.95 13.84 8.16 5.24 5.44 6.30 5.70 4.17 3.57 3.04 2.52 2.34 2.97 3.96 6.33 8.30 7.74 7.70 8.73 8.48 9.52 10.41 13.74 20.59 23.71 19.36
0 76.95 7.38 3.02 3.83 23.54 12.48 12.49 11.57 5.76 12.87 5.07 3.14 3.28 6.41 6.11 5.17 3.85 4.96 5.45 3.07 4.52 5.21 5.13 4.24 4.75 6.20 8.97 11.98 10.15 7.86 7.09 5.53 6.36 5.59 8.80 11.37 7.63 16.49 16.45 8.01 7.12 3.36 2.46 2.41 2.89 3.02 2.71 2.23 2.01 1.74 1.98 2.44 2.37 2.94 4.50 6.42 6.99 5.58 5.36 5.93 6.46 7.17 10.78 11.81
0 135.42 17.59 10.05 8.95 19.79 16.29 11.08 8.53 4.58 10.50 4.53 3.27 3.37 4.83 2.97 1.99 2.10 3.95 3.21 2.01 1.78 1.95 1.93 2.38 2.46 3.00 4.69 5.98 4.99 5.32 5.45 4.47 4.61 4.69 6.91 4.22 5.31 10.55 11.51 6.70 4.21 3.10 2.31 2.07 2.14 2.10 1.87 2.21 2.14 2.07 2.01 2.33 2.52 2.37 2.63 2.17 1.89 1.80 2.06 2.93 4.22 5.21 4.40 4.07
0 119.36 11.32 6.99 7.59 20.61 21.32 15.35 12.25 4.87 6.67 7.36 4.79 4.48 6.75 2.94 1.93 2.01 4.42 4.46 2.30 1.64 1.72 2.20 2.59 2.66 3.60 3.79 6.60 8.18 5.34 4.49 4.40 4.67 5.15 7.66 3.96 8.67 11.96 9.17 5.82 4.66 4.08 2.93 2.15 1.66 1.39 1.52 1.54 1.74 1.39 1.37 1.48 1.56 1.74 1.97 2.07 2.33 2.15 2.09 2.23 3.10 4.04 3.74 3.06
0 128.92 16.23 9.12 8.27 19.07 15.79 7.85 6.17 4.29 5.20 4.01 2.87 3.61 3.45 2.81 2.06 2.44 3.24 2.29 1.61 1.47 1.53 1.67 1.71 2.04 2.39 3.28 3.71 3.33 3.27 3.29 2.63 2.53 2.96 4.93 3.02 5.10 6.65 8.22 5.58 3.70 2.35 2.00 1.75 1.55 1.48 1.39 1.51 1.50 1.35 1.39 1.69 1.98 2.15 2.85 2.86 2.67 2.94 3.82 4.80 5.55 5.53 4.65 4.38
0 117.90 17.31 10.25 7.81 23.71 17.68 11.99 6.70 4.15 6.78 5.84 3.78 3.58 3.93 2.58 2.07 2.07 3.28 3.53 1.98 1.74 1.64 1.88 2.43 2.32 3.54 4.59 7.30 7.49 5.69 4.53 3.95 4.36 4.28 4.37 6.11 6.21 12.23 9.42 5.84 4.46 3.20 2.81 2.15 1.95 1.84 1.70 1.84 1.98 1.88 2.41 2.85 3.36 4.13 4.19 3.85 5.53 7.70 5.90 5.67 10.06 13.93 12.87 10.69
0 98.91 15.65 9.18 8.13 16.86 14.80 8.93 5.54 5.88 6.61 2.98 2.62 2.91 3.49 2.14 1.68 1.62 2.51 2.72 1.69 1.42 1.54 1.94 2.10 1.84 2.33 2.84 4.10 4.74 5.01 4.76 3.94 4.19 4.62 5.86 6.61 5.22 10.43 8.32 8.43 7.11 5.60 4.02 3.23 2.46 2.14 1.70 1.49 1.52 1.41 1.59 2.20 2.63 3.04 3.56 4.17 3.31 3.06 3.22 3.73 4.33 4.96 3.61 3.78
0 116.34 18.64 10.86 9.32 20.57 14.39 6.88 4.70 5.62 5.19 3.36 2.72 2.62 3.15 2.19 1.78 1.92 2.61 2.08 1.81 1.48 1.57 1.59 1.71 1.83 2.37 3.66 4.13 3.17 2.90 3.14 3.81 3.00 3.35 4.21 3.80 4.04 8.54 8.26 5.60 3.54 2.33 2.05 1.82 1.73 1.75 1.82 1.98 1.70 1.79 1.60 1.82 2.11 2.31 2.57 3.13 4.14 3.50 2.08 2.55 4.82 5.97 5.67 5.83
0 112.50 10.62 7.50 10.52 29.30 46.07 32.71 21.40 11.48 6.75 5.37 4.14 3.62 3.32 2.22 2.17 3.20 4.37 3.07 2.22 1.93 2.14 3.13 4.17 5.35 6.21 5.81 6.94 7.37 7.15 5.14 5.62 6.85 9.22 11.54 5.33 7.92 10.82 11.16 7.71 5.31 3.87 2.76 2.64 2.34 2.06 2.04 2.15 1.95 1.60 1.62 1.71 1.84 2.35 3.02 3.16 2.88 3.20 3.90 5.83 6.19 5.79 6.18 6.36
0 107.51 8.64 4.56 4.27 14.35 11.23 6.28 5.61 3.87 5.45 2.39 1.75 1.65 2.77 1.63 1.21 1.17 2.22 2.41 1.22 1.09 1.19 1.45 1.84 1.86 2.82 4.77 5.40 4.94 4.12 4.15 3.00 3.61 3.42 6.38 7.11 4.91 10.07 10.80 6.23 4.28 3.32 2.76 2.26 2.57 2.57 2.33 2.27 2.56 2.15 2.94 4.21 5.67 4.99 5.09 6.65 6.69 7.38 8.45 8.70 7.82 10.37 16.09 18.09
0 109.76 9.37 5.56 4.91 17.83 11.67 8.12 7.05 5.97 5.14 2.65 2.18 2.13 3.38 2.03 2.45 3.25 2.16 1.95 1.53 1.32 1.30 1.62 1.74 1.93 2.72 3.86 5.62 6.82 5.78 4.09 3.84 4.31 4.23 5.47 9.17 5.04 8.71 10.51 6.73 4.37 2.99 2.91 2.93 2.71 2.32 1.86 2.26 2.75 2.51 2.98 3.94 5.08 4.66 4.86 5.15 5.15 4.59 4.95 5.77 6.37 5.97 5.17 4.70
0 125.93 8.93 4.69 3.99 14.50 13.09 6.49 6.19 5.85 5.48 2.67 2.06 2.17 3.71 2.37 1.60 3.51 3.77 2.43 1.63 1.60 1.58 1.80 2.03 2.42 3.08 4.38 7.01 8.91 6.39 4.43 4.00 3.82 4.25 5.73 3.79 6.77 11.29 9.49 6.15 3.87 2.95 2.61 2.36 1.94 1.54 1.36 1.71 2.20 2.73 3.28 2.72 2.42 2.38 2.48 2.52 2.54 2.34 2.40 2.86 3.89 5.78 5.23 4.60
0 130.35 15.49 8.09 5.73 16.30 12.16 7.34 8.76 5.09 5.93 3.11 2.62 2.91 4.09 2.61 1.66 2.19 3.67 3.18 1.85 1.55 1.65 1.68 2.09 1.96 3.02 4.42 7.52 6.24 5.11 4.58 4.48 4.72 5.31 7.10 4.59 5.55 11.27 10.14 5.57 3.55 2.77 2.17 1.92 1.74 1.69 1.53 1.57 1.99 1.66 1.86 2.22 2.53 2.46 2.63 3.79 4.01 3.03 3.05 3.98 6.66 5.72 6.57 8.66
0 132.83 11.01 5.96 5.13 16.65 10.52 7.55 6.87 4.70 7.30 3.23 2.21 2.61 4.09 2.73 1.90 2.92 4.53 3.48 1.99 1.62 1.58 1.66 2.20 2.24 2.39 3.36 5.79 5.74 5.50 4.67 4.07 3.73 4.09 4.92 7.60 5.08 10.19 13.16 11.88 9.54 6.69 4.59 3.51 2.98 2.84 2.47 2.11 2.26 2.38 2.76 3.11 3.21 3.16 3.42 4.44 5.48 3.95 3.65 3.84 4.86 6.18 5.29 6.32
0 108.41 16.48 9.07 8.01 18.58 14.91 9.22 6.60 4.92 6.88 4.24 2.85 2.38 2.90 2.48 2.42 2.86 2.78 2.44 2.04 1.91 2.06 2.27 2.55 2.55 3.00 4.39 6.08 6.77 5.98 4.99 4.33 4.50 5.52 6.64 4.78 6.28 11.18 7.96 5.65 4.51 3.18 2.33 1.90 1.69 1.69 1.66 1.82 2.31 2.18 2.38 2.61 2.90 3.03 3.16 3.97 4.54 4.92 5.83 7.22 8.50 7.58 7.05 5.82
0 110.23 16.21 8.88 8.11 17.02 12.08 13.06 7.20 4.55 8.90 3.42 2.73 3.04 3.79 2.35 1.95 1.73 2.40 2.79 1.85 1.55 1.92 2.55 3.07 2.87 3.29 4.10 5.70 6.78 4.53 7.11 6.37 5.79 6.44 7.11 3.70 8.85 13.31 10.28 9.18 8.48 8.15 6.27 5.47 4.75 3.63 3.33 4.05 4.66 4.04 3.28 3.22 3.32 3.90 4.19 4.50 5.01 4.16 3.56 4.18 5.89 6.63 6.17 5.91
0 113.05 8.28 4.37 3.47 13.52 8.38 7.04 10.36 6.50 5.49 2.71 1.92 2.22 4.11 2.00 1.50 1.76 2.42 2.17 1.50 1.28 1.69 1.70 1.91 1.84 2.77 4.06 5.78 5.28 5.67 5.23 3.94 4.16 4.64 5.77 8.32 5.03 6.55 14.05 9.74 7.32 5.43 4.05 3.67 3.32 2.61 1.82 1.63 1.77 1.95 1.95 2.11 2.47 2.66 2.55 2.21 3.26 3.75 3.22 3.57 4.21 4.97 5.60 5.72
0 117.69 8.76 5.17 4.20 18.27 12.96 5.68 5.69 4.03 4.82 2.77 2.11 1.89 2.45 1.56 1.40 2.13 3.48 2.69 1.60 1.39 1.59 1.78 2.04 2.13 2.90 2.99 3.54 3.58 3.21 3.01 3.18 3.99 4.39 6.40 3.06 5.08 10.63 8.41 5.76 3.98 2.98 2.29 1.86 1.60 1.62 1.77 1.93 1.87 1.47 1.39 1.64 2.03 2.37 2.59 2.93 2.34 1.77 1.99 2.23 2.51 3.55 3.92 4.20
0 119.72 18.36 9.74 7.31 14.49 10.79 5.99 9.73 5.83 7.32 5.05 3.06 2.56 3.22 2.61 2.50 1.80 4.31 4.47 2.25 1.80 1.83 1.85 2.40 2.26 2.45 3.73 5.67 6.17 5.82 5.19 3.59 3.63 4.50 6.66 3.82 6.19 12.86 13.51 8.00 5.09 3.43 2.83 2.63 2.59 2.31 2.11 1.83 1.79 1.85 1.90 1.88 2.41 2.75 3.43 4.33 4.63 3.79 4.13 5.10 7.39 12.12 15.33 14.50
0 105.24 13.02 9.48 10.70 26.08 15.05 13.49 22.70 18.06 8.50 5.91 5.29 6.06 5.81 2.37 2.17 3.41 5.07 2.65 1.83 1.71 1.53 1.84 2.16 2.33 3.41 5.01 7.59 6.89 5.19 4.80 4.80 4.92 5.60 4.09 5.64 6.05 12.83 9.26 6.48 4.47 3.40 3.28 3.15 2.41 2.03 1.73 1.68 1.77 1.99 2.39 3.34 4.05 4.40 5.50 7.54 9.34 5.72 3.71 4.02 5.87 6.40 7.98 9.36
0 109.00 10.06 5.79 5.19 14.50 13.37 8.49 8.36 5.18 5.52 6.92 2.63 2.33 2.85 1.94 1.98 1.67 4.07 2.78 1.66 1.56 1.63 2.06 2.67 2.95 3.25 3.91 4.87 7.28 5.74 4.53 5.36 5.77 4.81 7.13 3.69 4.47 9.73 13.28 8.16 4.44 3.17 2.82 2.49 2.44 2.12 1.77 1.69 2.02 2.08 2.40 3.05 3.68 4.65 6.38 7.65 8.41 6.75 6.83 8.16 9.40 12.48 11.27 11.94
0 116.99 18.80 10.98 9.74 22.34 13.87 8.48 5.92 4.88 4.29 3.52 2.85 2.90 4.55 3.13 1.95 1.81 3.88 3.30 2.03 1.84 1.68 1.63 2.24 2.44 2.96 4.19 5.27 5.92 5.74 4.75 4.62 4.11 4.90 8.33 7.81 5.97 6.55 13.04 7.91 4.84 3.89 3.42 2.66 2.06 1.92 1.86 2.01 2.15 2.15 1.95 2.10 2.25 2.36 2.57 3.13 4.91 5.93 4.52 4.54 7.37 11.32 11.09 10.42
1 151.12 17.41 11.60 10.11 20.80 20.85 13.39 9.79 5.69 8.34 5.14 3.59 3.57 4.97 2.47 1.87 2.12 3.51 2.88 1.84 1.84 1.69 1.69 2.00 2.34 3.02 4.09 4.97 4.54 4.00 3.95 3.94 3.72 4.71 6.87 8.26 5.15 10.25 6.40 4.60 3.80 3.27 2.45 2.14 1.59 1.56 2.20 1.65 1.65 1.80 1.93 2.22 2.68 2.36 2.50 3.14 2.95 2.34 2.70 3.99 5.94 6.38 5.70 5.10
1 115.75 11.42 6.17 5.42 15.74 9.85 10.44 7.82 4.45 9.10 4.10 2.84 3.11 3.94 2.12 2.14 3.46 2.97 2.39 1.70 1.44 1.56 1.88 2.21 2.55 3.03 4.25 7.46 9.00 7.19 6.27 6.35 5.01 5.70 8.05 11.12 9.66 14.82 9.31 6.50 4.37 3.13 2.81 2.47 2.40 2.14 1.60 1.58 2.07 1.83 1.79 2.10 2.33 2.65 2.51 3.16 3.81 4.17 4.66 4.87 4.83 4.13 3.29 2.80
1 141.76 17.44 10.42 9.10 24.95 23.38 21.96 14.25 5.91 6.95 5.17 3.51 3.06 3.81 2.23 1.93 3.11 5.10 2.56 2.28 2.07 2.24 2.97 3.61 3.81 4.09 5.08 6.19 7.89 7.66 6.41 6.88 8.74 8.45 10.59 6.40 10.74 10.67 9.59 6.14 4.12 3.51 2.68 2.30 2.32 2.36 1.86 1.97 2.04 2.08 2.08 2.27 2.56 2.62 2.72 3.13 3.34 3.16 3.41 4.16 5.47 6.08 5.42 4.04
1 116.18 17.47 9.42 7.04 27.62 24.13 6.77 7.63 5.66 4.83 4.68 3.51 3.67 5.87 3.05 1.99 1.96 2.44 3.41 2.06 1.81 1.74 2.27 2.71 2.50 2.56 2.99 2.83 2.79 3.07 3.20 3.75 3.76 3.16 6.14 9.13 6.76 13.03 8.19 4.56 3.74 3.32 2.69 2.31 1.92 2.34 2.92 2.84 3.08 3.26 3.92 5.12 7.02 7.92 7.10 7.81 6.95 6.55 7.02 7.06 8.57 7.90 7.34 6.97
1 123.97 7.39 3.83 3.68 14.15 7.89 8.47 7.84 4.84 4.66 3.28 2.59 2.39 3.92 2.22 1.29 1.56 2.57 3.31 1.69 1.41 1.42 1.93 2.65 2.39 3.37 4.46 4.80 4.39 4.32 3.36 3.31 3.63 4.29 7.70 3.10 6.83 13.25 9.99 7.69 5.63 3.81 2.71 2.27 1.93 1.72 1.39 1.36 1.55 1.72 1.80 1.83 2.03 2.18 2.51 2.74 2.56 2.98 3.70 5.25 5.93 6.23 6.38 4.79
1 136.16 11.30 6.75 6.04 20.95 11.96 10.96 11.38 4.72 10.89 4.48 3.02 3.22 7.41 3.02 2.87 4.18 3.41 2.73 1.94 1.78 1.95 1.99 1.96 2.35 2.73 4.01 5.15 7.64 8.53 5.42 4.48 4.75 4.61 6.66 5.58 3.83 11.52 9.26 7.09 4.30 3.79 3.80 3.01 2.60 2.27 2.13 2.37 2.53 3.06 3.31 2.78 3.15 4.30 5.02 4.56 4.51 4.09 3.20 3.52 5.63 6.79 5.59 6.80
1 113.37 17.22 9.28 8.31 20.58 12.83 10.74 5.88 6.81 6.38 3.35 2.88 3.53 5.50 4.79 2.10 2.18 3.05 3.14 1.92 1.75 1.59 1.83 2.30 2.43 3.00 4.06 7.25 6.94 4.82 4.13 3.47 3.53 3.61 4.27 7.09 5.76 10.05 12.13 9.85 5.93 4.58 4.05 3.67 3.19 2.56 1.99 2.10 2.13 2.06 1.95 2.08 2.49 2.90 2.96 3.41 4.10 3.18 2.86 3.67 4.71 4.38 4.77 5.28
1 118.27 17.97 9.57 7.75 22.46 13.33 10.49 8.19 6.66 5.54 3.28 2.83 3.30 4.35 2.41 2.26 2.80 2.62 2.17 1.59 1.71 1.89 2.26 2.53 2.33 3.16 4.52 4.57 4.96 4.59 4.44 3.55 4.43 5.17 6.73 8.69 4.70 7.14 9.03 6.04 4.83 3.69 2.92 2.23 2.04 1.89 1.72 1.89 2.24 2.39 2.30 2.87 2.94 2.60 2.84 2.74 2.46 2.77 3.49 4.97 5.94 5.58 4.86 3.90
1 108.42 13.04 7.54 6.76 14.78 16.60 9.60 12.70 5.17 9.75 7.01 3.24 2.99 6.76 5.11 2.16 2.30 3.17 3.49 1.78 1.59 1.69 2.03 3.07 3.72 3.31 4.55 7.05 7.83 6.56 5.30 5.99 5.83 5.25 6.18 5.93 10.80 21.75 14.54 10.69 8.93 7.28 6.98 6.60 4.95 5.06 5.86 6.09 5.21 4.41 4.32 5.34 6.85 7.50 7.29 8.07 12.23 11.22 11.12 12.65 14.47 15.27 19.04 17.80
1 143.75 18.85 10.12 7.80 19.51 17.94 8.90 8.23 5.47 4.93 4.02 3.49 4.59 5.58 5.26 2.43 3.01 4.69 3.12 2.36 1.93 2.15 2.51 2.73 2.48 2.31 3.01 4.32 5.67 8.55 7.34 5.62 5.25 5.24 7.76 8.11 6.81 14.73 15.35 11.23 7.46 4.97 4.00 3.00 2.76 2.65 2.56 2.89 3.12 3.03 3.02 3.38 3.80 3.68 3.08 3.33 4.48 3.98 3.51 3.71 5.70 7.91 7.99 7.85
1 175.16 9.71 5.17 4.18 15.21 7.34 6.39 7.15 8.12 7.28 3.44 2.27 1.93 3.30 2.11 1.51 1.71 2.98 4.77 2.23 1.52 1.52 1.74 2.10 2.14 2.46 3.60 5.62 7.35 7.77 7.25 4.77 5.18 5.89 7.50 6.54 6.88 7.30 10.15 11.05 7.31 4.39 3.13 2.41 2.33 2.20 2.09 2.44 2.24 1.90 1.78 2.09 2.53 2.67 2.61 2.79 3.09 4.72 4.14 4.31 5.70 5.99 5.45 6.77
1 149.43 19.01 10.06 7.56 21.76 11.86 10.97 12.24 9.34 11.99 8.95 4.02 3.83 4.60 3.12 2.45 2.82 4.20 4.62 2.59 2.29 2.16 2.47 2.59 3.12 4.33 4.38 5.21 5.95 3.79 3.44 3.85 4.24 4.78 6.26 8.88 7.25 12.22 7.56 4.64 3.40 3.00 2.91 2.50 1.98 1.73 1.60 1.69 1.77 1.62 1.72 2.06 2.27 2.55 2.84 3.15 2.57 2.55 2.62 2.95 4.22 4.83 5.28 5.55
1 160.19 13.42 9.37 8.43 21.27 13.37 8.73 7.64 5.93 6.41 3.48 2.54 2.27 2.88 2.01 1.61 1.75 3.56 2.47 1.40 1.30 1.42 1.45 1.71 1.87 2.50 3.46 3.14 4.71 3.99 3.85 3.40 3.05 3.70 3.94 3.49 6.34 10.07 8.38 6.38 4.29 3.37 2.64 2.40 2.31 2.24 1.96 2.03 2.06 2.22 2.14 2.92 3.44 3.49 3.56 3.68 4.01 3.75 4.13 3.91 3.59 3.86 4.72 6.67
1 139.26 18.43 9.97 8.78 23.26 16.62 8.77 11.14 9.67 6.42 3.56 2.74 2.24 3.41 2.55 2.16 2.53 3.82 3.37 1.98 1.82 1.85 2.07 2.64 3.16 4.42 5.17 5.24 4.91 4.39 3.98 3.82 5.69 8.10 3.79 4.10 11.10 9.61 6.19 4.65 3.50 3.50 3.24 3.10 2.71 2.11 1.95 2.22 2.30 2.42 2.15 2.71 2.93 3.00 2.75 3.06 2.85 2.68 3.10 3.51 4.03 4.65 6.27 8.21
1 126.76 17.11 12.52 12.83 30.09 30.52 12.97 8.32 4.96 4.60 4.63 3.63 2.90 3.63 2.21 1.46 1.39 2.75 2.06 1.41 1.25 1.27 1.42 1.81 2.12 2.96 4.22 4.00 4.06 4.06 3.63 3.60 3.43 4.03 3.19 3.64 5.68 9.48 11.74 7.93 5.20 3.83 3.21 3.03 2.67 2.25 1.84 2.11 2.01 1.93 2.04 2.73 3.56 4.57 5.67 7.57 8.20 6.80 6.58 5.94 5.91 7.89 9.17 11.33
1 140.91 20.67 10.63 7.19 18.24 12.12 6.84 10.53 9.36 8.14 7.86 4.29 3.85 4.25 3.03 2.72 2.86 4.00 4.34 3.06 2.49 2.05 2.27 2.81 2.47 2.91 4.20 5.73 6.55 5.11 4.02 4.39 4.09 4.95 4.53 4.66 6.91 13.75 10.34 5.75 4.31 3.64 2.89 2.57 2.25 2.20 1.91 1.84 1.95 2.17 1.84 1.77 1.71 2.06 2.37 2.46 2.67 3.07 3.32 3.42 4.59 6.99 7.46 8.55
1 148.94 19.98 13.53 14.87 36.44 16.51 13.96 13.61 11.31 11.93 9.07 9.37 6.68 5.74 4.16 2.23 2.20 3.39 3.14 1.94 1.76 1.87 2.08 2.48 2.83 4.16 4.27 4.15 4.82 4.66 5.09 4.73 3.96 4.81 6.40 4.78 5.90 5.80 9.57 5.99 4.39 3.53 2.51 2.18 2.04 1.77 1.53 1.46 1.39 1.39 1.34 1.66 2.71 3.28 3.76 3.43 2.60 2.59 3.13 4.78 7.95 8.74 6.43 5.52
1 93.60 7.64 2.97 2.98 16.63 9.69 6.19 10.46 8.52 6.15 5.07 2.66 2.80 3.48 2.35 1.99 2.19 3.87 3.86 2.57 2.07 2.20 2.75 2.74 2.82 2.80 4.28 8.14 8.67 7.12 7.72 6.18 5.38 4.16 7.22 12.12 5.78 8.94 17.19 14.60 8.65 6.00 4.65 4.22 4.29 3.74 2.80 3.19 4.13 3.49 3.24 4.20 4.52 4.24 4.25 4.33 4.39 4.33 4.67 4.78 4.29 4.37 7.17 8.72
1 97.91 6.17 2.27 3.29 14.49 6.19 7.29 12.34 7.48 6.29 5.40 2.99 2.88 4.83 3.02 2.03 3.60 6.50 4.28 2.45 2.17 2.13 2.73 2.82 2.57 2.93 4.16 5.48 8.64 8.32 5.14 4.66 5.44 6.39 4.92 6.00 9.96 16.55 19.18 16.17 11.97 8.08 6.32 5.28 5.25 3.93 3.01 3.04 3.22 3.35 3.68 4.55 4.61 4.61 5.16 4.97 5.16 5.81 5.26 5.35 5.98 6.23 6.79 6.87
53 64
0 85.26 6.84 2.54 2.54 12.43 7.85 4.88 8.15 6.11 4.13 3.45 1.94 1.77 2.94 2.11 1.35 2.26 2.93 2.57 1.48 1.32 1.43 1.98 2.45 2.92 3.31 4.28 4.90 7.44 8.86 6.88 5.43 5.24 4.89 6.01 3.73 8.70 12.66 17.50 14.06 6.77 4.43 3.63 3.12 2.82 2.58 1.99 1.83 1.63 1.75 2.12 2.28 3.09 3.79 5.73 6.19 5.95 6.45 6.43 6.82 11.03 15.07 14.29 12.99
0 63.47 8.66 4.18 4.72 16.50 12.25 10.63 7.08 3.45 3.55 3.51 2.86 2.46 3.99 2.62 1.48 1.39 2.92 2.54 1.58 1.53 1.68 2.09 2.38 2.74 3.31 4.40 5.46 6.34 7.23 6.09 4.47 4.57 5.50 7.67 2.68 7.95 13.90 12.13 8.61 5.63 3.86 3.11 2.80 2.35 2.19 2.03 1.78 1.75 1.73 1.69 1.70 1.76 2.31 3.45 5.50 6.60 6.40 5.42 4.87 5.92 9.52 9.85 7.68
0 70.40 6.91 2.91 4.01 15.21 13.34 6.77 7.93 5.01 7.62 2.58 1.70 2.04 3.59 2.28 1.09 1.45 1.44 2.55 1.61 1.46 1.25 1.42 1.66 1.56 1.90 2.84 4.89 5.32 5.67 4.17 3.24 3.36 3.95 4.90 4.41 5.22 12.52 12.40 8.03 4.34 3.02 2.52 2.15 1.95 1.89 1.63 2.00 2.52 2.34 1.87 2.14 2.80 2.78 2.84 3.27 5.86 6.01 4.79 5.36 7.21 10.70 10.23 11.85
0 75.82 7.61 4.11 5.70 25.39 26.53 15.21 7.37 3.84 5.98 3.56 2.17 2.10 3.65 1.93 1.11 1.62 3.22 2.99 1.43 1.29 1.54 1.95 2.24 2.07 2.45 3.69 5.77 5.66 4.83 4.35 4.15 3.82 4.73 5.80 5.42 3.65 12.47 14.89 9.34 5.51 3.75 2.90 2.34 2.07 2.01 1.92 1.70 1.87 1.78 2.03 2.44 3.57 4.00 4.40 4.80 7.31 6.44 5.65 6.69 9.27 12.55 14.76 13.30
0 73.42 8.05 3.89 5.22 25.29 19.16 15.27 8.25 4.55 4.95 2.43 2.40 2.78 3.71 1.72 1.26 1.23 2.24 4.20 1.53 1.17 1.28 1.59 1.70 2.00 2.22 3.47 5.32 5.44 5.77 5.06 4.55 4.31 5.03 6.61 3.31 8.13 7.52 12.69 7.62 5.94 3.80 3.03 2.55 2.57 2.87 2.64 2.81 2.96 2.22 2.24 2.57 3.25 3.80 4.54 6.70 9.73 10.17 7.45 7.19 7.13 7.18 9.52 9.63
0 82.97 13.26 7.90 8.11 32.19 27.00 15.55 8.77 5.47 9.91 5.88 3.68 3.97 4.81 3.17 2.30 2.27 3.39 5.64 2.69 2.26 2.30 2.58 3.09 3.38 3.73 5.87 8.08 8.70 8.77 8.45 6.39 4.43 5.98 4.19 6.71 6.47 11.18 12.01 8.82 5.81 4.32 3.41 2.89 2.94 2.74 2.38 2.35 2.34 2.26 2.26 2.48 2.74 2.98 3.57 5.25 8.30 8.72 7.21 6.51 6.06 6.37 7.09 8.47
0 80.02 6.13 2.77 5.75 26.50 30.46 9.31 7.40 3.69 10.01 4.52 2.27 2.50 4.39 2.90 2.17 1.32 1.66 4.05 1.58 1.31 1.48 1.60 1.76 2.26 2.73 4.86 7.78 10.25 7.97 6.97 4.91 5.13 5.17 6.33 9.02 9.07 15.82 12.78 10.15 7.30 5.04 3.90 3.42 2.96 2.93 3.00 2.90 2.74 2.84 3.59 4.53 5.95 6.95 8.18 10.02 11.30 9.68 6.43 7.81 9.73 10.32 13.50 17.18
0 83.79 7.61 3.36 3.77 10.75 8.25 6.53 10.78 6.37 6.27 3.11 2.12 2.42 3.76 2.35 1.78 2.70 3.18 3.66 1.36 1.47 2.06 2.10 2.45 2.22 3.02 4.51 5.97 7.48 6.11 5.46 5.03 4.16 4.73 4.56 5.68 5.84 11.30 13.15 15.64 8.78 5.61 3.53 2.89 2.41 2.24 1.93 2.00 2.12 2.09 2.19 2.01 2.06 3.11 6.02 9.85 8.65 6.12 6.01 6.07 6.34 7.92 9.26 10.56
0 82.49 11.91 6.20 5.21 16.29 13.52 9.44 6.92 5.65 5.82 3.07 2.68 3.45 5.62 3.74 1.61 1.86 2.80 3.64 1.63 1.64 2.02 2.25 2.79 2.74 3.68 5.01 7.55 8.13 9.87 8.50 5.51 5.60 7.10 3.38 6.97 12.03 15.04 13.84 7.01 4.22 3.47 3.34 3.20 2.57 1.81 1.66 1.87 2.30 2.44 2.72 3.07 4.01 4.32 4.65 6.35 6.96 5.00 4.57 5.23 6.85 9.67 11.69 12.86
0 68.89 5.80 2.90 4.09 20.69 19.29 9.53 7.60 4.15 7.39 4.59 1.81 1.95 2.76 1.83 1.12 1.10 1.95 2.02 1.27 1.31 1.40 1.89 2.83 3.18 3.31 3.26 3.24 3.94 4.74 6.57 4.72 6.53 7.52 4.24 5.76 8.25 10.81 8.49 5.75 3.85 2.85 2.57 2.61 3.04 3.59 3.48 3.60 3.20 2.45 2.34 2.80 3.50 4.36 5.42 8.67 10.57 9.91 10.16 10.26 10.10 12.73 15.65 16.93
0 78.43 8.48 4.03 4.92 22.06 13.12 10.69 9.82 6.60 6.23 2.92 2.24 3.46 9.28 4.71 2.20 2.67 3.25 5.60 2.12 1.98 1.98 2.05 2.17 2.51 2.65 3.72 5.64 6.32 6.31 6.26 5.81 4.64 5.92 8.90 4.59 6.06 13.36 17.49 10.52 7.78 6.29 4.85 4.27 3.29 2.57 2.40 2.76 3.04 2.66 3.04 3.69 3.75 3.36 3.27 4.03 5.69 4.98 4.41 5.47 6.13 7.44 7.64 9.00
0 80.80 7.25 3.21 3.81 17.28 11.61 6.08 6.67 4.26 4.60 2.61 2.25 3.13 7.29 5.55 2.24 1.67 3.40 5.41 2.56 2.43 2.41 2.21 2.69 2.98 3.07 3.95 6.97 9.41 10.09 9.89 9.09 6.62 7.36 6.48 5.88 8.27 13.11 17.60 12.27 9.03 4.94 4.12 4.68 5.24 4.09 3.28 2.43 2.36 2.17 1.98 1.99 2.25 2.92 4.05 6.36 8.45 6.30 5.38 4.92 6.03 6.94 9.60 13.09
0 82.93 13.59 6.35 5.66 19.80 15.10 10.74 7.96 6.72 4.65 3.12 2.40 2.61 4.88 5.32 1.76 2.40 2.77 5.16 2.12 1.75 1.76 2.29 2.61 2.85 2.89 3.64 6.08 7.77 8.56 8.38 6.97 5.20 5.52 7.52 4.60 8.19 15.22 18.95 13.84 8.16 5.24 5.44 6.30 5.70 4.17 3.57 3.04 2.52 2.34 2.97 3.96 6.33 8.30 7.74 7.70 8.73 8.48 9.52 10.41 13.74 20.59 23.71 19.36
0 76.95 7.38 3.02 3.83 23.54 12.48 12.49 11.57 5.76 12.87 5.07 3.14 3.28 6.41 6.11 5.17 3.85 4.96 5.45 3.07 4.52 5.21 5.13 4.24 4.75 6.20 8.97 11.98 10.15 7.86 7.09 5.53 6.36 5.59 8.80 11.37 7.63 16.49 16.45 8.01 7.12 3.36 2.46 2.41 2.89 3.02 2.71 2.23 2.01 1.74 1.98 2.44 2.37 2.94 4.50 6.42 6.99 5.58 5.36 5.93 6.46 7.17 10.78 11.81
0 135.42 17.59 10.05 8.95 19.79 16.29 11.08 8.53 4.58 10.50 4.53 3.27 3.37 4.83 2.97 1.99 2.10 3.95 3.21 2.01 1.78 1.95 1.93 2.38 2.46 3.00 4.69 5.98 4.99 5.32 5.45 4.47 4.61 4.69 6.91 4.22 5.31 10.55 11.51 6.70 4.21 3.10 2.31 2.07 2.14 2.10 1.87 2.21 2.14 2.07 2.01 2.33 2.52 2.37 2.63 2.17 1.89 1.80 2.06 2.93 4.22 5.21 4.40 4.07
0 119.36 11.32 6.99 7.59 20.61 21.32 15.35 12.25 4.87 6.67 7.36 4.79 4.48 6.75 2.94 1.93 2.01 4.42 4.46 2.30 1.64 1.72 2.20 2.59 2.66 3.60 3.79 6.60 8.18 5.34 4.49 4.40 4.67 5.15 7.66 3.96 8.67 11.96 9.17 5.82 4.66 4.08 2.93 2.15 1.66 1.39 1.52 1.54 1.74 1.39 1.37 1.48 1.56 1.74 1.97 2.07 2.33 2.15 2.09 2.23 3.10 4.04 3.74 3.06
0 128.92 16.23 9.12 8.27 19.07 15.79 7.85 6.17 4.29 5.20 4.01 2.87 3.61 3.45 2.81 2.06 2.44 3.24 2.29 1.61 1.47 1.53 1.67 1.71 2.04 2.39 3.28 3.71 3.33 3.27 3.29 2.63 2.53 2.96 4.93 3.02 5.10 6.65 8.22 5.58 3.70 2.35 2.00 1.75 1.55 1.48 1.39 1.51 1.50 1.35 1.39 1.69 1.98 2.15 2.85 2.86 2.67 2.94 3.82 4.80 5.55 5.53 4.65 4.38
0 117.90 17.31 10.25 7.81 23.71 17.68 11.99 6.70 4.15 6.78 5.84 3.78 3.58 3.93 2.58 2.07 2.07 3.28 3.53 1.98 1.74 1.64 1.88 2.43 2.32 3.54 4.59 7.30 7.49 5.69 4.53 3.95 4.36 4.28 4.37 6.11 6.21 12.23 9.42 5.84 4.46 3.20 2.81 2.15 1.95 1.84 1.70 1.84 1.98 1.88 2.41 2.85 3.36 4.13 4.19 3.85 5.53 7.70 5.90 5.67 10.06 13.93 12.87 10.69
0 98.91 15.65 9.18 8.13 16.86 14.80 8.93 5.54 5.88 6.61 2.98 2.62 2.91 3.49 2.14 1.68 1.62 2.51 2.72 1.69 1.42 1.54 1.94 2.10 1.84 2.33 2.84 4.10 4.74 5.01 4.76 3.94 4.19 4.62 5.86 6.61 5.22 10.43 8.32 8.43 7.11 5.60 4.02 3.23 2.46 2.14 1.70 1.49 1.52 1.41 1.59 2.20 2.63 3.04 3.56 4.17 3.31 3.06 3.22 3.73 4.33 4.96 3.61 3.78
0 116.34 18.64 10.86 9.32 20.57 14.39 6.88 4.70 5.62 5.19 3.36 2.72 2.62 3.15 2.19 1.78 1.92 2.61 2.08 1.81 1.48 1.57 1.59 1.71 1.83 2.37 3.66 4.13 3.17 2.90 3.14 3.81 3.00 3.35 4.21 3.80 4.04 8.54 8.26 5.60 3.54 2.33 2.05 1.82 1.73 1.75 1.82 1.98 1.70 1.79 1.60 1.82 2.11 2.31 2.57 3.13 4.14 3.50 2.08 2.55 4.82 5.97 5.67 5.83
0 112.50 10.62 7.50 10.52 29.30 46.07 32.71 21.40 11.48 6.75 5.37 4.14 3.62 3.32 2.22 2.17 3.20 4.37 3.07 2.22 1.93 2.14 3.13 4.17 5.35 6.21 5.81 6.94 7.37 7.15 5.14 5.62 6.85 9.22 11.54 5.33 7.92 10.82 11.16 7.71 5.31 3.87 2.76 2.64 2.34 2.06 2.04 2.15 1.95 1.60 1.62 1.71 1.84 2.35 3.02 3.16 2.88 3.20 3.90 5.83 6.19 5.79 6.18 6.36
0 107.51 8.64 4.56 4.27 14.35 11.23 6.28 5.61 3.87 5.45 2.39 1.75 1.65 2.77 1.63 1.21 1.17 2.22 2.41 1.22 1.09 1.19 1.45 1.84 1.86 2.82 4.77 5.40 4.94 4.12 4.15 3.00 3.61 3.42 6.38 7.11 4.91 10.07 10.80 6.23 4.28 3.32 2.76 2.26 2.57 2.57 2.33 2.27 2.56 2.15 2.94 4.21 5.67 4.99 5.09 6.65 6.69 7.38 8.45 8.70 7.82 10.37 16.09 18.09
0 109.76 9.37 5.56 4.91 17.83 11.67 8.12 7.05 5.97 5.14 2.65 2.18 2.13 3.38 2.03 2.45 3.25 2.16 1.95 1.53 1.32 1.30 1.62 1.74 1.93 2.72 3.86 5.62 6.82 5.78 4.09 3.84 4.31 4.23 5.47 9.17 5.04 8.71 10.51 6.73 4.37 2.99 2.91 2.93 2.71 2.32 1.86 2.26 2.75 2.51 2.98 3.94 5.08 4.66 4.86 5.15 5.15 4.59 4.95 5.77 6.37 5.97 5.17 4.70
0 125.93 8.93 4.69 3.99 14.50 13.09 6.49 6.19 5.85 5.48 2.67 2.06 2.17 3.71 2.37 1.60 3.51 3.77 2.43 1.63 1.60 1.58 1.80 2.03 2.42 3.08 4.38 7.01 8.91 6.39 4.43 4.00 3.82 4.25 5.73 3.79 6.77 11.29 9.49 6.15 3.87 2.95 2.61 2.36 1.94 1.54 1.36 1.71 2.20 2.73 3.28 2.72 2.42 2.38 2.48 2.52 2.54 2.34 2.40 2.86 3.89 5.78 5.23 4.60
0 130.35 15.49 8.09 5.73 16.30 12.16 7.34 8.76 5.09 5.93 3.11 2.62 2.91 4.09 2.61 1.66 2.19 3.67 3.18 1.85 1.55 1.65 1.68 2.09 1.96 3.02 4.42 7.52 6.24 5.11 4.58 4.48 4.72 5.31 7.10 4.59 5.55 11.27 10.14 5.57 3.55 2.77 2.17 1.92 1.74 1.69 1.53 1.57 1.99 1.66 1.86 2.22 2.53 2.46 2.63 3.79 4.01 3.03 3.05 3.98 6.66 5.72 6.57 8.66
0 132.83 11.01 5.96 5.13 16.65 10.52 7.55 6.87 4.70 7.30 3.23 2.21 2.61 4.09 2.73 1.90 2.92 4.53 3.48 1.99 1.62 1.58 1.66 2.20 2.24 2.39 3.36 5.79 5.74 5.50 4.67 4.07 3.73 4.09 4.92 7.60 5.08 10.19 13.16 11.88 9.54 6.69 4.59 3.51 2.98 2.84 2.47 2.11 2.26 2.38 2.76 3.11 3.21 3.16 3.42 4.44 5.48 3.95 3.65 3.84 4.86 6.18 5.29 6.32
0 108.41 16.48 9.07 8.01 18.58 14.91 9.22 6.60 4.92 6.88 4.24 2.85 2.38 2.90 2.48 2.42 2.86 2.78 2.44 2.04 1.91 2.06 2.27 2.55 2.55 3.00 4.39 6.08 6.77 5.98 4.99 4.33 4.50 5.52 6.64 4.78 6.28 11.18 7.96 5.65 4.51 3.18 2.33 1.90 1.69 1.69 1.66 1.82 2.31 2.18 2.38 2.61 2.90 3.03 3.16 3.97 4.54 4.92 5.83 7.22 8.50 7.58 7.05 5.82
0 110.23 16.21 8.88 8.11 17.02 12.08 13.06 7.20 4.55 8.90 3.42 2.73 3.04 3.79 2.35 1.95 1.73 2.40 2.79 1.85 1.55 1.92 2.55 3.07 2.87 3.29 4.10 5.70 6.78 4.53 7.11 6.37 5.79 6.44 7.11 3.70 8.85 13.31 10.28 9.18 8.48 8.15 6.27 5.47 4.75 3.63 3.33 4.05 4.66 4.04 3.28 3.22 3.32 3.90 4.19 4.50 5.01 4.16 3.56 4.18 5.89 6.63 6.17 5.91
0 113.05 8.28 4.37 3.47 13.52 8.38 7.04 10.36 6.50 5.49 2.71 1.92 2.22 4.11 2.00 1.50 1.76 2.42 2.17 1.50 1.28 1.69 1.70 1.91 1.84 2.77 4.06 5.78 5.28 5.67 5.23 3.94 4.16 4.64 5.77 8.32 5.03 6.55 14.05 9.74 7.32 5.43 4.05 3.67 3.32 2.61 1.82 1.63 1.77 1.95 1.95 2.11 2.47 2.66 2.55 2.21 3.26 3.75 3.22 3.57 4.21 4.97 5.60 5.72
0 117.69 8.76 5.17 4.20 18.27 12.96 5.68 5.69 4.03 4.82 2.77 2.11 1.89 2.45 1.56 1.40 2.13 3.48 2.69 1.60 1.39 1.59 1.78 2.04 2.13 2.90 2.99 3.54 3.58 3.21 3.01 3.18 3.99 4.39 6.40 3.06 5.08 10.63 8.41 5.76 3.98 2.98 2.29 1.86 1.60 1.62 1.77 1.93 1.87 1.47 1.39 1.64 2.03 2.37 2.59 2.93 2.34 1.77 1.99 2.23 2.51 3.55 3.92 4.20
0 119.72 18.36 9.74 7.31 14.49 10.79 5.99 9.73 5.83 7.32 5.05 3.06 2.56 3.22 2.61 2.50 1.80 4.31 4.47 2.25 1.80 1.83 1.85 2.40 2.26 2.45 3.73 5.67 6.17 5.82 5.19 3.59 3.63 4.50 6.66 3.82 6.19 12.86 13.51 8.00 5.09 3.43 2.83 2.63 2.59 2.31 2.11 1.83 1.79 1.85 1.90 1.88 2.41 2.75 3.43 4.33 4.63 3.79 4.13 5.10 7.39 12.12 15.33 14.50
0 105.24 13.02 9.48 10.70 26.08 15.05 13.49 22.70 18.06 8.50 5.91 5.29 6.06 5.81 2.37 2.17 3.41 5.07 2.65 1.83 1.71 1.53 1.84 2.16 2.33 3.41 5.01 7.59 6.89 5.19 4.80 4.80 4.92 5.60 4.09 5.64 6.05 12.83 9.26 6.48 4.47 3.40 3.28 3.15 2.41 2.03 1.73 1.68 1.77 1.99 2.39 3.34 4.05 4.40 5.50 7.54 9.34 5.72 3.71 4.02 5.87 6.40 7.98 9.36
0 109.00 10.06 5.79 5.19 14.50 13.37 8.49 8.36 5.18 5.52 6.92 2.63 2.33 2.85 1.94 1.98 1.67 4.07 2.78 1.66 1.56 1.63 2.06 2.67 2.95 3.25 3.91 4.87 7.28 5.74 4.53 5.36 5.77 4.81 7.13 3.69 4.47 9.73 13.28 8.16 4.44 3.17 2.82 2.49 2.44 2.12 1.77 1.69 2.02 2.08 2.40 3.05 3.68 4.65 6.38 7.65 8.41 6.75 6.83 8.16 9.40 12.48 11.27 11.94
0 116.99 18.80 10.98 9.74 22.34 13.87 8.48 5.92 4.88 4.29 3.52 2.85 2.90 4.55 3.13 1.95 1.81 3.88 3.30 2.03 1.84 1.68 1.63 2.24 2.44 2.96 4.19 5.27 5.92 5.74 4.75 4.62 4.11 4.90 8.33 7.81 5.97 6.55 13.04 7.91 4.84 3.89 3.42 2.66 2.06 1.92 1.86 2.01 2.15 2.15 1.95 2.10 2.25 2.36 2.57 3.13 4.91 5.93 4.52 4.54 7.37 11.32 11.09 10.42
1 151.12 17.41 11.60 10.11 20.80 20.85 13.39 9.79 5.69 8.34 5.14 3.59 3.57 4.97 2.47 1.87 2.12 3.51 2.88 1.84 1.84 1.69 1.69 2.00 2.34 3.02 4.09 4.97 4.54 4.00 3.95 3.94 3.72 4.71 6.87 8.26 5.15 10.25 6.40 4.60 3.80 3.27 2.45 2.14 1.59 1.56 2.20 1.65 1.65 1.80 1.93 2.22 2.68 2.36 2.50 3.14 2.95 2.34 2.70 3.99 5.94 6.38 5.70 5.10
1 115.75 11.42 6.17 5.42 15.74 9.85 10.44 7.82 4.45 9.10 4.10 2.84 3.11 3.94 2.12 2.14 3.46 2.97 2.39 1.70 1.44 1.56 1.88 2.21 2.55 3.03 4.25 7.46 9.00 7.19 6.27 6.35 5.01 5.70 8.05 11.12 9.66 14.82 9.31 6.50 4.37 3.13 2.81 2.47 2.40 2.14 1.60 1.58 2.07 1.83 1.79 2.10 2.33 2.65 2.51 3.16 3.81 4.17 4.66 4.87 4.83 4.13 3.29 2.80
1 141.76 17.44 10.42 9.10 24.95 23.38 21.96 14.25 5.91 6.95 5.17 3.51 3.06 3.81 2.23 1.93 3.11 5.10 2.56 2.28 2.07 2.24 2.97 3.61 3.81 4.09 5.08 6.19 7.89 7.66 6.41 6.88 8.74 8.45 10.59 6.40 10.74 10.67 9.59 6.14 4.12 3.51 2.68 2.30 2.32 2.36 1.86 1.97 2.04 2.08 2.08 2.27 2.56 2.62 2.72 3.13 3.34 3.16 3.41 4.16 5.47 6.08 5.42 4.04
1 116.18 17.47 9.42 7.04 27.62 24.13 6.77 7.63 5.66 4.83 4.68 3.51 3.67 5.87 3.05 1.99 1.96 2.44 3.41 2.06 1.81 1.74 2.27 2.71 2.50 2.56 2.99 2.83 2.79 3.07 3.20 3.75 3.76 3.16 6.14 9.13 6.76 13.03 8.19 4.56 3.74 3.32 2.69 2.31 1.92 2.34 2.92 2.84 3.08 3.26 3.92 5.12 7.02 7.92 7.10 7.81 6.95 6.55 7.02 7.06 8.57 7.90 7.34 6.97
1 123.97 7.39 3.83 3.68 14.15 7.89 8.47 7.84 4.84 4.66 3.28 2.59 2.39 3.92 2.22 1.29 1.56 2.57 3.31 1.69 1.41 1.42 1.93 2.65 2.39 3.37 4.46 4.80 4.39 4.32 3.36 3.31 3.63 4.29 7.70 3.10 6.83 13.25 9.99 7.69 5.63 3.81 2.71 2.27 1.93 1.72 1.39 1.36 1.55 1.72 1.80 1.83 2.03 2.18 2.51 2.74 2.56 2.98 3.70 5.25 5.93 6.23 6.38 4.79
1 136.16 11.30 6.75 6.04 20.95 11.96 10.96 11.38 4.72 10.89 4.48 3.02 3.22 7.41 3.02 2.87 4.18 3.41 2.73 1.94 1.78 1.95 1.99 1.96 2.35 2.73 4.01 5.15 7.64 8.53 5.42 4.48 4.75 4.61 6.66 5.58 3.83 11.52 9.26 7.09 4.30 3.79 3.80 3.01 2.60 2.27 2.13 2.37 2.53 3.06 3.31 2.78 3.15 4.30 5.02 4.56 4.51 4.09 3.20 3.52 5.63 6.79 5.59 6.80
1 113.37 17.22 9.28 8.31 20.58 12.83 10.74 5.88 6.81 6.38 3.35 2.88 3.53 5.50 4.79 2.10 2.18 3.05 3.14 1.92 1.75 1.59 1.83 2.30 2.43 3.00 4.06 7.25 6.94 4.82 4.13 3.47 3.53 3.61 4.27 7.09 5.76 10.05 12.13 9.85 5.93 4.58 4.05 3.67 3.19 2.56 1.99 2.10 2.13 2.06 1.95 2.08 2.49 2.90 2.96 3.41 4.10 3.18 2.86 3.67 4.71 4.38 4.77 5.28
1 118.27 17.97 9.57 7.75 22.46 13.33 10.49 8.19 6.66 5.54 3.28 2.83 3.30 4.35 2.41 2.26 2.80 2.62 2.17 1.59 1.71 1.89 2.26 2.53 2.33 3.16 4.52 4.57 4.96 4.59 4.44 3.55 4.43 5.17 6.73 8.69 4.70 7.14 9.03 6.04 4.83 3.69 2.92 2.23 2.04 1.89 1.72 1.89 2.24 2.39 2.30 2.87 2.94 2.60 2.84 2.74 2.46 2.77 3.49 4.97 5.94 5.58 4.86 3.90
1 108.42 13.04 7.54 6.76 14.78 16.60 9.60 12.70 5.17 9.75 7.01 3.24 2.99 6.76 5.11 2.16 2.30 3.17 3.49 1.78 1.59 1.69 2.03 3.07 3.72 3.31 4.55 7.05 7.83 6.56 5.30 5.99 5.83 5.25 6.18 5.93 10.80 21.75 14.54 10.69 8.93 7.28 6.98 6.60 4.95 5.06 5.86 6.09 5.21 4.41 4.32 5.34 6.85 7.50 7.29 8.07 12.23 11.22 11.12 12.65 14.47 15.27 19.04 17.80
1 143.75 18.85 10.12 7.80 19.51 17.94 8.90 8.23 5.47 4.93 4.02 3.49 4.59 5.58 5.26 2.43 3.01 4.69 3.12 2.36 1.93 2.15 2.51 2.73 2.48 2.31 3.01 4.32 5.67 8.55 7.34 5.62 5.25 5.24 7.76 8.11 6.81 14.73 15.35 11.23 7.46 4.97 4.00 3.00 2.76 2.65 2.56 2.89 3.12 3.03 3.02 3.38 3.80 3.68 3.08 3.33 4.48 3.98 3.51 3.71 5.70 7.91 7.99 7.85
1 175.16 9.71 5.17 4.18 15.21 7.34 6.39 7.15 8.12 7.28 3.44 2.27 1.93 3.30 2.11 1.51 1.71 2.98 4.77 2.23 1.52 1.52 1.74 2.10 2.14 2.46 3.60 5.62 7.35 7.77 7.25 4.77 5.18 5.89 7.50 6.54 6.88 7.30 10.15 11.05 7.31 4.39 3.13 2.41 2.33 2.20 2.09 2.44 2.24 1.90 1.78 2.09 2.53 2.67 2.61 2.79 3.09 4.72 4.14 4.31 5.70 5.99 5.45 6.77
1 149.43 19.01 10.06 7.56 21.76 11.86 10.97 12.24 9.34 11.99 8.95 4.02 3.83 4.60 3.12 2.45 2.82 4.20 4.62 2.59 2.29 2.16 2.47 2.59 3.12 4.33 4.38 5.21 5.95 3.79 3.44 3.85 4.24 4.78 6.26 8.88 7.25 12.22 7.56 4.64 3.40 3.00 2.91 2.50 1.98 1.73 1.60 1.69 1.77 1.62 1.72 2.06 2.27 2.55 2.84 3.15 2.57 2.55 2.62 2.95 4.22 4.83 5.28 5.55
1 160.19 13.42 9.37 8.43 21.27 13.37 8.73 7.64 5.93 6.41 3.48 2.54 2.27 2.88 2.01 1.61 1.75 3.56 2.47 1.40 1.30 1.42 1.45 1.71 1.87 2.50 3.46 3.14 4.71 3.99 3.85 3.40 3.05 3.70 3.94 3.49 6.34 10.07 8.38 6.38 4.29 3.37 2.64 2.40 2.31 2.24 1.96 2.03 2.06 2.22 2.14 2.92 3.44 3.49 3.56 3.68 4.01 3.75 4.13 3.91 3.59 3.86 4.72 6.67
1 139.26 18.43 9.97 8.78 23.26 16.62 8.77 11.14 9.67 6.42 3.56 2.74 2.24 3.41 2.55 2.16 2.53 3.82 3.37 1.98 1.82 1.85 2.07 2.64 3.16 4.42 5.17 5.24 4.91 4.39 3.98 3.82 5.69 8.10 3.79 4.10 11.10 9.61 6.19 4.65 3.50 3.50 3.24 3.10 2.71 2.11 1.95 2.22 2.30 2.42 2.15 2.71 2.93 3.00 2.75 3.06 2.85 2.68 3.10 3.51 4.03 4.65 6.27 8.21
1 126.76 17.11 12.52 12.83 30.09 30.52 12.97 8.32 4.96 4.60 4.63 3.63 2.90 3.63 2.21 1.46 1.39 2.75 2.06 1.41 1.25 1.27 1.42 1.81 2.12 2.96 4.22 4.00 4.06 4.06 3.63 3.60 3.43 4.03 3.19 3.64 5.68 9.48 11.74 7.93 5.20 3.83 3.21 3.03 2.67 2.25 1.84 2.11 2.01 1.93 2.04 2.73 3.56 4.57 5.67 7.57 8.20 6.80 6.58 5.94 5.91 7.89 9.17 11.33
1 140.91 20.67 10.63 7.19 18.24 12.12 6.84 10.53 9.36 8.14 7.86 4.29 3.85 4.25 3.03 2.72 2.86 4.00 4.34 3.06 2.49 2.05 2.27 2.81 2.47 2.91 4.20 5.73 6.55 5.11 4.02 4.39 4.09 4.95 4.53 4.66 6.91 13.75 10.34 5.75 4.31 3.64 2.89 2.57 2.25 2.20 1.91 1.84 1.95 2.17 1.84 1.77 1.71 2.06 2.37 2.46 2.67 3.07 3.32 3.42 4.59 6.99 7.46 8.55
1 148.94 19.98 13.53 14.87 36.44 16.51 13.96 13.61 11.31 11.93 9.07 9.37 6.68 5.74 4.16 2.23 2.20 3.39 3.14 1.94 1.76 1.87 2.08 2.48 2.83 4.16 4.27 4.15 4.82 4.66 5.09 4.73 3.96 4.81 6.40 4.78 5.90 5.80 9.57 5.99 4.39 3.53 2.51 2.18 2.04 1.77 1.53 1.46 1.39 1.39 1.34 1.66 2.71 3.28 3.76 3.43 2.60 2.59 3.13 4.78 7.95 8.74 6.43 5.52
1 93.60 7.64 2.97 2.98 16.63 9.69 6.19 10.46 8.52 6.15 5.07 2.66 2.80 3.48 2.35 1.99 2.19 3.87 3.86 2.57 2.07 2.20 2.75 2.74 2.82 2.80 4.28 8.14 8.67 7.12 7.72 6.18 5.38 4.16 7.22 12.12 5.78 8.94 17.19 14.60 8.65 6.00 4.65 4.22 4.29 3.74 2.80 3.19 4.13 3.49 3.24 4.20 4.52 4.24 4.25 4.33 4.39 4.33 4.67 4.78 4.29 4.37 7.17 8.72
1 97.91 6.17 2.27 3.29 14.49 6.19 7.29 12.34 7.48 6.29 5.40 2.99 2.88 4.83 3.02 2.03 3.60 6.50 4.28 2.45 2.17 2.13 2.73 2.82 2.57 2.93 4.16 5.48 8.64 8.32 5.14 4.66 5.44 6.39 4.92 6.00 9.96 16.55 19.18 16.17 11.97 8.08 6.32 5.28 5.25 3.93 3.01 3.04 3.22 3.35 3.68 4.55 4.61 4.61 5.16 4.97 5.16 5.81 5.26 5.35 5.98 6.23 6.79 6.87


View File

@ -19,6 +19,8 @@
#ifndef COSC_4P80_ASSIGNMENT_2_COMMON_H
#define COSC_4P80_ASSIGNMENT_2_COMMON_H
#include <Eigen/Dense>
namespace assign2
{
struct data_t
@ -31,6 +33,13 @@ namespace assign2
{
std::vector<data_t> data_points;
};
class layer_t;
class network_t;
using Scalar = float;
using matrix_t = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>;
using vector_t = Eigen::Matrix<Scalar, Eigen::Dynamic, 1>;
}
#endif //COSC_4P80_ASSIGNMENT_2_COMMON_H

View File

@ -0,0 +1,53 @@
#pragma once
/*
* Copyright (C) 2024 Brett Terpstra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef COSC_4P80_ASSIGNMENT_2_FUNCTIONS_H
#define COSC_4P80_ASSIGNMENT_2_FUNCTIONS_H
#include <assign2/common.h>
#include <cmath>
namespace assign2
{
struct sigmoid_function
{
[[nodiscard]] Scalar call(Scalar s) const // NOLINT
{
return 1 / (1 + std::exp(-s));
}
[[nodiscard]] Scalar derivative(Scalar s) const
{
return call(s) * (1 - call(s));
}
vector_t operator()(vector_t out) const
{
for (auto& v : out)
v = call(v);
return out;
}
};
struct linear_function
{
};
}
#endif //COSC_4P80_ASSIGNMENT_2_FUNCTIONS_H

View File

@ -0,0 +1,78 @@
#pragma once
/*
* Copyright (C) 2024 Brett Terpstra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef COSC_4P80_ASSIGNMENT_2_INITIALIZERS_H
#define COSC_4P80_ASSIGNMENT_2_INITIALIZERS_H
#include <blt/std/types.h>
#include <blt/std/random.h>
#include <assign2/common.h>
namespace assign2
{
struct empty_init
{
template<int rows, int columns>
inline void operator()(Eigen::Matrix<Scalar, rows, columns>& matrix) const
{
for (auto r : matrix.rowwise())
{
for (auto& v : r)
v = 0;
}
}
};
struct half_init
{
template<int rows, int columns>
inline void operator()(Eigen::Matrix<Scalar, rows, columns>& matrix) const
{
for (auto r : matrix.rowwise())
{
for (auto& v : r)
v = 0.5f;
}
}
};
struct random_init
{
public:
explicit random_init(blt::size_t seed, float min = 0.5 - 0.125, float max = 0.5 + 0.125): seed(seed), min(min), max(max)
{}
template<int rows, int columns>
inline void operator()(Eigen::Matrix<Scalar, rows, columns>& matrix) const
{
blt::random::random_t random(seed);
for (auto r : matrix.rowwise())
{
for (auto& v : r)
v = random.get_float(min, max);
}
}
private:
blt::size_t seed;
float min, max;
};
}
#endif //COSC_4P80_ASSIGNMENT_2_INITIALIZERS_H

View File

@ -19,35 +19,43 @@
#ifndef COSC_4P80_ASSIGNMENT_2_LAYER_H
#define COSC_4P80_ASSIGNMENT_2_LAYER_H
#include <Eigen/Dense>
#include <blt/std/types.h>
#include <assign2/initializers.h>
namespace assign2
{
class layer_t
{
public:
using matrix_t = Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic>;
using vector_t = Eigen::Matrix<float, Eigen::Dynamic, 1>;
layer_t(const blt::i32 in, const blt::i32 out): in_size(in), out_size(out)
{}
template<typename WeightsFunc = empty_init, typename BiasFunc = empty_init>
void init(WeightsFunc weightFunc = empty_init{}, BiasFunc biasFunc = empty_init{})
{
weights.resize(in_size, out_size);
bias.resize(out_size);
weightFunc(weights);
biasFunc(bias);
}
template<typename ActFunction>
vector_t forward(const vector_t & in, ActFunction func = ActFunction{})
vector_t call(const vector_t& in, ActFunction func = ActFunction{})
{
vector_t out;
out.resize(out_size, Eigen::NoChange_t{});
out.noalias() = weights.transpose() * in;
out.colwise() += bias;
return func(out);
return func(std::move(out));
}
private:
const blt::i32 in_size, out_size;
matrix_t weights{};
matrix_t dweights{}; // derivative of weights
vector_t bias{};
vector_t dbias{}; // derivative of bias
};
}

51
include/assign2/network.h Normal file
View File

@ -0,0 +1,51 @@
#pragma once
/*
* Copyright (C) 2024 Brett Terpstra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef COSC_4P80_ASSIGNMENT_2_NETWORK_H
#define COSC_4P80_ASSIGNMENT_2_NETWORK_H
#include <assign2/common.h>
#include <assign2/layer.h>
namespace assign2
{
class network_t
{
public:
network_t(blt::i32 input_size, blt::i32 output_size, blt::i32 hidden_count, blt::i32 hidden_size):
input_size(input_size), output_size(output_size), hidden_count(hidden_count), hidden_size(hidden_size)
{
if (hidden_count > 0)
{
layers.push_back(layer_t{input_size, hidden_size});
for (blt::i32 i = 0; i < hidden_count; i++)
layers.push_back(layer_t{hidden_size, hidden_size});
layers.push_back(layer_t{hidden_size, output_size});
} else
{
}
}
private:
blt::i32 input_size, output_size, hidden_count, hidden_size;
std::vector<layer_t> layers;
};
}
#endif //COSC_4P80_ASSIGNMENT_2_NETWORK_H

0
lib/eigen-3.4.0/Eigen/src/Core/Assign_MKL.h Executable file → Normal file
View File

View File

0
lib/eigen-3.4.0/Eigen/src/Core/arch/SSE/PacketMath.h Executable file → Normal file
View File

View File

0
lib/eigen-3.4.0/Eigen/src/Core/util/BlasUtil.h Executable file → Normal file
View File

View File

0
lib/eigen-3.4.0/Eigen/src/Core/util/MKL_support.h Executable file → Normal file
View File

0
lib/eigen-3.4.0/Eigen/src/Core/util/Meta.h Executable file → Normal file
View File

0
lib/eigen-3.4.0/Eigen/src/misc/lapacke.h Executable file → Normal file
View File

0
lib/eigen-3.4.0/bench/bench_multi_compilers.sh Executable file → Normal file
View File

0
lib/eigen-3.4.0/bench/bench_unrolling Executable file → Normal file
View File

0
lib/eigen-3.4.0/bench/benchmark_suite Executable file → Normal file
View File

0
lib/eigen-3.4.0/bench/btl/data/go_mean Executable file → Normal file
View File

0
lib/eigen-3.4.0/bench/btl/data/mk_new_gnuplot.sh Executable file → Normal file
View File

0
lib/eigen-3.4.0/bench/btl/data/smooth_all.sh Executable file → Normal file
View File

View File

0
lib/eigen-3.4.0/bench/perf_monitoring/make_plot.sh Executable file → Normal file
View File

0
lib/eigen-3.4.0/bench/perf_monitoring/run.sh Executable file → Normal file
View File

0
lib/eigen-3.4.0/bench/perf_monitoring/runall.sh Executable file → Normal file
View File

0
lib/eigen-3.4.0/bench/tensors/eigen_sycl_bench.sh Executable file → Normal file
View File

0
lib/eigen-3.4.0/blas/testing/runblastest.sh Executable file → Normal file
View File

View File

@ -1,235 +1,235 @@
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<!-- Fixed x Fixed Matrix -->
<Type Name="Eigen::Matrix&lt;*,*,*,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,-1,-1,*,*,*&gt;"/>
<DisplayString>[{$T2}, {$T3}] (fixed matrix)</DisplayString>
<Expand>
<ArrayItems Condition="Flags%2"> <!-- row major layout -->
<Rank>2</Rank>
<Size>$i==0 ? $T2 : $T3</Size>
<ValuePointer>m_storage.m_data.array</ValuePointer>
</ArrayItems>
<ArrayItems Condition="!(Flags%2)"> <!-- column major layout -->
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size>$i==0 ? $T2 : $T3</Size>
<ValuePointer>m_storage.m_data.array</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- 2 x 2 Matrix -->
<Type Name="Eigen::Matrix&lt;*,2,2,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,2,2,*,*,*&gt;"/>
<DisplayString>[2, 2] (fixed matrix)</DisplayString>
<Expand>
<Synthetic Name="[row 0]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 0]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[2]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[2]}, {m_storage.m_data.array[3]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[1]}, {m_storage.m_data.array[3]})</DisplayString>
</Synthetic>
</Expand>
</Type>
<!-- 3 x 3 Matrix -->
<Type Name="Eigen::Matrix&lt;*,3,3,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,3,3,*,*,*&gt;"/>
<DisplayString>[3, 3] (fixed matrix)</DisplayString>
<Expand>
<Synthetic Name="[row 0]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 0]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[3]}, {m_storage.m_data.array[6]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[3]}, {m_storage.m_data.array[4]}, {m_storage.m_data.array[5]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[1]}, {m_storage.m_data.array[4]}, {m_storage.m_data.array[7]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 2]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[6]}, {m_storage.m_data.array[7]}, {m_storage.m_data.array[8]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 2]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[2]}, {m_storage.m_data.array[5]}, {m_storage.m_data.array[8]})</DisplayString>
</Synthetic>
</Expand>
</Type>
<!-- 4 x 4 Matrix -->
<Type Name="Eigen::Matrix&lt;*,4,4,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,4,4,*,*,*&gt;"/>
<DisplayString>[4, 4] (fixed matrix)</DisplayString>
<Expand>
<Synthetic Name="[row 0]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]}, {m_storage.m_data.array[3]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 0]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[4]}, {m_storage.m_data.array[8]}, {m_storage.m_data.array[12]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[4]}, {m_storage.m_data.array[5]}, {m_storage.m_data.array[6]}, {m_storage.m_data.array[7]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[1]}, {m_storage.m_data.array[5]}, {m_storage.m_data.array[9]}, {m_storage.m_data.array[13]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 2]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[8]}, {m_storage.m_data.array[9]}, {m_storage.m_data.array[10]}, {m_storage.m_data.array[11]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 2]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[2]}, {m_storage.m_data.array[6]}, {m_storage.m_data.array[10]}, {m_storage.m_data.array[14]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 3]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[12]}, {m_storage.m_data.array[13]}, {m_storage.m_data.array[14]}, {m_storage.m_data.array[15]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 3]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[3]}, {m_storage.m_data.array[7]}, {m_storage.m_data.array[11]}, {m_storage.m_data.array[15]})</DisplayString>
</Synthetic>
</Expand>
</Type>
<!-- Dynamic x Dynamic Matrix -->
<Type Name="Eigen::Matrix&lt;*,-1,-1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,-1,-1,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_rows}, {m_storage.m_cols}] (dynamic matrix)</DisplayString>
<Expand>
<ArrayItems Condition="Flags%2"> <!-- row major layout -->
<Rank>2</Rank>
<Size>$i==0 ? m_storage.m_rows : m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
<ArrayItems Condition="!(Flags%2)"> <!-- column major layout -->
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size>$i==0 ? m_storage.m_rows : m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Fixed x Dynamic Matrix -->
<Type Name="Eigen::Matrix&lt;*,*,-1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,*,-1,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{$T2}, {m_storage.m_cols}] (dynamic column matrix)</DisplayString>
<Expand>
<ArrayItems Condition="Flags%2"> <!-- row major layout -->
<Rank>2</Rank>
<Size>$i==0 ? $T2 : m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
<ArrayItems Condition="!(Flags%2)"> <!-- column major layout -->
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size>$i==0 ? $T2 : m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Dynamic x Fixed Matrix -->
<Type Name="Eigen::Matrix&lt;*,-1,*,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,-1,*,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_rows}, {$T2}] (dynamic row matrix)</DisplayString>
<Expand>
<ArrayItems Condition="Flags%2"> <!-- row major layout -->
<Rank>2</Rank>
<Size>$i==0 ? m_storage.m_rows : $T2</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
<ArrayItems Condition="!(Flags%2)"> <!-- column major layout -->
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size>$i==0 ? m_storage.m_rows : $T2</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Dynamic Column Vector -->
<Type Name="Eigen::Matrix&lt;*,1,-1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,1,-1,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_cols}] (dynamic column vector)</DisplayString>
<Expand>
<Item Name="[size]">m_storage.m_cols</Item>
<ArrayItems>
<Size>m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Dynamic Row Vector -->
<Type Name="Eigen::Matrix&lt;*,-1,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,-1,1,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_rows}] (dynamic row vector)</DisplayString>
<Expand>
<Item Name="[size]">m_storage.m_rows</Item>
<ArrayItems>
<Size>m_storage.m_rows</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Fixed Vector -->
<Type Name="Eigen::Matrix&lt;*,1,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,1,1,*,*,*&gt;"/>
<DisplayString>[1] ({m_storage.m_data.array[0]})</DisplayString>
<Expand>
<Item Name="[x]">m_storage.m_data.array[0]</Item>
</Expand>
</Type>
<Type Name="Eigen::Matrix&lt;*,2,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Matrix&lt;*,1,2,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,2,1,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,1,2,*,*,*&gt;"/>
<DisplayString>[2] ({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]})</DisplayString>
<Expand>
<Item Name="[x]">m_storage.m_data.array[0]</Item>
<Item Name="[y]">m_storage.m_data.array[1]</Item>
</Expand>
</Type>
<Type Name="Eigen::Matrix&lt;*,3,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Matrix&lt;*,1,3,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,3,1,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,1,3,*,*,*&gt;"/>
<DisplayString>[3] ({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]})</DisplayString>
<Expand>
<Item Name="[x]">m_storage.m_data.array[0]</Item>
<Item Name="[y]">m_storage.m_data.array[1]</Item>
<Item Name="[z]">m_storage.m_data.array[2]</Item>
</Expand>
</Type>
<Type Name="Eigen::Matrix&lt;*,4,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Matrix&lt;*,1,4,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,4,1,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,1,4,*,*,*&gt;"/>
<DisplayString>[4] ({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]}, {m_storage.m_data.array[3]})</DisplayString>
<Expand>
<Item Name="[x]">m_storage.m_data.array[0]</Item>
<Item Name="[y]">m_storage.m_data.array[1]</Item>
<Item Name="[z]">m_storage.m_data.array[2]</Item>
<Item Name="[w]">m_storage.m_data.array[3]</Item>
</Expand>
</Type>
</AutoVisualizer>
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<!-- Fixed x Fixed Matrix -->
<Type Name="Eigen::Matrix&lt;*,*,*,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,-1,-1,*,*,*&gt;"/>
<DisplayString>[{$T2}, {$T3}] (fixed matrix)</DisplayString>
<Expand>
<ArrayItems Condition="Flags%2"> <!-- row major layout -->
<Rank>2</Rank>
<Size>$i==0 ? $T2 : $T3</Size>
<ValuePointer>m_storage.m_data.array</ValuePointer>
</ArrayItems>
<ArrayItems Condition="!(Flags%2)"> <!-- column major layout -->
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size>$i==0 ? $T2 : $T3</Size>
<ValuePointer>m_storage.m_data.array</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- 2 x 2 Matrix -->
<Type Name="Eigen::Matrix&lt;*,2,2,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,2,2,*,*,*&gt;"/>
<DisplayString>[2, 2] (fixed matrix)</DisplayString>
<Expand>
<Synthetic Name="[row 0]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 0]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[2]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[2]}, {m_storage.m_data.array[3]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[1]}, {m_storage.m_data.array[3]})</DisplayString>
</Synthetic>
</Expand>
</Type>
<!-- 3 x 3 Matrix -->
<Type Name="Eigen::Matrix&lt;*,3,3,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,3,3,*,*,*&gt;"/>
<DisplayString>[3, 3] (fixed matrix)</DisplayString>
<Expand>
<Synthetic Name="[row 0]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 0]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[3]}, {m_storage.m_data.array[6]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[3]}, {m_storage.m_data.array[4]}, {m_storage.m_data.array[5]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[1]}, {m_storage.m_data.array[4]}, {m_storage.m_data.array[7]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 2]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[6]}, {m_storage.m_data.array[7]}, {m_storage.m_data.array[8]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 2]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[2]}, {m_storage.m_data.array[5]}, {m_storage.m_data.array[8]})</DisplayString>
</Synthetic>
</Expand>
</Type>
<!-- 4 x 4 Matrix -->
<Type Name="Eigen::Matrix&lt;*,4,4,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,4,4,*,*,*&gt;"/>
<DisplayString>[4, 4] (fixed matrix)</DisplayString>
<Expand>
<Synthetic Name="[row 0]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]}, {m_storage.m_data.array[3]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 0]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[0]}, {m_storage.m_data.array[4]}, {m_storage.m_data.array[8]}, {m_storage.m_data.array[12]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[4]}, {m_storage.m_data.array[5]}, {m_storage.m_data.array[6]}, {m_storage.m_data.array[7]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 1]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[1]}, {m_storage.m_data.array[5]}, {m_storage.m_data.array[9]}, {m_storage.m_data.array[13]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 2]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[8]}, {m_storage.m_data.array[9]}, {m_storage.m_data.array[10]}, {m_storage.m_data.array[11]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 2]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[2]}, {m_storage.m_data.array[6]}, {m_storage.m_data.array[10]}, {m_storage.m_data.array[14]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 3]" Condition="Flags%2">
<DisplayString>({m_storage.m_data.array[12]}, {m_storage.m_data.array[13]}, {m_storage.m_data.array[14]}, {m_storage.m_data.array[15]})</DisplayString>
</Synthetic>
<Synthetic Name="[row 3]" Condition="!(Flags%2)">
<DisplayString>({m_storage.m_data.array[3]}, {m_storage.m_data.array[7]}, {m_storage.m_data.array[11]}, {m_storage.m_data.array[15]})</DisplayString>
</Synthetic>
</Expand>
</Type>
<!-- Dynamic x Dynamic Matrix -->
<Type Name="Eigen::Matrix&lt;*,-1,-1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,-1,-1,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_rows}, {m_storage.m_cols}] (dynamic matrix)</DisplayString>
<Expand>
<ArrayItems Condition="Flags%2"> <!-- row major layout -->
<Rank>2</Rank>
<Size>$i==0 ? m_storage.m_rows : m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
<ArrayItems Condition="!(Flags%2)"> <!-- column major layout -->
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size>$i==0 ? m_storage.m_rows : m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Fixed x Dynamic Matrix -->
<Type Name="Eigen::Matrix&lt;*,*,-1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,*,-1,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{$T2}, {m_storage.m_cols}] (dynamic column matrix)</DisplayString>
<Expand>
<ArrayItems Condition="Flags%2"> <!-- row major layout -->
<Rank>2</Rank>
<Size>$i==0 ? $T2 : m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
<ArrayItems Condition="!(Flags%2)"> <!-- column major layout -->
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size>$i==0 ? $T2 : m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Dynamic x Fixed Matrix -->
<Type Name="Eigen::Matrix&lt;*,-1,*,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,-1,*,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_rows}, {$T2}] (dynamic row matrix)</DisplayString>
<Expand>
<ArrayItems Condition="Flags%2"> <!-- row major layout -->
<Rank>2</Rank>
<Size>$i==0 ? m_storage.m_rows : $T2</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
<ArrayItems Condition="!(Flags%2)"> <!-- column major layout -->
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size>$i==0 ? m_storage.m_rows : $T2</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Dynamic Column Vector -->
<Type Name="Eigen::Matrix&lt;*,1,-1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,1,-1,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_cols}] (dynamic column vector)</DisplayString>
<Expand>
<Item Name="[size]">m_storage.m_cols</Item>
<ArrayItems>
<Size>m_storage.m_cols</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Dynamic Row Vector -->
<Type Name="Eigen::Matrix&lt;*,-1,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,-1,1,*,*,*&gt;"/>
<DisplayString Condition="m_storage.m_data == 0">empty</DisplayString>
<DisplayString Condition="m_storage.m_data != 0">[{m_storage.m_rows}] (dynamic row vector)</DisplayString>
<Expand>
<Item Name="[size]">m_storage.m_rows</Item>
<ArrayItems>
<Size>m_storage.m_rows</Size>
<ValuePointer>m_storage.m_data</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<!-- Fixed Vector -->
<Type Name="Eigen::Matrix&lt;*,1,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Array&lt;*,1,1,*,*,*&gt;"/>
<DisplayString>[1] ({m_storage.m_data.array[0]})</DisplayString>
<Expand>
<Item Name="[x]">m_storage.m_data.array[0]</Item>
</Expand>
</Type>
<Type Name="Eigen::Matrix&lt;*,2,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Matrix&lt;*,1,2,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,2,1,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,1,2,*,*,*&gt;"/>
<DisplayString>[2] ({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]})</DisplayString>
<Expand>
<Item Name="[x]">m_storage.m_data.array[0]</Item>
<Item Name="[y]">m_storage.m_data.array[1]</Item>
</Expand>
</Type>
<Type Name="Eigen::Matrix&lt;*,3,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Matrix&lt;*,1,3,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,3,1,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,1,3,*,*,*&gt;"/>
<DisplayString>[3] ({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]})</DisplayString>
<Expand>
<Item Name="[x]">m_storage.m_data.array[0]</Item>
<Item Name="[y]">m_storage.m_data.array[1]</Item>
<Item Name="[z]">m_storage.m_data.array[2]</Item>
</Expand>
</Type>
<Type Name="Eigen::Matrix&lt;*,4,1,*,*,*&gt;">
<AlternativeType Name="Eigen::Matrix&lt;*,1,4,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,4,1,*,*,*&gt;"/>
<AlternativeType Name="Eigen::Array&lt;*,1,4,*,*,*&gt;"/>
<DisplayString>[4] ({m_storage.m_data.array[0]}, {m_storage.m_data.array[1]}, {m_storage.m_data.array[2]}, {m_storage.m_data.array[3]})</DisplayString>
<Expand>
<Item Name="[x]">m_storage.m_data.array[0]</Item>
<Item Name="[y]">m_storage.m_data.array[1]</Item>
<Item Name="[z]">m_storage.m_data.array[2]</Item>
<Item Name="[w]">m_storage.m_data.array[3]</Item>
</Expand>
</Type>
</AutoVisualizer>

View File

@ -1,295 +1,295 @@
; ***************************************************************
; * Eigen Visualizer
; *
; * Author: Hauke Heibel <hauke.heibel@gmail.com>
; *
; * Support the enhanced debugging of the following Eigen
; * types (*: any, +:fixed dimension) :
; *
; * - Eigen::Matrix<*,4,1,*,*,*> and Eigen::Matrix<*,1,4,*,*,*>
; * - Eigen::Matrix<*,3,1,*,*,*> and Eigen::Matrix<*,1,3,*,*,*>
; * - Eigen::Matrix<*,2,1,*,*,*> and Eigen::Matrix<*,1,2,*,*,*>
; * - Eigen::Matrix<*,-1,-1,*,*,*>
; * - Eigen::Matrix<*,+,-1,*,*,*>
; * - Eigen::Matrix<*,-1,+,*,*,*>
; * - Eigen::Matrix<*,+,+,*,*,*>
; *
; * Matrices are displayed properly independently of the memory
; * alignment (RowMajor vs. ColMajor).
; *
; * This file is distributed WITHOUT ANY WARRANTY. Please ensure
; * that your original autoexp.dat file is copied to a safe
; * place before proceeding with its modification.
; ***************************************************************
[Visualizer]
; Fixed size 4-vectors
Eigen::Matrix<*,4,1,*,*,*>|Eigen::Matrix<*,1,4,*,*,*>{
children
(
#(
[internals]: [$c,!],
x : ($c.m_storage.m_data.array)[0],
y : ($c.m_storage.m_data.array)[1],
z : ($c.m_storage.m_data.array)[2],
w : ($c.m_storage.m_data.array)[3]
)
)
preview
(
#(
"[",
4,
"](",
#array(expr: $e.m_storage.m_data.array[$i], size: 4),
")"
)
)
}
; Fixed size 3-vectors
Eigen::Matrix<*,3,1,*,*,*>|Eigen::Matrix<*,1,3,*,*,*>{
children
(
#(
[internals]: [$c,!],
x : ($c.m_storage.m_data.array)[0],
y : ($c.m_storage.m_data.array)[1],
z : ($c.m_storage.m_data.array)[2]
)
)
preview
(
#(
"[",
3,
"](",
#array(expr: $e.m_storage.m_data.array[$i], size: 3),
")"
)
)
}
; Fixed size 2-vectors
Eigen::Matrix<*,2,1,*,*,*>|Eigen::Matrix<*,1,2,*,*,*>{
children
(
#(
[internals]: [$c,!],
x : ($c.m_storage.m_data.array)[0],
y : ($c.m_storage.m_data.array)[1]
)
)
preview
(
#(
"[",
2,
"](",
#array(expr: $e.m_storage.m_data.array[$i], size: 2),
")"
)
)
}
; Fixed size 1-vectors
Eigen::Matrix<*,1,1,*,*,*>|Eigen::Matrix<*,1,1,*,*,*>{
children
(
#(
[internals]: [$c,!],
x : ($c.m_storage.m_data.array)[0]
)
)
preview
(
#(
"[",
1,
"](",
#array(expr: $e.m_storage.m_data.array[$i], size: 1),
")"
)
)
}
; Dynamic matrices (ColMajor and RowMajor support)
Eigen::Matrix<*,-1,-1,*,*,*>{
children
(
#(
[internals]: [$c,!],
rows: $c.m_storage.m_rows,
cols: $c.m_storage.m_cols,
; Check for RowMajorBit
#if ($c.Flags & 0x1) (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[($i % $c.m_storage.m_rows)*$c.m_storage.m_cols + (($i- $i % $c.m_storage.m_rows)/$c.m_storage.m_rows)],
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols
)
) #else (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[$i],
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols
)
)
)
)
preview
(
#(
"[",
$c.m_storage.m_rows,
",",
$c.m_storage.m_cols,
"](",
#array(
expr : [($c.m_storage.m_data)[$i],g],
size : $c.m_storage.m_rows*$c.m_storage.m_cols
),
")"
)
)
}
; Fixed rows, dynamic columns matrix (ColMajor and RowMajor support)
Eigen::Matrix<*,*,-1,*,*,*>{
children
(
#(
[internals]: [$c,!],
rows: $c.RowsAtCompileTime,
cols: $c.m_storage.m_cols,
; Check for RowMajorBit
#if ($c.Flags & 0x1) (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[($i % $c.RowsAtCompileTime)*$c.m_storage.m_cols + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)],
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols
)
) #else (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[$i],
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols
)
)
)
)
preview
(
#(
"[",
$c.RowsAtCompileTime,
",",
$c.m_storage.m_cols,
"](",
#array(
expr : [($c.m_storage.m_data)[$i],g],
size : $c.RowsAtCompileTime*$c.m_storage.m_cols
),
")"
)
)
}
; Dynamic rows, fixed columns matrix (ColMajor and RowMajor support)
Eigen::Matrix<*,-1,*,*,*,*>{
children
(
#(
[internals]: [$c,!],
rows: $c.m_storage.m_rows,
cols: $c.ColsAtCompileTime,
; Check for RowMajorBit
#if ($c.Flags & 0x1) (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[($i % $c.m_storage.m_rows)*$c.ColsAtCompileTime + (($i- $i % $c.m_storage.m_rows)/$c.m_storage.m_rows)],
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime
)
) #else (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[$i],
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime
)
)
)
)
preview
(
#(
"[",
$c.m_storage.m_rows,
",",
$c.ColsAtCompileTime,
"](",
#array(
expr : [($c.m_storage.m_data)[$i],g],
size : $c.m_storage.m_rows*$c.ColsAtCompileTime
),
")"
)
)
}
; Fixed size matrix (ColMajor and RowMajor support)
Eigen::Matrix<*,*,*,*,*,*>{
children
(
#(
[internals]: [$c,!],
rows: $c.RowsAtCompileTime,
cols: $c.ColsAtCompileTime,
; Check for RowMajorBit
#if ($c.Flags & 0x1) (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data.array)[($i % $c.RowsAtCompileTime)*$c.ColsAtCompileTime + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)],
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime
)
) #else (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data.array)[$i],
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime
)
)
)
)
preview
(
#(
"[",
$c.RowsAtCompileTime,
",",
$c.ColsAtCompileTime,
"](",
#array(
expr : [($c.m_storage.m_data.array)[$i],g],
size : $c.RowsAtCompileTime*$c.ColsAtCompileTime
),
")"
)
)
}
; ***************************************************************
; * Eigen Visualizer
; *
; * Author: Hauke Heibel <hauke.heibel@gmail.com>
; *
; * Support the enhanced debugging of the following Eigen
; * types (*: any, +:fixed dimension) :
; *
; * - Eigen::Matrix<*,4,1,*,*,*> and Eigen::Matrix<*,1,4,*,*,*>
; * - Eigen::Matrix<*,3,1,*,*,*> and Eigen::Matrix<*,1,3,*,*,*>
; * - Eigen::Matrix<*,2,1,*,*,*> and Eigen::Matrix<*,1,2,*,*,*>
; * - Eigen::Matrix<*,-1,-1,*,*,*>
; * - Eigen::Matrix<*,+,-1,*,*,*>
; * - Eigen::Matrix<*,-1,+,*,*,*>
; * - Eigen::Matrix<*,+,+,*,*,*>
; *
; * Matrices are displayed properly independently of the memory
; * alignment (RowMajor vs. ColMajor).
; *
; * This file is distributed WITHOUT ANY WARRANTY. Please ensure
; * that your original autoexp.dat file is copied to a safe
; * place before proceeding with its modification.
; ***************************************************************
[Visualizer]
; Fixed size 4-vectors
Eigen::Matrix<*,4,1,*,*,*>|Eigen::Matrix<*,1,4,*,*,*>{
children
(
#(
[internals]: [$c,!],
x : ($c.m_storage.m_data.array)[0],
y : ($c.m_storage.m_data.array)[1],
z : ($c.m_storage.m_data.array)[2],
w : ($c.m_storage.m_data.array)[3]
)
)
preview
(
#(
"[",
4,
"](",
#array(expr: $e.m_storage.m_data.array[$i], size: 4),
")"
)
)
}
; Fixed size 3-vectors
Eigen::Matrix<*,3,1,*,*,*>|Eigen::Matrix<*,1,3,*,*,*>{
children
(
#(
[internals]: [$c,!],
x : ($c.m_storage.m_data.array)[0],
y : ($c.m_storage.m_data.array)[1],
z : ($c.m_storage.m_data.array)[2]
)
)
preview
(
#(
"[",
3,
"](",
#array(expr: $e.m_storage.m_data.array[$i], size: 3),
")"
)
)
}
; Fixed size 2-vectors
Eigen::Matrix<*,2,1,*,*,*>|Eigen::Matrix<*,1,2,*,*,*>{
children
(
#(
[internals]: [$c,!],
x : ($c.m_storage.m_data.array)[0],
y : ($c.m_storage.m_data.array)[1]
)
)
preview
(
#(
"[",
2,
"](",
#array(expr: $e.m_storage.m_data.array[$i], size: 2),
")"
)
)
}
; Fixed size 1-vectors
Eigen::Matrix<*,1,1,*,*,*>|Eigen::Matrix<*,1,1,*,*,*>{
children
(
#(
[internals]: [$c,!],
x : ($c.m_storage.m_data.array)[0]
)
)
preview
(
#(
"[",
1,
"](",
#array(expr: $e.m_storage.m_data.array[$i], size: 1),
")"
)
)
}
; Dynamic matrices (ColMajor and RowMajor support)
Eigen::Matrix<*,-1,-1,*,*,*>{
children
(
#(
[internals]: [$c,!],
rows: $c.m_storage.m_rows,
cols: $c.m_storage.m_cols,
; Check for RowMajorBit
#if ($c.Flags & 0x1) (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[($i % $c.m_storage.m_rows)*$c.m_storage.m_cols + (($i- $i % $c.m_storage.m_rows)/$c.m_storage.m_rows)],
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols
)
) #else (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[$i],
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.m_storage.m_cols
)
)
)
)
preview
(
#(
"[",
$c.m_storage.m_rows,
",",
$c.m_storage.m_cols,
"](",
#array(
expr : [($c.m_storage.m_data)[$i],g],
size : $c.m_storage.m_rows*$c.m_storage.m_cols
),
")"
)
)
}
; Fixed rows, dynamic columns matrix (ColMajor and RowMajor support)
Eigen::Matrix<*,*,-1,*,*,*>{
children
(
#(
[internals]: [$c,!],
rows: $c.RowsAtCompileTime,
cols: $c.m_storage.m_cols,
; Check for RowMajorBit
#if ($c.Flags & 0x1) (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[($i % $c.RowsAtCompileTime)*$c.m_storage.m_cols + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)],
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols
)
) #else (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[$i],
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.m_storage.m_cols
)
)
)
)
preview
(
#(
"[",
$c.RowsAtCompileTime,
",",
$c.m_storage.m_cols,
"](",
#array(
expr : [($c.m_storage.m_data)[$i],g],
size : $c.RowsAtCompileTime*$c.m_storage.m_cols
),
")"
)
)
}
; Dynamic rows, fixed columns matrix (ColMajor and RowMajor support)
Eigen::Matrix<*,-1,*,*,*,*>{
children
(
#(
[internals]: [$c,!],
rows: $c.m_storage.m_rows,
cols: $c.ColsAtCompileTime,
; Check for RowMajorBit
#if ($c.Flags & 0x1) (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[($i % $c.m_storage.m_rows)*$c.ColsAtCompileTime + (($i- $i % $c.m_storage.m_rows)/$c.m_storage.m_rows)],
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime
)
) #else (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data)[$i],
size: ($r==1)*$c.m_storage.m_rows+($r==0)*$c.ColsAtCompileTime
)
)
)
)
preview
(
#(
"[",
$c.m_storage.m_rows,
",",
$c.ColsAtCompileTime,
"](",
#array(
expr : [($c.m_storage.m_data)[$i],g],
size : $c.m_storage.m_rows*$c.ColsAtCompileTime
),
")"
)
)
}
; Fixed size matrix (ColMajor and RowMajor support)
Eigen::Matrix<*,*,*,*,*,*>{
children
(
#(
[internals]: [$c,!],
rows: $c.RowsAtCompileTime,
cols: $c.ColsAtCompileTime,
; Check for RowMajorBit
#if ($c.Flags & 0x1) (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data.array)[($i % $c.RowsAtCompileTime)*$c.ColsAtCompileTime + (($i- $i % $c.RowsAtCompileTime)/$c.RowsAtCompileTime)],
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime
)
) #else (
#array(
rank: 2,
base: 0,
expr: ($c.m_storage.m_data.array)[$i],
size: ($r==1)*$c.RowsAtCompileTime+($r==0)*$c.ColsAtCompileTime
)
)
)
)
preview
(
#(
"[",
$c.RowsAtCompileTime,
",",
$c.ColsAtCompileTime,
"](",
#array(
expr : [($c.m_storage.m_data.array)[$i],g],
size : $c.RowsAtCompileTime*$c.ColsAtCompileTime
),
")"
)
)
}

0
lib/eigen-3.4.0/scripts/check.in Executable file → Normal file
View File

0
lib/eigen-3.4.0/scripts/debug.in Executable file → Normal file
View File

0
lib/eigen-3.4.0/scripts/eigen_monitor_perf.sh Executable file → Normal file
View File

0
lib/eigen-3.4.0/scripts/release.in Executable file → Normal file
View File

View File

View File

View File

@ -4,6 +4,8 @@
#include <assign2/common.h>
#include <filesystem>
#include "blt/iterator/enumerate.h"
#include <assign2/layer.h>
#include <assign2/functions.h>
using namespace assign2;
@ -75,6 +77,36 @@ int main(int argc, const char** argv)
auto data_files = load_data_files(get_data_files(data_directory));
vector_t input;
input.resize(16);
for (auto f : data_files)
{
if (f.data_points.begin()->bins.size() == 16)
{
for (auto [i, b] : blt::enumerate(f.data_points.begin()->bins))
input(static_cast<Eigen::Index>(i)) = b;
}
}
random_init randomizer{619};
sigmoid_function sig;
layer_t layer1{16, 4};
layer_t layer2{4, 4};
layer_t layer3{4, 4};
layer_t layer_output{4, 1};
layer1.init(randomizer, empty_init{});
layer2.init(randomizer, empty_init{});
layer3.init(randomizer, empty_init{});
layer_output.init(randomizer, empty_init{});
auto output = layer1.call(input, sig);
output = layer2.call(output, sig);
output = layer3.call(output, sig);
output = layer_output.call(output, sig);
std::cout << output << std::endl;
// for (auto d : data_files)
// {
// BLT_TRACE_STREAM << "\nSilly new file:\n";
@ -90,8 +122,8 @@ int main(int argc, const char** argv)
// BLT_TRACE_STREAM << "]\n";
// }
// }
std::cout << "Hello World!" << std::endl;
}