-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_maxFilter.cu
More file actions
194 lines (180 loc) · 45.1 KB
/
Copy pathtest_maxFilter.cu
File metadata and controls
194 lines (180 loc) · 45.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
#include <thrust/host_vector.h>
#include <thrust/device_vector.h>
#include <float.h>
#include <iostream>
#include <cmath>
#include <cuda_runtime.h>
#define pixelPerBlock 36
__global__ void maxFilter2D_opt(const float* data_in, int m, int n, float *out_idx) {
__shared__ float sbuffer[pixelPerBlock][10];
int tid = threadIdx.x;
int pixel_id = tid / 10;
int cx = blockIdx.x;
int cy = blockIdx.y + pixel_id;
int ty = tid % 10;
if (tid < pixelPerBlock*10) {
int curr_x, curr_y;
if (ty < 3) {
curr_x = cx - 1;
curr_y = cy - 1 + ty;
} else if (ty < 6) {
curr_x = cx;
curr_y = cy - 1 + (ty - 3);
} else if (ty < 9) {
curr_x = cx + 1;
curr_y = cy - 1 + (ty - 6);
}
if (curr_x >= 0 && curr_y >= 0 && curr_x < m && curr_y < n) {
sbuffer[pixel_id][ty] = data_in[curr_x * n + curr_y];
} else {
sbuffer[pixel_id][ty] = -FLT_MAX;
}
if (ty == 9) {
sbuffer[pixel_id][9] = cx * n + cy;
}
__syncwarp();
if (blockIdx.x == 0 && blockIdx.y == 0 && ty == 0 && pixel_id == 0) {
for (int j=0;j<10;++j) {
printf("tid: %d, sbuffer[%d][%d]: %f\n", tid, pixel_id, j, sbuffer[pixel_id][j]);
}
}
}
/*if (tid < pixelPerBlock) {
float local_max = 0;
for (int p = 0; p < 9; ++p) {
local_max = max(local_max, sbuffer[tid][p]);
}
if (local_max == sbuffer[tid][4] && local_max > threshold) {
atomicPush(out_idx, nIdx, 7, (int)sbuffer[tid][9]);
}
}*/
}
int main() {
thrust::device_vector<float> d_in{-7.65994, -6.99405, -6.30601, -5.69767, -4.79626, -3.72849, -4.15905, -6.26752, -7.99788, -8.48959, -7.60121, -5.60641, -4.46058, -6.05376, -7.83338, -8.39737, -7.6542, -5.93213, -4.55346, -5.03528, -6.05673, -6.20512, -5.27797, -4.06978, -4.49111, -6.34364, -7.85192, -8.44809, -8.19452, -7.44369, -6.8767, -7.00723, -7.43739, -7.4579, -6.68457, -5.09906,
-7.67495, -6.93898, -5.95616, -5.13985, -4.46037, -3.91028, -4.43223, -6.25569, -7.95255, -8.6367, -8.07858, -6.43596, -5.09639, -6.13361, -7.87755, -8.60316, -7.97878, -6.06355, -3.80973, -3.85537, -5.42525, -6.15434, -5.58183, -4.17569, -3.79017, -5.46636, -7.25883, -8.13705, -8.03873, -7.21417, -6.28506, -6.08141, -6.55327, -6.86548, -6.4627, -5.20241,
-7.72373, -7.05683, -5.91952, -4.8413, -4.21445, -4.01889, -4.5679, -6.06764, -7.66216, -8.50927, -8.29063, -7.09657, -5.91755, -6.49413, -8.014, -8.79401, -8.27107, -6.26268, -3.15903, -2.4556, -4.81165, -6.30238, -6.25148, -4.94845, -3.70297, -4.67345, -6.65026, -7.87304, -8.00692, -7.14893, -5.7188, -4.82605, -5.30022, -6.17801, -6.4383, -5.74776,
-7.816, -7.33852, -6.25644, -5.00428, -4.23419, -4.11745, -4.56625, -5.68478, -7.09346, -8.0729, -8.21114, -7.52612, -6.71235, -7.01989, -8.20218, -8.91965, -8.46048, -6.44941, -2.73592, -1.01422, -4.29443, -6.55496, -7.01724, -5.99181, -4.28465, -4.25591, -6.18512, -7.73751, -8.131, -7.29003, -5.32463, -3.25389, -3.59869, -5.44642, -6.57636, -6.49036,
-7.94771, -7.72485, -6.87405, -5.6395, -4.64341, -4.30338, -4.47251, -5.11952, -6.22374, -7.29312, -7.81964, -7.69699, -7.35095, -7.56935, -8.38978, -8.93933, -8.49158, -6.54201, -2.60388, 0.0561705, -3.92462, -6.77701, -7.64907, -6.94122, -5.21072, -4.43243, -6.04156, -7.77943, -8.37825, -7.58685, -5.20916, -1.53791, -1.39934, -4.74545, -6.76732, -7.16721,
-8.0995, -8.13081, -7.59293, -6.54326, -5.40427, -4.67464, -4.38869, -4.44862, -5.07059, -6.14872, -7.10684, -7.60245, -7.77044, -8.03078, -8.52947, -8.83085, -8.33189, -6.48057, -2.70788, 0.299149, -3.68347, -6.83539, -7.99923, -7.59808, -6.11343, -5.10593, -6.29124, -7.98316, -8.66681, -7.92518, -5.35639, -0.240669, 1.07076, -4.15009, -6.87183, -7.59536,
-8.24047, -8.47335, -8.24757, -7.46783, -6.34096, -5.27128, -4.46519, -3.86473, -3.78235, -4.68976, -6.10201, -7.25849, -7.9493, -8.33676, -8.59052, -8.5997, -7.98281, -6.24509, -2.92999, -0.237146, -3.48018, -6.61267, -7.96797, -7.86401, -6.77393, -5.95891, -6.82484, -8.27432, -8.90438, -8.18672, -5.63854, -0.140995, 2.56604, -3.69391, -6.75682, -7.65559,
-8.33536, -8.68664, -8.72536, -8.23947, -7.26102, -6.04094, -4.83538, -3.67595, -2.8047, -3.21455, -4.94884, -6.72177, -7.89568, -8.45881, -8.56505, -8.29006, -7.50162, -5.88043, -3.18715, -1.07753, -3.19728, -5.9972, -7.46122, -7.672, -7.09069, -6.7174, -7.43935, -8.55835, -9.01968, -8.28876, -5.91088, -1.15152, 1.68803, -3.34459, -6.30315, -7.24839,
-8.35247, -8.72599, -8.95825, -8.76064, -8.02631, -6.86742, -5.51496, -4.10622, -2.78718, -2.48813, -4.03003, -6.12324, -7.65084, -8.40242, -8.47085, -7.99241, -7.03241, -5.53107, -3.48551, -1.87819, -2.75316, -4.86416, -6.3508, -6.94803, -7.01988, -7.23441, -7.96132, -8.75732, -8.97789, -8.19949, -6.088, -2.48136, -0.273385, -3.03439, -5.39744, -6.25432,
-8.27072, -8.56887, -8.90587, -8.97717, -8.5533, -7.62716, -6.38105, -5.04517, -3.79224, -3.11321, -3.88621, -5.68797, -7.3033, -8.20873, -8.34985, -7.82735, -6.80052, -5.43973, -3.91178, -2.5653, -2.17677, -3.06854, -4.42109, -5.59498, -6.55417, -7.45559, -8.29003, -8.82784, -8.78913, -7.94911, -6.17012, -3.66787, -2.01891, -2.73652, -3.93832, -4.49999,
-8.08638, -8.22059, -8.54801, -8.85398, -8.79112, -8.22236, -7.25939, -6.16747, -5.18733, -4.52869, -4.61774, -5.65157, -6.99723, -7.95904, -8.25756, -7.8846, -6.98495, -5.80634, -4.56123, -3.23265, -1.71932, -0.580485, -1.29595, -3.53665, -5.75192, -7.38882, -8.38975, -8.76637, -8.51658, -7.645, -6.24135, -4.62207, -3.32571, -2.54802, -1.96392, -1.79112,
-7.82016, -7.73029, -7.89405, -8.36608, -8.70405, -8.58469, -8.0073, -7.20604, -6.46562, -5.93385, -5.72528, -6.06025, -6.89584, -7.76609, -8.24009, -8.15016, -7.53867, -6.57981, -5.43769, -4.0214, -1.87349, 1.48778, 3.04353, -1.13299, -4.84181, -7.10743, -8.28087, -8.61061, -8.27449, -7.4646, -6.43486, -5.40427, -4.30175, -2.70943, -0.295987, 1.22046,
-7.52293, -7.21558, -7.02302, -7.50905, -8.26403, -8.66707, -8.53437, -8.02481, -7.44185, -6.99855, -6.73284, -6.71377, -7.08011, -7.73155, -8.30688, -8.50412, -8.21774, -7.49317, -6.42498, -4.99543, -2.91949, 0.254564, 2.82941, -0.462921, -4.3449, -6.77621, -8.04406, -8.43508, -8.18777, -7.56727, -6.84385, -6.10524, -5.10943, -3.42969, -0.900883, 0.502147,
-7.27189, -6.86675, -6.16446, -6.35011, -7.4573, -8.43697, -8.79091, -8.57492, -8.09151, -7.66766, -7.42902, -7.34742, -7.47371, -7.88027, -8.42034, -8.79164, -8.76897, -8.27848, -7.35677, -6.08029, -4.50043, -2.75454, -1.68032, -2.62445, -4.76871, -6.64371, -7.82247, -8.3287, -8.30784, -7.95215, -7.43144, -6.78259, -5.88284, -4.62064, -3.29376, -2.98298,
-7.14442, -6.86524, -5.73187, -5.16201, -6.32156, -7.87889, -8.75571, -8.85402, -8.45321, -7.98419, -7.76358, -7.77637, -7.89692, -8.13461, -8.51289, -8.88746, -9.02388, -8.76429, -8.0899, -7.12051, -6.09006, -5.27478, -4.91058, -5.14375, -5.91165, -6.90302, -7.77931, -8.34862, -8.55971, -8.43991, -8.04379, -7.42813, -6.67401, -5.96159, -5.59481, -5.77267,
-7.17122, -7.22969, -6.03423, -4.54559, -5.05326, -7.01678, -8.4358, -8.89022, -8.59881, -8.04032, -7.76346, -7.90607, -8.17221, -8.36039, -8.51773, -8.72075, -8.8899, -8.85578, -8.52594, -7.96911, -7.39853, -7.03273, -6.91912, -6.97184, -7.15364, -7.50081, -7.99042, -8.47885, -8.78877, -8.80378, -8.50246, -7.97508, -7.43892, -7.16733, -7.26805, -7.57637,
-7.30363, -7.78222, -6.87786, -4.97067, -4.16545, -5.97766, -7.88404, -8.74241, -8.62489, -7.97163, -7.51143, -7.701, -8.17158, -8.42999, -8.39504, -8.28788, -8.33239, -8.50142, -8.60235, -8.52498, -8.3256, -8.14556, -8.06857, -8.06694, -8.09543, -8.17904, -8.36974, -8.63659, -8.84869, -8.87236, -8.66743, -8.33173, -8.07726, -8.08161, -8.31125, -8.575,
-7.42897, -8.28574, -7.80099, -6.06505, -4.25006, -5.09458, -7.23595, -8.50463, -8.63563, -7.9355, -7.14908, -7.1666, -7.81034, -8.25319, -8.14791, -7.6842, -7.40432, -7.69166, -8.2841, -8.73006, -8.85439, -8.73834, -8.57672, -8.5216, -8.58252, -8.67553, -8.72926, -8.72076, -8.655, -8.55047, -8.44851, -8.41253, -8.4854, -8.64064, -8.79965, -8.90367,
-7.41406, -8.55545, -8.47336, -7.16084, -5.17243, -4.84962, -6.73338, -8.2959, -8.70425, -8.03957, -6.85149, -6.35167, -7.02903, -7.78172, -7.82855, -7.14614, -6.36658, -6.52445, -7.57559, -8.5624, -9.00636, -8.92678, -8.60662, -8.42815, -8.56186, -8.8114, -8.88667, -8.65834, -8.21297, -7.82979, -7.80836, -8.156, -8.58662, -8.83373, -8.82035, -8.66202,
-7.13545, -8.4695, -8.73467, -7.89564, -6.26225, -5.38304, -6.62964, -8.21606, -8.83265, -8.26342, -6.7302, -5.36063, -5.78416, -7.01104, -7.52413, -6.98604, -5.80589, -5.38521, -6.57768, -8.04833, -8.83944, -8.84503, -8.34312, -7.90127, -8.00905, -8.46539, -8.71077, -8.42735, -7.65391, -6.86185, -6.80568, -7.54337, -8.34467, -8.69402, -8.49894, -7.98421,
-6.48605, -7.94109, -8.50617, -8.14187, -7.07226, -6.28027, -6.96093, -8.28459, -8.95049, -8.46964, -6.73048, -4.34304, -4.05944, -5.99159, -7.30519, -7.30714, -6.18908, -5.0069, -5.60752, -7.30971, -8.47033, -8.66512, -8.03511, -7.14062, -6.91277, -7.52319, -8.11513, -8.06182, -7.24808, -6.09219, -5.72373, -6.64507, -7.78577, -8.31734, -8.05069, -7.15256,
-5.37825, -6.90028, -7.73856, -7.86197, -7.44244, -7.07756, -7.49535, -8.42508, -8.95834, -8.49247, -6.66014, -3.41168, -1.91853, -4.84006, -7.15373, -7.84673, -7.14728, -5.66714, -5.20463, -6.63297, -8.09384, -8.56833, -7.93412, -6.47033, -5.30714, -5.82157, -7.04589, -7.63748, -7.24824, -6.08992, -5.15505, -5.71335, -7.05138, -7.89145, -7.7815, -6.65939,
-3.7961, -5.32405, -6.42305, -7.06869, -7.34942, -7.53927, -7.94952, -8.51783, -8.77829, -8.21136, -6.31354, -2.52851, 0.379134, -3.70264, -6.93578, -8.22126, -7.99159, -6.69404, -5.6102, -6.40585, -7.93139, -8.65011, -8.11203, -6.19007, -3.39177, -3.04665, -5.49393, -7.22316, -7.59761, -6.80246, -5.47968, -5.1998, -6.45214, -7.66742, -7.91115, -6.8658,
-2.06184, -3.44202, -4.7402, -5.89445, -6.85573, -7.59803, -8.14329, -8.46559, -8.39221, -7.59514, -5.57405, -1.53332, 2.32736, -2.6207, -6.43788, -8.13455, -8.31261, -7.41195, -6.38958, -6.75193, -8.07234, -8.84955, -8.39446, -6.2692, -1.74173, 1.6093, -3.56536, -6.80576, -7.94305, -7.57625, -6.24919, -5.37257, -6.3386, -7.7923, -8.35047, -7.5298,
-1.37945, -2.29119, -3.48263, -4.80539, -6.15884, -7.29164, -8.01208, -8.23218, -7.87685, -6.77564, -4.54275, -0.431438, 3.52332, -1.39569, -5.39717, -7.35541, -7.90159, -7.51484, -6.9945, -7.35338, -8.38196, -9.00779, -8.53373, -6.38474, -1.08497, 12.0261, -1.63098, -6.24873, -7.90891, -7.87653, -6.78797, -5.92277, -6.72376, -8.1543, -8.80177, -8.14136,
-2.66767, -3.09054, -3.82731, -4.63438, -5.66715, -6.77681, -7.5976, -7.86258, -7.42731, -6.15908, -3.80888, 0.0594278, 3.77879, 0.366606, -3.45168, -5.59964, -6.57028, -6.8769, -7.1416, -7.80742, -8.62497, -8.98485, -8.37942, -6.26887, -1.35426, 11.5355, -0.301923, -5.31731, -7.19268, -7.39836, -6.70544, -6.34006, -7.24079, -8.48838, -9.01509, -8.39523,
-4.73108, -4.94118, -5.36359, -5.58612, -5.82102, -6.36887, -7.07331, -7.49136, -7.28693, -6.26657, -4.27347, -1.15693, 2.52817, 2.88155, 0.062973, -2.33925, -4.06706, -5.47351, -6.76416, -7.8868, -8.62509, -8.7308, -7.94663, -5.91647, -1.99816, 3.31946, 0.21137, -3.7222, -5.47034, -5.86937, -5.81015, -6.32169, -7.52271, -8.5753, -8.88339, -8.23231,
-6.51477, -6.6139, -6.8921, -6.88646, -6.59097, -6.42524, -6.75021, -7.30272, -7.53412, -7.08426, -5.77146, -3.47286, -0.0948304, 4.04613, 5.93775, 3.09728, -0.583044, -3.67409, -6.001, -7.5495, -8.32644, -8.31691, -7.46319, -5.66446, -2.89732, -0.0486692, 0.236216, -1.21614, -2.23335, -2.91124, -4.0821, -5.81696, -7.39539, -8.32074, -8.44425, -7.79917,
-7.78037, -7.77595, -7.94071, -7.91394, -7.51997, -6.9953, -6.89801, -7.40556, -7.97902, -8.05017, -7.3249, -5.64959, -2.91239, 0.789551, 3.76667, 2.71029, -0.242335, -3.06178, -5.34712, -6.95254, -7.82033, -7.93987, -7.32263, -6.0154, -4.16877, -2.12784, -0.276942, 1.38262, 2.46655, 0.958706, -2.31624, -5.09652, -6.8938, -7.77787, -7.8953, -7.44494,
-8.55618, -8.45131, -8.46917, -8.46939, -8.22485, -7.75568, -7.45614, -7.73025, -8.34464, -8.69961, -8.38724, -7.22702, -5.23249, -2.96018, -1.99611, -2.75933, -3.81953, -4.67689, -5.54466, -6.51811, -7.37271, -7.82823, -7.7216, -6.99725, -5.67259, -3.83949, -1.71591, 0.175167, 0.733619, -0.664263, -2.89185, -4.88769, -6.32712, -7.19437, -7.56372, -7.5319,
-8.92866, -8.75313, -8.57335, -8.55162, -8.53566, -8.35365, -8.10027, -8.09515, -8.45174, -8.83086, -8.80091, -8.13358, -6.89375, -5.65654, -5.38408, -6.02259, -6.62876, -6.76983, -6.63266, -6.73114, -7.32041, -8.03485, -8.37944, -8.08113, -7.05587, -5.42264, -3.78662, -3.27412, -3.95981, -4.81446, -5.3681, -5.7511, -6.26104, -6.97783, -7.66725, -8.03014,
-9.0086, -8.82934, -8.42072, -8.25187, -8.41243, -8.58828, -8.54174, -8.34693, -8.26758, -8.40756, -8.54074, -8.3861, -7.90282, -7.40526, -7.36855, -7.80338, -8.21531, -8.23242, -7.87134, -7.54228, -7.74191, -8.3742, -8.86676, -8.79868, -8.03872, -6.77794, -5.77203, -5.91623, -6.78802, -7.42955, -7.49484, -7.15773, -6.9563, -7.34408, -8.068, -8.55065,
-8.93032, -8.83652, -8.22768, -7.741, -7.88574, -8.37757, -8.63504, -8.42551, -7.91711, -7.55805, -7.66341, -8.03175, -8.30564, -8.39202, -8.44542, -8.61678, -8.83507, -8.89621, -8.70787, -8.42132, -8.3508, -8.61365, -8.9311, -8.93919, -8.48448, -7.74255, -7.2708, -7.54059, -8.22531, -8.70459, -8.70396, -8.32352, -7.96312, -8.03357, -8.44921, -8.75854,
-8.83282, -8.88246, -8.16717, -7.24242, -7.04332, -7.70534, -8.34511, -8.35796, -7.67321, -6.72469, -6.45237, -7.20343, -8.17933, -8.76384, -8.88679, -8.76949, -8.70194, -8.79734, -8.92845, -8.93773, -8.80735, -8.64227, -8.53644, -8.46834, -8.3603, -8.21951, -8.17649, -8.34548, -8.657, -8.91495, -8.98344, -8.87548, -8.71922, -8.63495, -8.61342, -8.54569,
-8.80512, -8.96525, -8.23378, -6.89935, -6.02083, -6.60497, -7.71479, -8.21819, -7.78905, -6.61902, -5.68974, -6.27735, -7.685, -8.67878, -8.91638, -8.55041, -8.0536, -8.00556, -8.45165, -8.88845, -8.92496, -8.50626, -7.88878, -7.54715, -7.7428, -8.20002, -8.51545, -8.53024, -8.34361, -8.21357, -8.34502, -8.67055, -8.92986, -8.90956, -8.5631, -8.04933,
-8.83423, -8.98152, -8.24224, -6.62086, -4.93371, -5.16732, -6.85175, -8.05817, -8.21199, -7.36857, -6.11974, -5.92066, -7.14886, -8.36957, -8.78096, -8.29838, -7.27225, -6.66156, -7.21616, -8.1873, -8.66223, -8.36382, -7.47332, -6.70535, -6.91627, -7.78842, -8.40479, -8.33994, -7.63552, -6.80949, -6.76163, -7.60522, -8.48289, -8.80441, -8.45349, -7.66015,
-8.81927, -8.80193, -7.96794, -6.12564, -3.73319, -3.52344, -5.88922, -7.83628, -8.60486, -8.27308, -7.20468, -6.42287, -6.99565, -8.1488, -8.71958, -8.28002, -6.82606, -5.1072, -5.15196, -6.80375, -8.07879, -8.34741, -7.69232, -6.67521, -6.42966, -7.26018, -8.08387, -8.118, -7.1308, -5.35767, -4.30472, -5.54919, -7.36753, -8.3944, -8.45636, -7.75998,
-8.64118, -8.34735, -7.26719, -5.1172, -2.10194, -1.70841, -4.86901, -7.39771, -8.61612, -8.71483, -8.01156, -7.22158, -7.34527, -8.23363, -8.82834, -8.46993, -6.83131, -3.90132, -2.24357, -4.80379, -7.29751, -8.39503, -8.27726, -7.37416, -6.63531, -7.014, -7.89637, -8.18556, -7.33238, -5.04584, -1.90168, -2.48962, -5.75117, -7.83946, -8.56432, -8.21072,
-8.22703, -7.65088, -6.1825, -3.45974, 0.545792, 0.618768, -3.59877, -6.50406, -7.98077, -8.39094, -8.0941, -7.67868, -7.83929, -8.52611, -8.99075, -8.60603, -6.90492, -3.28286, 1.07784, -2.54266, -6.42509, -8.24825, -8.60328, -7.97165, -7.1433, -7.20911, -8.05211, -8.55403, -7.99256, -5.8944, -1.80142, 0.19241, -4.25389, -7.29951, -8.54928, -8.47565,
-7.59457, -6.92793, -5.17274, -1.74265, 4.65954, 4.64549, -1.57636, -4.83815, -6.4617, -7.114, -7.28172, -7.48767, -8.04309, -8.71499, -8.99938, -8.45896, -6.65764, -2.84188, 3.11253, -0.800366, -5.42478, -7.58606, -8.20188, -7.85195, -7.31633, -7.53063, -8.38282, -8.92609, -8.51252, -6.74245, -3.30195, -0.6185, -3.79288, -6.7992, -8.11533, -8.08769,
-6.8955, -6.56138, -5.13269, -2.04378, 4.63907, 16.8254, 2.28235, -1.9343, -3.82613, -4.76874, -5.5463, -6.57573, -7.70874, -8.53165, -8.71115, -7.99381, -6.05947, -2.32751, 2.82191, 0.0732114, -4.05925, -6.08712, -6.73175, -6.67112, -6.75897, -7.53287, -8.5209, -9.00181, -8.5727, -7.02469, -4.44729, -2.69621, -4.21365, -6.19413, -7.02894, -6.72419,
-6.41529, -6.77504, -6.20291, -4.35498, -0.535012, 8.2096, 11.9925, 2.48156, -0.640284, -2.15332, -3.50874, -5.18691, -6.79763, -7.86194, -8.1279, -7.44118, -5.61048, -2.39044, 1.38348, 0.712983, -2.00893, -3.45058, -3.86329, -4.19761, -5.337, -6.94822, -8.19175, -8.6484, -8.18947, -6.83424, -4.98568, -3.97176, -4.5556, -5.32792, -5.25012, -4.22682,
-6.39533, -7.32659, -7.47334, -6.53, -4.17019, 0.287816, 6.26553, 2.65923, -1.07167, -2.72444, -3.49085, -4.35315, -5.62485, -6.82724, -7.45287, -7.24288, -6.05487, -3.79969, -0.768966, 1.11237, 0.499396, -0.272815, -0.493014, -1.36802, -3.53595, -5.79973, -7.32624, -7.94327, -7.68355, -6.69196, -5.37836, -4.50366, -4.38031, -4.29561, -3.50531, -1.85475,
-6.77762, -7.7972, -8.28639, -7.86572, -6.33746, -3.64978, -1.111, -2.08868, -4.33817, -5.55247, -5.6751, -5.21617, -5.13005, -5.97956, -7.07288, -7.61311, -7.24743, -5.80832, -3.2113, -0.0866815, 0.639461, -0.974364, -2.15623, -2.69457, -3.3953, -4.73322, -6.21602, -7.24096, -7.55966, -7.14219, -6.10676, -4.81754, -3.91563, -3.70615, -3.6941, -3.33614,
-7.285, -7.93874, -8.43361, -8.32357, -7.43449, -5.92686, -4.79457, -5.36165, -6.77087, -7.67461, -7.68069, -6.90003, -5.98902, -6.11087, -7.24679, -8.22269, -8.35935, -7.41541, -5.31302, -2.6836, -2.3541, -4.30787, -5.71095, -5.97858, -5.43443, -5.0159, -5.73334, -7.06954, -7.98288, -8.0297, -7.11236, -5.40662, -3.91762, -4.21537, -5.48202, -6.1876,
-7.70004, -7.72804, -7.91501, -7.96489, -7.67958, -7.15406, -6.86114, -7.26491, -8.10256, -8.73351, -8.7829, -8.21452, -7.39024, -7.1249, -7.78471, -8.62492, -8.89208, -8.26925, -6.75842, -5.08698, -5.10096, -6.62665, -7.82724, -8.07077, -7.4301, -6.50934, -6.49062, -7.55678, -8.55695, -8.75748, -7.95191, -6.28083, -4.8333, -5.39688, -6.96819, -7.90583,
-7.96619, -7.36309, -6.94017, -6.94254, -7.25529, -7.6168, -7.92404, -8.2334, -8.58598, -8.8899, -8.98663, -8.79812, -8.43393, -8.19442, -8.31282, -8.62388, -8.72477, -8.33872, -7.49393, -6.71198, -6.82249, -7.74136, -8.58662, -8.84833, -8.49877, -7.90709, -7.74779, -8.26162, -8.86551, -8.95858, -8.30754, -7.06981, -6.08492, -6.42384, -7.54148, -8.32087,
-8.14225, -7.22981, -6.15581, -5.78294, -6.49724, -7.55767, -8.2975, -8.56187, -8.48933, -8.35808, -8.40333, -8.6198, -8.81421, -8.82488, -8.62739, -8.31133, -7.99879, -7.7601, -7.60674, -7.55821, -7.66176, -7.91537, -8.21804, -8.44398, -8.54723, -8.58851, -8.66168, -8.77196, -8.80036, -8.60104, -8.12428, -7.49889, -7.02804, -6.95888, -7.20111, -7.48408,
-8.31161, -7.60102, -6.40938, -5.57577, -6.06672, -7.3145, -8.26436, -8.52766, -8.14609, -7.48732, -7.23342, -7.73632, -8.49505, -8.90527, -8.72734, -8.03676, -7.24127, -6.96566, -7.33759, -7.79861, -7.87134, -7.48007, -6.9563, -6.91769, -7.57826, -8.42807, -8.95204, -8.96885, -8.55389, -7.98525, -7.62067, -7.55375, -7.48668, -7.07413, -6.24745, -5.46876,
-8.48649, -8.28453, -7.49995, -6.62082, -6.50963, -7.30698, -8.16383, -8.43799, -7.93715, -6.828, -5.91367, -6.30106, -7.55012, -8.50837, -8.71212, -8.16705, -7.24054, -6.73635, -7.1222, -7.73788, -7.80116, -6.98966, -5.47326, -4.52809, -5.63941, -7.46659, -8.64672, -8.93411, -8.47924, -7.70808, -7.28582, -7.44707, -7.60893, -7.10616, -5.57377, -3.24657,
-8.56899, -8.84286, -8.5114, -7.86085, -7.46042, -7.71903, -8.28683, -8.52548, -8.04602, -6.74276, -5.06689, -4.68267, -6.19587, -7.82095, -8.65159, -8.62414, -7.99514, -7.35665, -7.34574, -7.77246, -7.8706, -7.08415, -5.16708, -2.80591, -3.26098, -5.9686, -7.96111, -8.80972, -8.71486, -8.05769, -7.47764, -7.47276, -7.70315, -7.44394, -6.18763, -3.76676,
-8.39375, -8.94712, -8.91484, -8.53042, -8.20449, -8.28406, -8.63444, -8.77554, -8.29209, -6.93877, -4.80879, -3.43021, -4.86862, -7.08343, -8.48563, -8.94153, -8.67097, -8.11732, -7.87725, -8.10793, -8.27494, -7.77044, -6.20525, -3.61079, -2.32359, -4.73104, -7.27819, -8.65002, -8.96071, -8.52749, -7.8892, -7.695, -7.98119, -8.1128, -7.54141, -6.07928,
-7.78926, -8.41865, -8.52412, -8.38172, -8.34289, -8.58952, -8.92544, -8.96447, -8.37312, -6.9122, -4.57028, -2.70397, -3.98541, -6.41474, -8.03413, -8.69471, -8.64203, -8.30744, -8.22093, -8.52572, -8.78193, -8.46585, -7.24732, -5.11469, -3.41563, -4.64325, -6.91447, -8.34931, -8.77721, -8.45227, -7.90413, -7.82568, -8.31297, -8.74136, -8.58256, -7.68932,
-6.61626, -7.18461, -7.29064, -7.35323, -7.7229, -8.3491, -8.85197, -8.86561, -8.13903, -6.49088, -3.96678, -2.08227, -3.38882, -5.65589, -7.08949, -7.62578, -7.60703, -7.57704, -7.9725, -8.62669, -9.01555, -8.75012, -7.65755, -5.88778, -4.55833, -5.20919, -6.74437, -7.72195, -7.85918, -7.41539, -7.06748, -7.47369, -8.34896, -8.95808, -8.92025, -8.23362,
-4.8549, -5.40951, -5.43937, -5.59524, -6.34436, -7.41429, -8.21747, -8.37353, -7.67911, -5.99364, -3.39843, -1.43009, -2.52826, -4.47875, -5.53777, -5.68462, -5.47206, -5.79659, -6.92406, -8.11814, -8.74018, -8.54786, -7.5244, -5.98197, -4.97627, -5.41406, -6.3317, -6.65985, -6.15402, -5.23624, -5.11933, -6.34874, -7.78047, -8.5763, -8.57344, -7.94385,
-3.01687, -4.06811, -4.21451, -4.12596, -4.62463, -5.80888, -6.97406, -7.5588, -7.31321, -6.10951, -3.93706, -1.52512, -1.19879, -2.68414, -3.69198, -3.69496, -3.19807, -3.52149, -5.15657, -6.89783, -7.93012, -8.06408, -7.33716, -6.02076, -4.90545, -4.8499, -5.3423, -5.3453, -4.40837, -2.84186, -2.50801, -4.41521, -6.46103, -7.61729, -7.83925, -7.34959,
-2.70292, -4.62442, -5.17514, -4.74286, -4.00083, -4.13691, -5.41822, -6.74531, -7.36527, -7.01505, -5.55265, -2.93971, -0.30392, -0.886454, -2.94482, -4.01694, -3.95424, -3.40624, -3.72527, -5.29099, -6.88196, -7.72385, -7.6279, -6.61128, -4.95769, -3.66523, -3.79313, -4.48653, -4.54747, -3.64842, -2.39344, -2.69259, -4.686, -6.47251, -7.33546, -7.24425,
-4.28637, -6.30944, -7.04577, -6.61914, -5.27001, -3.99367, -4.60897, -6.44229, -7.7749, -8.04936, -7.09751, -4.74146, -1.37379, -1.16735, -4.14009, -6.05699, -6.48958, -5.69901, -4.45528, -4.60702, -6.34777, -7.85317, -8.32241, -7.56774, -5.51276, -2.74328, -2.4686, -4.70747, -6.18177, -6.24223, -5.0198, -3.44191, -3.93095, -6.04887, -7.56514, -7.87651,
-6.09176, -7.70904, -8.40098, -8.10833, -6.94685, -5.53644, -5.41778, -6.82701, -8.17486, -8.62738, -7.94927, -6.04543, -3.45746, -3.27713, -5.73782, -7.5994, -8.18748, -7.61234, -6.33107, -5.73353, -6.85138, -8.29598, -8.89084, -8.27059, -6.25445, -3.18529, -2.66793, -5.42558, -7.36658, -7.83567, -7.01838, -5.54083, -5.23897, -6.77778, -8.23884, -8.62657,
-7.31524, -8.41755, -8.9443, -8.78548, -8.045, -7.15111, -6.88756, -7.51022, -8.29097, -8.54428, -7.98221, -6.61458, -5.10695, -5.13559, -6.69513, -8.09634, -8.6651, -8.40582, -7.68632, -7.31258, -7.83934, -8.6692, -8.98391, -8.37578, -6.71046, -4.45537, -3.92336, -5.77007, -7.42283, -8.02649, -7.69859, -7.01006, -6.97576, -7.87217, -8.77815, -8.95824,
-7.88754, -8.45596, -8.72306, -8.67013, -8.40246, -8.12219, -8.01473, -8.0757, -8.10365, -7.87826, -7.31127, -6.54664, -6.02444, -6.18029, -6.85798, -7.54515, -7.94801, -8.07599, -8.1272, -8.30475, -8.59939, -8.78276, -8.60126, -7.91111, -6.75562, -5.52944, -4.9993, -5.42577, -6.16505, -6.71459, -7.07043, -7.46927, -8.04184, -8.62953, -8.94684, -8.78408,
-7.94112, -7.99068, -7.90422, -7.9023, -8.10071, -8.39192, -8.54572, -8.38024, -7.84672, -7.08012, -6.42576, -6.225, -6.39881, -6.54799, -6.41627, -6.10705, -6.07755, -6.6982, -7.69568, -8.52886, -8.88896, -8.71062, -8.09931, -7.31495, -6.66222, -6.19157, -5.61305, -4.65574, -3.58822, -3.6099, -5.19119, -7.04101, -8.32325, -8.89401, -8.84616, -8.3812,
-7.7151, -7.34565, -6.86283, -6.79375, -7.33874, -8.08737, -8.5481, -8.48024, -7.87232, -6.96378, -6.29867, -6.3006, -6.62845, -6.62161, -5.89872, -4.52991, -3.59436, -4.64129, -6.63401, -8.12589, -8.78057, -8.6692, -8.03529, -7.31254, -6.90875, -6.69625, -6.08105, -4.46395, -1.52113, 0.347503, -2.8758, -6.16546, -8.05427, -8.81029, -8.7449, -8.22389,
-7.54051, -6.9781, -6.22428, -5.91791, -6.47157, -7.44844, -8.22034, -8.5014, -8.27945, -7.74083, -7.24264, -7.07757, -7.11158, -6.89977, -6.0593, -4.48063, -2.91183, -3.41403, -5.5891, -7.46494, -8.50755, -8.7814, -8.50455, -8.00525, -7.60557, -7.3216, -6.80091, -5.61807, -3.60065, -1.86228, -3.13324, -5.79122, -7.70847, -8.65525, -8.81503, -8.47653,
-7.68049, -7.13229, -6.32167, -5.72171, -5.91313, -6.82131, -7.8284, -8.51256, -8.76179, -8.64665, -8.34797, -8.06829, -7.86999, -7.59539, -6.99591, -5.93787, -4.69629, -4.31375, -5.45267, -7.08826, -8.31308, -8.9119, -8.96132, -8.6679, -8.30016, -8.02662, -7.75993, -7.26371, -6.42919, -5.57174, -5.50886, -6.51276, -7.77705, -8.64001, -8.9286, -8.73746,
-8.09746, -7.56649, -6.73394, -5.92156, -5.7506, -6.47477, -7.56403, -8.45517, -8.93419, -9.02203, -8.86924, -8.67503, -8.54924, -8.40621, -8.04177, -7.3157, -6.3479, -5.72684, -6.12278, -7.22341, -8.23937, -8.79417, -8.87787, -8.6839, -8.50051, -8.50106, -8.57561, -8.47682, -8.0792, -7.53055, -7.25797, -7.57345, -8.21836, -8.71169, -8.80137, -8.51415,
-8.52092, -7.89841, -6.93129, -5.94998, -5.64929, -6.32753, -7.37734, -8.18834, -8.56828, -8.60173, -8.52772, -8.58495, -8.78876, -8.91032, -8.69366, -8.03249, -7.09912, -6.46962, -6.69859, -7.46862, -8.08997, -8.24763, -8.01852, -7.77409, -7.92562, -8.44245, -8.9061, -8.99177, -8.65342, -8.1367, -7.89086, -8.12655, -8.51711, -8.62185, -8.25405, -7.56079,
-8.70732, -7.94819, -6.76143, -5.58004, -5.27394, -6.04165, -7.02694, -7.59543, -7.62886, -7.35231, -7.2468, -7.66693, -8.37501, -8.86461, -8.81978, -8.17766, -7.17473, -6.47301, -6.65427, -7.29441, -7.62683, -7.31731, -6.51008, -5.9495, -6.48111, -7.67321, -8.59398, -8.85729, -8.49531, -7.85728, -7.54518, -7.82274, -8.21548, -8.14852, -7.36909, -6.05226,
-8.55114, -7.77087, -6.45629, -5.05762, -4.5872, -5.3333, -6.28151, -6.69027, -6.40077, -5.66684, -5.27053, -5.95559, -7.22831, -8.21139, -8.5184, -8.0912, -7.10027, -6.10034, -5.87988, -6.37739, -6.74286, -6.41385, -5.32323, -4.17048, -4.52311, -6.20866, -7.67402, -8.31217, -8.10177, -7.2972, -6.53194, -6.51538, -7.01758, -7.21366, -6.59503, -5.08117,
-8.08448, -7.58939, -6.48945, -5.01734, -3.94919, -4.13767, -5.07028, -5.74132, -5.71403, -4.98216, -4.04805, -4.11641, -5.53622, -7.11892, -8.06681, -8.1614, -7.38277, -5.91003, -4.54327, -4.56376, -5.55488, -6.16332, -5.83169, -4.64247, -3.67656, -4.62736, -6.52904, -7.80986, -8.04003, -7.18984, -5.49886, -4.12961, -4.65083, -5.93472, -6.45765, -5.79781,
-7.47793, -7.63496, -7.07922, -5.76295, -3.91985, -2.77537, -3.66586, -5.27138, -6.22188, -6.17289, -5.18362, -3.9601, -4.28717, -6.17905, -7.83433, -8.49895, -7.98598, -6.15893, -3.19839, -1.98318, -4.44941, -6.55095, -7.20244, -6.49646, -4.93048, -4.38136, -6.0431, -7.79855, -8.43924, -7.67552, -5.22741, -1.12816, -0.877817, -4.65797, -6.77157, -7.09847,
-7.01411, -7.91689, -7.87239, -6.76109, -4.51421, -2.07765, -2.8655, -5.52118, -7.25848, -7.72282, -7.0128, -5.52688, -4.81267, -6.20171, -7.988, -8.85266, -8.44527, -6.49423, -2.61116, 0.13195, -3.80423, -6.84279, -8.00152, -7.70178, -6.44339, -5.62428, -6.67236, -8.22853, -8.88983, -8.18054, -5.63348, -0.123304, 2.53276, -3.75447, -6.81391, -7.68215,
-6.91553, -8.21103, -8.39392, -7.3947, -5.13998, -2.48878, -3.20449, -6.0458, -7.93489, -8.56415, -8.11226, -6.99347, -6.31469, -7.07233, -8.32837, -8.93011, -8.41146, -6.46872, -2.80417, -0.107519, -3.44643, -6.40126, -7.67783, -7.71051, -7.10135, -6.87788, -7.66061, -8.67005, -9.01603, -8.25728, -6.03368, -1.95817, 0.601736, -3.19139, -6.01065, -7.05313,
-7.13269, -8.2779, -8.38221, -7.3792, -5.32732, -3.29644, -4.01006, -6.28142, -7.86872, -8.44787, -8.22422, -7.6642, -7.48158, -7.96657, -8.56277, -8.63496, -7.83563, -5.98148, -3.21924, -1.46151, -2.87069, -4.79693, -5.88727, -6.35075, -6.74016, -7.44078, -8.28315, -8.82766, -8.75511, -7.89491, -6.18075, -3.8527, -2.22026, -2.71874, -3.99306, -4.83491,
-7.4265, -8.01181, -7.7786, -6.67091, -4.96564, -3.83438, -4.51705, -5.9424, -6.93157, -7.31133, -7.36268, -7.5107, -7.946, -8.42223, -8.56343, -8.13244, -7.05768, -5.45839, -3.76434, -2.58618, -1.99167, -1.64574, -1.91826, -3.43938, -5.54893, -7.30369, -8.35899, -8.68274, -8.34702, -7.4955, -6.35758, -5.1757, -3.98889, -2.58194, -0.993082, -0.590894,
-7.613, -7.49269, -6.76071, -5.5247, -4.34869, -4.05238, -4.54442, -5.02052, -5.14154, -5.18651, -5.69599, -6.73121, -7.77599, -8.38734, -8.39755, -7.82393, -6.83438, -5.73235, -4.74063, -3.64014, -1.78579, 1.54041, 3.97836, -0.371874, -4.41312, -6.82252, -8.05461, -8.42733, -8.19137, -7.61133, -6.93319, -6.21108, -5.19889, -3.48091, -0.824827, 0.954167,
-7.66142, -7.02203, -5.95066, -4.83319, -4.27745, -4.34025, -4.38823, -3.94358, -3.12197, -2.87711, -4.0611, -5.84343, -7.26101, -8.04835, -8.25075, -8.01571, -7.52325, -6.90073, -6.12148, -5.00134, -3.34371, -1.36073, -0.681119, -2.5072, -4.88416, -6.67131, -7.77766, -8.32137, -8.43489, -8.23347, -7.79807, -7.15869, -6.30352, -5.25257, -4.23261, -3.82758,
-7.66318, -6.99993, -6.17913, -5.56422, -5.31006, -5.1389, -4.66939, -3.78704, -2.90043, -2.94677, -4.15439, -5.66709, -6.90223, -7.75201, -8.27065, -8.51121, -8.47553, -8.129, -7.45445, -6.53109, -5.62303, -5.14106, -5.29102, -5.8625, -6.56454, -7.26547, -7.91843, -8.45448, -8.77294, -8.79031, -8.48821, -7.94927, -7.37235, -6.99843, -6.92542, -7.04077,
-7.743, -7.50547, -7.27437, -7.08969, -6.83741, -6.37622, -5.69723, -5.02566, -4.75042, -5.04445, -5.68131, -6.39423, -7.09931, -7.7937, -8.42103, -8.8614, -9.00388, -8.80929, -8.34703, -7.81214, -7.46143, -7.42296, -7.5943, -7.80404, -7.98412, -8.17184, -8.40918, -8.66023, -8.82637, -8.82383, -8.64597, -8.38536, -8.20145, -8.21146, -8.38245, -8.56753,
-7.94629, -8.18289, -8.35778, -8.35274, -8.08494, -7.58506, -7.02988, -6.67272, -6.63521, -6.8093, -7.04419, -7.31454, -7.67499, -8.1175, -8.528, -8.77919, -8.82637, -8.73126, -8.61652, -8.56893, -8.5736, -8.56441, -8.52605, -8.52233, -8.61429, -8.75873, -8.82505, -8.71157, -8.44102, -8.17793, -8.12124, -8.30788, -8.58182, -8.77874, -8.85841, -8.88744,
-8.19337, -8.6469, -8.92769, -8.94821, -8.73189, -8.40444, -8.12187, -7.95291, -7.84725, -7.75145, -7.71746, -7.85068, -8.13804, -8.40001, -8.44436, -8.22596, -7.92303, -7.86841, -8.21252, -8.70578, -8.99518, -8.92251, -8.58955, -8.31787, -8.38858, -8.68287, -8.8122, -8.5001, -7.75938, -7.01667, -6.96738, -7.66225, -8.41783, -8.75639, -8.63269, -8.32118,
-8.34669, -8.70211, -8.84047, -8.79155, -8.69297, -8.6742, -8.71934, -8.68025, -8.43636, -8.0391, -7.74687, -7.81565, -8.14766, -8.36123, -8.14635, -7.44459, -6.59957, -6.40912, -7.20328, -8.24951, -8.86114, -8.81985, -8.22662, -7.51461, -7.32988, -7.7654, -8.19246, -8.06845, -7.23917, -6.06042, -5.64463, -6.57164, -7.75771, -8.32448, -8.09117, -7.30928,
-8.30304, -8.32053, -8.10797, -7.88846, -7.95468, -8.34401, -8.76558, -8.90209, -8.61266, -7.9836, -7.36858, -7.2204, -7.54985, -7.87246, -7.7428, -6.98449, -5.80548, -5.14052, -5.93179, -7.3862, -8.40988, -8.61177, -7.94182, -6.61838, -5.51684, -5.80443, -6.89909, -7.55762, -7.31193, -6.24015, -5.16214, -5.50847, -6.87743, -7.82662, -7.77486, -6.65816,
-8.04231, -7.63372, -6.92026, -6.37537, -6.58041, -7.43837, -8.31156, -8.75848, -8.62666, -7.93979, -6.93391, -6.18942, -6.28195, -6.93442, -7.4043, -7.24404, -6.37396, -5.2628, -5.21322, -6.58513, -8.00554, -8.5922, -8.04784, -6.19629, -3.2691, -2.36074, -4.96973, -7.07607, -7.76641, -7.18415, -5.82705, -5.199, -6.33313, -7.67262, -8.01711, -6.97098,
-7.64531, -6.98754, -5.88437, -4.8773, -4.9353, -6.14317, -7.53557, -8.46004, -8.68406, -8.11247, -6.73477, -4.95677, -4.33849, -5.66907, -7.19998, -7.87611, -7.52881, -6.4118, -5.61314, -6.44916, -7.96845, -8.7902, -8.37118, -6.281, -1.49872, 4.0109, -2.68598, -6.55034, -7.99072, -7.83573, -6.63701, -5.69284, -6.51515, -7.9644, -8.56403, -7.76395,
-7.28437, -6.84506, -5.90095, -4.67926, -4.0687, -5.03596, -6.81811, -8.24373, -8.83415, -8.39408, -6.73037, -3.7907, -1.83813, -4.30914, -6.97969, -8.25002, -8.24995, -7.34724, -6.50148, -6.99265, -8.26709, -8.99342, -8.53369, -6.38457, -1.10459, 118.313, -0.777361, -5.71613, -7.50461, -7.62331, -6.80113, -6.25992, -7.09222, -8.38661, -8.96113, -8.31239,
-7.13716, -7.31801, -6.91287, -5.88313, -4.7514, -4.94654, -6.62758, -8.24334, -8.96372, -8.51194, -6.60391, -2.76326, 0.786302, -3.04935, -6.44371, -7.95167, -8.12119, -7.51745, -7.08524, -7.62932, -8.58323, -8.98974, -8.32998, -6.17633, -1.61666, 5.77714, 0.110092, -4.22427, -5.93809, -6.23581, -6.02254, -6.36256, -7.49454, -8.58407, -8.9672, -8.3495,
-7.23246, -8.01213, -8.01417, -7.21829, -6.06384, -5.82421, -7.04081, -8.39331, -8.91903, -8.25857, -6.06842, -1.67358, 2.78735, -1.77125, -5.24411, -6.69402, -6.94333, -6.78293, -7.06275, -7.90714, -8.64479, -8.71287, -7.82611, -5.77648, -2.43249, 0.919351, 0.266739, -1.75392, -2.78455, -3.29604, -4.27043, -5.88776, -7.43766, -8.39437, -8.58042, -7.96587,
-7.40522, -8.4923, -8.65137, -8.00263, -7.05669, -6.83766, -7.65351, -8.51436, -8.6173, -7.58741, -5.06449, -0.45744, 3.76423, -0.0190198, -2.92812, -4.07161, -4.48112, -5.18467, -6.46017, -7.69604, -8.36436, -8.26812, -7.36956, -5.72773, -3.59762, -1.56808, -0.103544, 1.15929, 2.14196, 0.819083, -2.35953, -5.12891, -6.94399, -7.86067, -8.00228, -7.51711,
-7.42109, -8.51728, -8.65222, -8.09517, -7.45472, -7.47465, -8.06942, -8.46285, -8.10011, -6.69349, -4.00713, 0.0422794, 3.39536, 2.57192, 1.35243, 0.712303, -0.842006, -3.36371, -5.62294, -7.12012, -7.8456, -7.90125, -7.39983, -6.44147, -5.09688, -3.39823, -1.40097, 0.493875, 1.00165, -0.573911, -2.8714, -4.8814, -6.34891, -7.24414, -7.59211, -7.45789,
-7.08735, -7.97345, -7.97369, -7.51472, -7.27018, -7.61118, -8.11652, -8.19954, -7.55992, -6.11632, -3.95364, -1.38254, 1.22799, 4.12404, 7.02165, 4.47811, -0.116862, -3.29346, -5.31056, -6.5792, -7.38056, -7.84385, -7.94461, -7.56438, -6.58585, -5.0368, -3.44108, -2.98063, -3.80813, -4.77996, -5.3681, -5.73812, -6.2481, -6.97319, -7.62264, -7.88471,
-6.2711, -6.80154, -6.63161, -6.38318, -6.6507, -7.30912, -7.79955, -7.79964, -7.28621, -6.39666, -5.26221, -3.80491, -1.70926, 0.99347, 1.64926, -1.11362, -3.69429, -5.22968, -6.03665, -6.60955, -7.31522, -8.09033, -8.58391, -8.50164, -7.73166, -6.45662, -5.46254, -5.70091, -6.68408, -7.39168, -7.478, -7.13009, -6.90872, -7.28577, -7.99291, -8.43534,
-4.89851, -5.02652, -4.84148, -5.10367, -5.93081, -6.77247, -7.26932, -7.43616, -7.43557, -7.31782, -6.90587, -5.92773, -4.29951, -2.79983, -3.2483, -5.0726, -6.52838, -7.19022, -7.27824, -7.30027, -7.71563, -8.42044, -8.93939, -8.94244, -8.37561, -7.51227, -7.02009, -7.38177, -8.15195, -8.66816, -8.67401, -8.27862, -7.88687, -7.94228, -8.38755, -8.74151,
-3.06662, -3.06511, -3.48874, -4.55173, -5.63745, -6.36214, -6.82355, -7.29947, -7.85645, -8.23865, -8.13219, -7.39127, -6.22481, -5.50181, -6.06773, -7.2572, -8.13129, -8.43398, -8.32826, -8.18186, -8.3008, -8.62721, -8.86389, -8.80923, -8.48398, -8.11679, -8.00918, -8.25429, -8.64881, -8.93674, -8.99554, -8.85322, -8.64943, -8.54853, -8.59625, -8.66059,
-1.52259, -2.30573, -3.84375, -5.25389, -6.07627, -6.4362, -6.78266, -7.45391, -8.26061, -8.77219, -8.73893, -8.18976, -7.48762, -7.2521, -7.70052, -8.36401, -8.8024, -8.92907, -8.87857, -8.81164, -8.75982, -8.63869, -8.4055, -8.16704, -8.10676, -8.26382, -8.4656, -8.5307, -8.44937, -8.38609, -8.50535, -8.76069, -8.93848, -8.87822, -8.59444, -8.26156,
-1.7813, -3.54812, -5.38664, -6.53116, -6.95368, -7.00115, -7.20041, -7.78725, -8.45014, -8.79931, -8.71789, -8.3822, -8.15667, -8.27019, -8.56417, -8.75916, -8.7775, -8.75773, -8.84911, -8.98623, -8.93206, -8.51186, -7.80614, -7.26698, -7.40283, -8.02344, -8.49022, -8.4244, -7.84298, -7.20405, -7.23036, -7.95947, -8.67649, -8.87827, -8.49094, -7.80375,
-3.62041, -5.4004, -6.87897, -7.63963, -7.80019, -7.72865, -7.81869, -8.12538, -8.36974, -8.34127, -8.12508, -8.04642, -8.31429, -8.72021, -8.90368, -8.70474, -8.2718, -8.01592, -8.22377, -8.64091, -8.78506, -8.37668, -7.46946, -6.62452, -6.70134, -7.56065, -8.24933, -8.19289, -7.25578, -5.80229, -5.22522, -6.39782, -7.86857, -8.5993, -8.4353, -7.63504,
-5.56609, -6.90392, -7.89583, -8.3231, -8.3565, -8.30641, -8.34678, -8.34979, -8.08839, -7.54931, -7.11371, -7.31568, -8.06808, -8.74836, -8.91707, -8.45892, -7.56216, -6.84085, -6.99226, -7.76647, -8.36311, -8.33899, -7.65341, -6.70636, -6.41719, -7.14159, -7.97811, -8.10212, -7.13891, -4.99829, -2.8733, -4.04297, -6.60246, -8.15182, -8.49401, -7.87874,
-7.05983, -7.90632, -8.42898, -8.56958, -8.54561, -8.57653, -8.62227, -8.42541, -7.78122, -6.7838, -6.07848, -6.46502, -7.58867, -8.52368, -8.79841, -8.27282, -6.99311, -5.47851, -5.14293, -6.3909, -7.75408, -8.38311, -8.15355, -7.31923, -6.6617, -7.01877, -7.90265, -8.27872, -7.55018, -5.30151, -1.51194, -1.21528, -5.1476, -7.66436, -8.58361, -8.27996,
-8.06646, -8.48176, -8.57935, -8.45224, -8.3769, -8.48886, -8.59414, -8.37944, -7.6651, -6.5554, -5.67903, -5.94477, -7.13678, -8.25467, -8.71928, -8.28609, -6.78959, -4.29797, -2.7035, -4.61764, -7.05382, -8.36958, -8.54849, -7.88562, -7.09959, -7.21135, -8.08043, -8.62162, -8.12651, -6.12702, -2.12358, 0.341596, -4.05539, -7.22004, -8.53116, -8.47564,
-8.66387, -8.74688, -8.4859, -8.08865, -7.90132, -8.04661, -8.27675, -8.26805, -7.84542, -7.03475, -6.19463, -6.08137, -6.98451, -8.1391, -8.76494, -8.44642, -6.85395, -3.56632, 0.0909136, -2.72, -6.3133, -8.11603, -8.52795, -8.00886, -7.3301, -7.48949, -8.359, -8.92258, -8.52273, -6.77776, -3.40531, -0.74988, -3.79796, -6.80611, -8.17094, -8.21045,
-8.94597, -8.82557, -8.30725, -7.6292, -7.19801, -7.28271, -7.72487, -8.13842, -8.21626, -7.8262, -7.11155, -6.68663, -7.20693, -8.25002, -8.89906, -8.58892, -6.90477, -3.16871, 2.42516, -1.1669, -5.49342, -7.4564, -7.91016, -7.4975, -7.11726, -7.59011, -8.52162, -9.01955, -8.59626, -7.02173, -4.3494, -2.46736, -4.13271, -6.33339, -7.39024, -7.32958,
-9.00956, -8.83342, -8.1836, -7.22078, -6.36462, -6.255, -7.02044, -7.99524, -8.55731, -8.46988, -7.85479, -7.31605, -7.61592, -8.4897, -9.01198, -8.57234, -6.73763, -2.80486, 3.22438, -0.253599, -4.46963, -6.2459, -6.55599, -6.23755, -6.36492, -7.35159, -8.41465, -8.84359, -8.36424, -6.92453, -4.8569, -3.65123, -4.48513, -5.71329, -6.15683, -5.74096,
-8.9527, -8.85301, -8.17534, -6.93428, -5.4891, -5.04443, -6.25109, -7.78974, -8.67428, -8.72028, -8.15954, -7.66725, -7.9514, -8.68378, -8.99886, -8.34289, -6.32378, -2.38978, 2.71162, 0.27444, -3.08692, -4.36132, -4.34375, -4.18702, -5.109, -6.72771, -7.97665, -8.41299, -7.96266, -6.72332, -5.14731, -4.27537, -4.54585, -4.94034, -4.62933, -3.55714,
-8.86553, -8.91013, -8.23601, -6.71808, -4.59997, -3.73572, -5.46913, -7.43442, -8.438, -8.47419, -7.94028, -7.61512, -8.0366, -8.68954, -8.80302, -7.94458, -5.83213, -2.22684, 1.61029, 0.773252, -1.27328, -1.86244, -1.52007, -1.83989, -3.70272, -5.81099, -7.24505, -7.83395, -7.61844, -6.72967, -5.50203, -4.56809, -4.29937, -4.16726, -3.43135, -1.86217,
-8.81119, -8.97433, -8.25564, -6.43615, -3.62762, -2.36419, -4.6472, -6.82418, -7.76014, -7.67783, -7.17615, -7.13502, -7.79322, -8.43211, -8.42681, -7.5167, -5.60724, -2.78224, 0.107308, 1.11737, 0.584448, 0.0834853, -0.370197, -1.40867, -3.11178, -4.92972, -6.3992, -7.30303, -7.54888, -7.11182, -6.07788, -4.80172, -3.94241, -3.72295, -3.48093, -2.61046,
-8.80854, -8.98624, -8.12597, -5.94406, -2.40854, -0.843037, -3.66347, -5.84421, -6.5641, -6.29629, -5.90098, -6.28081, -7.22053, -7.90425, -7.93443, -7.25622, -5.934, -4.042, -1.65669, 0.674242, 0.998958, -0.836126, -2.59422, -3.56228, -4.02325, -4.64828, -5.80219, -7.04787, -7.79751, -7.74597, -6.80756, -5.18286, -3.8148, -3.89278, -4.63772, -4.76701,
-8.8329, -8.88954, -7.7771, -5.13722, -0.713087, 1.09564, -2.31214, -4.35995, -4.78296, -4.38196, -4.33229, -5.24538, -6.40653, -7.17626, -7.45031, -7.30217, -6.71849, -5.50746, -3.40539, -0.801822, -0.719842, -3.27239, -5.1997, -5.89151, -5.63685, -5.24693, -5.82643, -7.17435, -8.21137, -8.37437, -7.50625, -5.7465, -4.17236, -4.58351, -5.96034, -6.61452,
-8.83599, -8.65072, -7.19075, -3.98582, 1.71759, 4.01528, -0.279714, -2.20089, -2.47572, -2.43695, -3.19006, -4.46682, -5.58176, -6.42734, -7.12903, -7.62142, -7.61398, -6.77774, -4.91645, -2.6941, -2.97867, -5.33494, -7.02525, -7.53535, -7.07805, -6.33, -6.45694, -7.58099, -8.59511, -8.80749, -8.0216, -6.37657, -4.93273, -5.43907, -6.9379, -7.78183,
-8.76976, -8.26813, -6.41813, -2.63374, 4.7795, 9.48212, 3.02967, 0.759244, -0.419776, -1.92062, -3.45033, -4.47479, -5.13013, -5.94538, -7.0774, -8.04851, -8.3455, -7.69407, -6.09118, -4.42103, -4.84296, -6.72996, -8.1006, -8.49026, -8.06487, -7.38249, -7.32549, -8.07156, -8.82793, -8.96627, -8.28164, -6.93006, -5.80256, -6.18068, -7.45312, -8.29908,
-8.60168, -7.77766, -5.61706, -1.62066, 5.68063, 108.301, 9.2901, 3.59879, -0.539997, -3.36043, -4.85045, -5.2907, -5.34333, -5.97323, -7.28263, -8.4178, -8.78838, -8.2276, -6.91285, -5.77485, -6.18493, -7.54812, -8.56172, -8.85255, -8.56901, -8.14917, -8.1063, -8.49588, -8.87804, -8.85354, -8.28216, -7.31918, -6.55218, -6.69347, -7.52384, -8.23113,
-8.32085, -7.25743, -5.06966, -1.75958, 2.51865, 8.73305, 13.8596, 2.71093, -2.56871, -5.28929, -6.39998, -6.41854, -6.09551, -6.47885, -7.63377, -8.63309, -8.9136, -8.40057, -7.40473, -6.73704, -7.06961, -7.9056, -8.51379, -8.69684, -8.61913, -8.55742, -8.64907, -8.78666, -8.78132, -8.53432, -8.07178, -7.52187, -7.08707, -6.97074, -7.21584, -7.62541,
-7.93964, -6.82114, -5.05125, -3.03431, -0.8009, 2.5635, 4.76006, -0.48586, -4.66637, -6.86136, -7.63052, -7.44588, -7.01538, -7.20374, -8.0067, -8.6678, -8.74421, -8.2607, -7.61149, -7.35059, -7.58585, -7.90929, -8.04256, -8.07411, -8.24803, -8.60732, -8.91726, -8.93761, -8.61947, -8.13162, -7.74706, -7.5666, -7.40475, -7.06662, -6.64451, -6.53027,
-7.49442, -6.58234, -5.57047, -4.63464, -3.26342, -0.949841, 0.0388978, -3.16922, -6.26552, -7.94889, -8.45538, -8.20495, -7.82715, -7.90348, -8.31943, -8.54797, -8.34411, -7.88346, -7.59579, -7.67827, -7.82222, -7.67169, -7.24835, -7.03191, -7.48666, -8.32529, -8.92796, -8.9761, -8.49226, -7.80938, -7.44205, -7.51603, -7.55321, -7.07239, -6.0107, -5.07016,
-7.04421, -6.59367, -6.36611, -6.03972, -5.01593, -3.28646, -2.86416, -5.10046, -7.37097, -8.60271, -8.90021, -8.65985, -8.41103, -8.4469, -8.53864, -8.33971, -7.82671, -7.38675, -7.44118, -7.794, -7.87034, -7.3283, -6.29644, -5.65852, -6.37794, -7.75458, -8.72547, -8.94284, -8.47519, -7.70704, -7.28668, -7.44865, -7.60645, -7.09515, -5.60611, -3.63456,
-6.66242, -6.81384, -7.16427, -7.10188, -6.23282, -4.9161, -4.81937, -6.45585, -8.07318, -8.89473, -9.0121, -8.82261, -8.73634, -8.7893, -8.66556, -8.13569, -7.35964, -6.93748, -7.25097, -7.78224, -7.82778, -7.03684, -5.46446, -4.17761, -5.01539, -6.96469, -8.37327, -8.87599, -8.58015, -7.85018, -7.33749, -7.43244, -7.64392, -7.2229, -5.6756, -3.01021,
-6.41685, -7.14084, -7.80871, -7.81552, -7.0325, -6.05457, -6.17299, -7.38373, -8.4579, -8.89237, -8.8397, -8.72, -8.81032, -8.93129, -8.72036, -8.0283, -7.12358, -6.71204, -7.13134, -7.73306, -7.79069, -6.93637, -5.07871, -3.05674, -3.61865, -6.07168, -7.95037, -8.79915, -8.75311, -8.13753, -7.54325, -7.49683, -7.72602, -7.48654, -6.20471, -3.63515,
-6.34325, -7.47137, -8.23844, -8.21093, -7.49548, -6.82393, -7.10129, -7.98858, -8.59943, -8.66102, -8.43322, -8.38382, -8.65533, -8.89518, -8.72942, -8.07015, -7.21017, -6.79917, -7.1551, -7.7266, -7.833, -7.0802, -5.26363, -2.79777, -2.58973, -5.25187, -7.54151, -8.71573, -8.90931, -8.42114, -7.7872, -7.62174, -7.87308, -7.85062, -6.95617, -4.91063,
-6.43069, -7.73427, -8.44196, -8.32382, -7.68146, -7.30497, -7.71127, -8.34803, -8.56606, -8.2712, -7.85022, -7.85018, -8.30143, -8.71432, -8.71542, -8.24848, -7.55618, -7.13836, -7.32917, -7.80992, -7.98343, -7.41283, -5.82381, -3.34277, -2.30668, -4.70412, -7.21602, -8.61139, -8.9706, -8.58029, -7.95349, -7.75237, -8.0622, -8.242, -7.69433, -6.16058,
-6.63204, -7.89385, -8.43076, -8.18989, -7.64104, -7.55932, -8.07808, -8.52524, -8.42455, -7.80405, -7.1622, -7.16242, -7.78562, -8.42833, -8.69068, -8.49811, -8.0052, -7.57889, -7.59819, -7.98276, -8.22054, -7.82257, -6.47112, -4.18372, -2.70694, -4.53565, -7.00334, -8.46238, -8.8822, -8.54041, -7.95987, -7.82554, -8.24421, -8.58751, -8.28724, -7.12634,
-6.88916, -7.94174, -8.2291, -7.8479, -7.42465, -7.64068, -8.26183, -8.57593, -8.24044, -7.34931, -6.45708, -6.37483, -7.15368, -8.07953, -8.65484, -8.73853, -8.41102, -7.97866, -7.88086, -8.20541, -8.49185, -8.20778, -7.02112, -4.94605, -3.39071, -4.68011, -6.88439, -8.24478, -8.61331, -8.26227, -7.75766, -7.78843, -8.36617, -8.83437, -8.68635, -7.77043};
int m = 121;
int n = 36;
int threadNum = 128;
dim3 blockNum(m, n/pixelPerBlock);
thrust::device_vector<float> d_out(m*n);
maxFilter2D_opt<<<blockNum, threadNum>>>(d_in.data().get(), m, n, d_out.data().get());
}