fixed bug in cv::gpu::HOGDescriptor::detectMultiScale
authorVladislav Vinogradov <no@email>
Tue, 26 Jun 2012 12:24:48 +0000 (12:24 +0000)
committerVladislav Vinogradov <no@email>
Tue, 26 Jun 2012 12:24:48 +0000 (12:24 +0000)
modules/gpu/src/hog.cpp

index 3e5317a..3d0b7e9 100644 (file)
@@ -43,7 +43,7 @@
 #include "precomp.hpp"\r
 \r
 #if !defined (HAVE_CUDA)\r
-    \r
+\r
 cv::gpu::HOGDescriptor::HOGDescriptor(Size, Size, Size, Size, int, double, double, bool, int) { throw_nogpu(); }\r
 size_t cv::gpu::HOGDescriptor::getDescriptorSize() const { throw_nogpu(); return 0; }\r
 size_t cv::gpu::HOGDescriptor::getBlockHistogramSize() const { throw_nogpu(); return 0; }\r
@@ -60,35 +60,35 @@ std::vector<float> cv::gpu::HOGDescriptor::getPeopleDetector64x128() { throw_nog
 \r
 #else\r
 \r
-namespace cv { namespace gpu { namespace device \r
+namespace cv { namespace gpu { namespace device\r
 {\r
-    namespace hog \r
+    namespace hog\r
     {\r
-        void set_up_constants(int nbins, int block_stride_x, int block_stride_y, \r
+        void set_up_constants(int nbins, int block_stride_x, int block_stride_y,\r
                               int nblocks_win_x, int nblocks_win_y);\r
 \r
         void compute_hists(int nbins, int block_stride_x, int blovck_stride_y,\r
-                           int height, int width, const cv::gpu::DevMem2Df& grad, \r
+                           int height, int width, const cv::gpu::DevMem2Df& grad,\r
                            const cv::gpu::DevMem2Db& qangle, float sigma, float* block_hists);\r
 \r
-        void normalize_hists(int nbins, int block_stride_x, int block_stride_y, \r
+        void normalize_hists(int nbins, int block_stride_x, int block_stride_y,\r
                              int height, int width, float* block_hists, float threshold);\r
 \r
-        void classify_hists(int win_height, int win_width, int block_stride_y, \r
-                            int block_stride_x, int win_stride_y, int win_stride_x, int height, \r
-                            int width, float* block_hists, float* coefs, float free_coef, \r
+        void classify_hists(int win_height, int win_width, int block_stride_y,\r
+                            int block_stride_x, int win_stride_y, int win_stride_x, int height,\r
+                            int width, float* block_hists, float* coefs, float free_coef,\r
                             float threshold, unsigned char* labels);\r
 \r
-        void extract_descrs_by_rows(int win_height, int win_width, int block_stride_y, int block_stride_x, \r
-                                    int win_stride_y, int win_stride_x, int height, int width, float* block_hists, \r
+        void extract_descrs_by_rows(int win_height, int win_width, int block_stride_y, int block_stride_x,\r
+                                    int win_stride_y, int win_stride_x, int height, int width, float* block_hists,\r
                                     cv::gpu::DevMem2Df descriptors);\r
-        void extract_descrs_by_cols(int win_height, int win_width, int block_stride_y, int block_stride_x, \r
-                                    int win_stride_y, int win_stride_x, int height, int width, float* block_hists, \r
+        void extract_descrs_by_cols(int win_height, int win_width, int block_stride_y, int block_stride_x,\r
+                                    int win_stride_y, int win_stride_x, int height, int width, float* block_hists,\r
                                     cv::gpu::DevMem2Df descriptors);\r
 \r
-        void compute_gradients_8UC1(int nbins, int height, int width, const cv::gpu::DevMem2Db& img, \r
+        void compute_gradients_8UC1(int nbins, int height, int width, const cv::gpu::DevMem2Db& img,\r
                                     float angle_scale, cv::gpu::DevMem2Df grad, cv::gpu::DevMem2Db qangle, bool correct_gamma);\r
-        void compute_gradients_8UC4(int nbins, int height, int width, const cv::gpu::DevMem2Db& img, \r
+        void compute_gradients_8UC4(int nbins, int height, int width, const cv::gpu::DevMem2Db& img,\r
                                     float angle_scale, cv::gpu::DevMem2Df grad, cv::gpu::DevMem2Db qangle, bool correct_gamma);\r
 \r
         void resize_8UC1(const cv::gpu::DevMem2Db& src, cv::gpu::DevMem2Db dst);\r
@@ -97,7 +97,7 @@ namespace cv { namespace gpu { namespace device
 }}}\r
 \r
 using namespace ::cv::gpu::device;\r
-    \r
+\r
 cv::gpu::HOGDescriptor::HOGDescriptor(Size win_size_, Size block_size_, Size block_stride_, Size cell_size_,\r
                                       int nbins_, double win_sigma_, double threshold_L2hys_, bool gamma_correction_, int nlevels_)\r
         : win_size(win_size_),\r
@@ -110,7 +110,7 @@ cv::gpu::HOGDescriptor::HOGDescriptor(Size win_size_, Size block_size_, Size blo
           gamma_correction(gamma_correction_),\r
           nlevels(nlevels_)\r
 {\r
-    CV_Assert((win_size.width  - block_size.width ) % block_stride.width  == 0 && \r
+    CV_Assert((win_size.width  - block_size.width ) % block_stride.width  == 0 &&\r
               (win_size.height - block_size.height) % block_stride.height == 0);\r
 \r
     CV_Assert(block_size.width % cell_size.width == 0 && block_size.height % cell_size.height == 0);\r
@@ -124,14 +124,14 @@ cv::gpu::HOGDescriptor::HOGDescriptor(Size win_size_, Size block_size_, Size blo
 \r
     cv::Size blocks_per_win = numPartsWithin(win_size, block_size, block_stride);\r
     hog::set_up_constants(nbins, block_stride.width, block_stride.height, blocks_per_win.width, blocks_per_win.height);\r
-}       \r
+}\r
 \r
 size_t cv::gpu::HOGDescriptor::getDescriptorSize() const\r
 {\r
     return numPartsWithin(win_size, block_size, block_stride).area() * getBlockHistogramSize();\r
 }\r
 \r
-size_t cv::gpu::HOGDescriptor::getBlockHistogramSize() const \r
+size_t cv::gpu::HOGDescriptor::getBlockHistogramSize() const\r
 {\r
     Size cells_per_block = Size(block_size.width / cell_size.width, block_size.height / cell_size.height);\r
     return (size_t)(nbins * cells_per_block.area());\r
@@ -167,7 +167,7 @@ void cv::gpu::HOGDescriptor::setSVMDetector(const vector<float>& _detector)
 \r
     this->detector.upload(Mat(detector_reordered).reshape(1, 1));\r
 \r
-    size_t descriptor_size = getDescriptorSize();  \r
+    size_t descriptor_size = getDescriptorSize();\r
     free_coef = _detector.size() > descriptor_size ? _detector[descriptor_size] : 0;\r
 \r
     CV_Assert(checkDetectorSize());\r
@@ -175,25 +175,25 @@ void cv::gpu::HOGDescriptor::setSVMDetector(const vector<float>& _detector)
 \r
 cv::gpu::GpuMat cv::gpu::HOGDescriptor::getBuffer(const Size& sz, int type, GpuMat& buf)\r
 {\r
-       if (buf.empty() || buf.type() != type)\r
-               buf.create(sz, type);\r
-       else\r
-               if (buf.cols < sz.width || buf.rows < sz.height)\r
-                       buf.create(std::max(buf.rows, sz.height), std::max(buf.cols, sz.width), type);  \r
+    if (buf.empty() || buf.type() != type)\r
+        buf.create(sz, type);\r
+    else\r
+        if (buf.cols < sz.width || buf.rows < sz.height)\r
+            buf.create(std::max(buf.rows, sz.height), std::max(buf.cols, sz.width), type);\r
 \r
-       return buf(Rect(Point(0,0), sz));\r
+    return buf(Rect(Point(0,0), sz));\r
 }\r
 \r
 cv::gpu::GpuMat cv::gpu::HOGDescriptor::getBuffer(int rows, int cols, int type, GpuMat& buf)\r
-{ \r
-       return getBuffer(Size(cols, rows), type, buf); \r
+{\r
+    return getBuffer(Size(cols, rows), type, buf);\r
 }\r
 \r
 \r
 void cv::gpu::HOGDescriptor::computeGradient(const GpuMat& img, GpuMat& _grad, GpuMat& _qangle)\r
 {\r
     CV_Assert(img.type() == CV_8UC1 || img.type() == CV_8UC4);\r
-       \r
+\r
     //   grad.create(img.size(), CV_32FC2);\r
     _grad = getBuffer(img.size(), CV_32FC2, grad_buf);\r
 \r
@@ -201,8 +201,8 @@ void cv::gpu::HOGDescriptor::computeGradient(const GpuMat& img, GpuMat& _grad, G
     _qangle = getBuffer(img.size(), CV_8UC2, qangle_buf);\r
 \r
     float angleScale = (float)(nbins / CV_PI);\r
-    switch (img.type()) \r
-       {\r
+    switch (img.type())\r
+    {\r
         case CV_8UC1:\r
             hog::compute_gradients_8UC1(nbins, img.rows, img.cols, img, angleScale, _grad, _qangle, gamma_correction);\r
             break;\r
@@ -220,13 +220,13 @@ void cv::gpu::HOGDescriptor::computeBlockHistograms(const GpuMat& img)
     size_t block_hist_size = getBlockHistogramSize();\r
     Size blocks_per_img = numPartsWithin(img.size(), block_size, block_stride);\r
 \r
-       //   block_hists.create(1, block_hist_size * blocks_per_img.area(), CV_32F);\r
-       block_hists = getBuffer(1, static_cast<int>(block_hist_size * blocks_per_img.area()), CV_32F, block_hists_buf);\r
-    \r
-    hog::compute_hists(nbins, block_stride.width, block_stride.height, img.rows, img.cols, \r
-                                               grad, qangle, (float)getWinSigma(), block_hists.ptr<float>());\r
+    //   block_hists.create(1, block_hist_size * blocks_per_img.area(), CV_32F);\r
+    block_hists = getBuffer(1, static_cast<int>(block_hist_size * blocks_per_img.area()), CV_32F, block_hists_buf);\r
+\r
+    hog::compute_hists(nbins, block_stride.width, block_stride.height, img.rows, img.cols,\r
+                        grad, qangle, (float)getWinSigma(), block_hists.ptr<float>());\r
 \r
-    hog::normalize_hists(nbins, block_stride.width, block_stride.height, img.rows, img.cols, \r
+    hog::normalize_hists(nbins, block_stride.width, block_stride.height, img.rows, img.cols,\r
                          block_hists.ptr<float>(), (float)threshold_L2hys);\r
 }\r
 \r
@@ -246,11 +246,11 @@ void cv::gpu::HOGDescriptor::getDescriptors(const GpuMat& img, Size win_stride,
     switch (descr_format)\r
     {\r
     case DESCR_FORMAT_ROW_BY_ROW:\r
-        hog::extract_descrs_by_rows(win_size.height, win_size.width, block_stride.height, block_stride.width, \r
+        hog::extract_descrs_by_rows(win_size.height, win_size.width, block_stride.height, block_stride.width,\r
                                     win_stride.height, win_stride.width, img.rows, img.cols, block_hists.ptr<float>(), descriptors);\r
         break;\r
     case DESCR_FORMAT_COL_BY_COL:\r
-        hog::extract_descrs_by_cols(win_size.height, win_size.width, block_stride.height, block_stride.width, \r
+        hog::extract_descrs_by_cols(win_size.height, win_size.width, block_stride.height, block_stride.width,\r
                                     win_stride.height, win_stride.width, img.rows, img.cols, block_hists.ptr<float>(), descriptors);\r
         break;\r
     default:\r
@@ -277,10 +277,10 @@ void cv::gpu::HOGDescriptor::detect(const GpuMat& img, vector<Point>& hits, doub
 \r
     Size wins_per_img = numPartsWithin(img.size(), win_size, win_stride);\r
     //   labels.create(1, wins_per_img.area(), CV_8U);\r
-       labels = getBuffer(1, wins_per_img.area(), CV_8U, labels_buf);\r
+    labels = getBuffer(1, wins_per_img.area(), CV_8U, labels_buf);\r
 \r
-    hog::classify_hists(win_size.height, win_size.width, block_stride.height, block_stride.width, \r
-                        win_stride.height, win_stride.width, img.rows, img.cols, block_hists.ptr<float>(), \r
+    hog::classify_hists(win_size.height, win_size.width, block_stride.height, block_stride.width,\r
+                        win_stride.height, win_stride.width, img.rows, img.cols, block_hists.ptr<float>(),\r
                         detector.ptr<float>(), (float)free_coef, (float)hit_threshold, labels.ptr());\r
 \r
     labels.download(labels_host);\r
@@ -289,18 +289,18 @@ void cv::gpu::HOGDescriptor::detect(const GpuMat& img, vector<Point>& hits, doub
     {\r
         int y = i / wins_per_img.width;\r
         int x = i - wins_per_img.width * y;\r
-        if (vec[i]) \r
+        if (vec[i])\r
             hits.push_back(Point(x * win_stride.width, y * win_stride.height));\r
     }\r
 }\r
 \r
 \r
 \r
-void cv::gpu::HOGDescriptor::detectMultiScale(const GpuMat& img, vector<Rect>& found_locations, double hit_threshold, \r
-                                                                                         Size win_stride, Size padding, double scale0, int group_threshold)\r
+void cv::gpu::HOGDescriptor::detectMultiScale(const GpuMat& img, vector<Rect>& found_locations, double hit_threshold,\r
+                                              Size win_stride, Size padding, double scale0, int group_threshold)\r
 {\r
 \r
-       CV_Assert(img.type() == CV_8UC1 || img.type() == CV_8UC4);\r
+    CV_Assert(img.type() == CV_8UC1 || img.type() == CV_8UC4);\r
 \r
     vector<double> level_scale;\r
     double scale = 1.;\r
@@ -309,35 +309,35 @@ void cv::gpu::HOGDescriptor::detectMultiScale(const GpuMat& img, vector<Rect>& f
     for (levels = 0; levels < nlevels; levels++)\r
     {\r
         level_scale.push_back(scale);\r
-        if (cvRound(img.cols/scale) < win_size.width || \r
+        if (cvRound(img.cols/scale) < win_size.width ||\r
             cvRound(img.rows/scale) < win_size.height || scale0 <= 1)\r
             break;\r
         scale *= scale0;\r
     }\r
     levels = std::max(levels, 1);\r
     level_scale.resize(levels);\r
-       image_scales.resize(levels);\r
+    image_scales.resize(levels);\r
 \r
-    std::vector<Rect> all_candidates;   \r
+    std::vector<Rect> all_candidates;\r
     vector<Point> locations;\r
 \r
     for (size_t i = 0; i < level_scale.size(); i++)\r
     {\r
-        double _scale = level_scale[i];\r
-        Size sz(cvRound(img.cols / _scale), cvRound(img.rows / _scale));\r
+        scale = level_scale[i];\r
+        Size sz(cvRound(img.cols / scale), cvRound(img.rows / scale));\r
         GpuMat smaller_img;\r
 \r
         if (sz == img.size())\r
             smaller_img = img;\r
         else\r
-        {                      \r
+        {\r
             image_scales[i].create(sz, img.type());\r
-            switch (img.type()) \r
-                       {\r
+            switch (img.type())\r
+            {\r
                 case CV_8UC1: hog::resize_8UC1(img, image_scales[i]); break;\r
                 case CV_8UC4: hog::resize_8UC4(img, image_scales[i]); break;\r
             }\r
-                       smaller_img = image_scales[i];\r
+            smaller_img = image_scales[i];\r
         }\r
 \r
         detect(smaller_img, locations, hit_threshold, win_stride, padding);\r
@@ -346,16 +346,16 @@ void cv::gpu::HOGDescriptor::detectMultiScale(const GpuMat& img, vector<Rect>& f
             all_candidates.push_back(Rect(Point2d((CvPoint)locations[j]) * scale, scaled_win_size));\r
     }\r
 \r
-    found_locations.assign(all_candidates.begin(), all_candidates.end());    \r
+    found_locations.assign(all_candidates.begin(), all_candidates.end());\r
     groupRectangles(found_locations, group_threshold, 0.2/*magic number copied from CPU version*/);\r
 }\r
 \r
-int cv::gpu::HOGDescriptor::numPartsWithin(int size, int part_size, int stride) \r
+int cv::gpu::HOGDescriptor::numPartsWithin(int size, int part_size, int stride)\r
 {\r
     return (size - part_size + stride) / stride;\r
 }\r
 \r
-cv::Size cv::gpu::HOGDescriptor::numPartsWithin(cv::Size size, cv::Size part_size, cv::Size stride) \r
+cv::Size cv::gpu::HOGDescriptor::numPartsWithin(cv::Size size, cv::Size part_size, cv::Size stride)\r
 {\r
     return Size(numPartsWithin(size.width, part_size.width, stride.width), numPartsWithin(size.height, part_size.height, stride.height));\r
 }\r
@@ -368,336 +368,336 @@ std::vector<float> cv::gpu::HOGDescriptor::getDefaultPeopleDetector()
 std::vector<float> cv::gpu::HOGDescriptor::getPeopleDetector48x96()\r
 {\r
     static const float detector[] = {\r
-        0.294350f, -0.098796f, -0.129522f, 0.078753f, 0.387527f, 0.261529f, \r
-        0.145939f, 0.061520f, 0.328699f, 0.227148f, -0.066467f, -0.086723f, \r
-        0.047559f, 0.106714f, 0.037897f, 0.111461f, -0.024406f, 0.304769f, \r
-        0.254676f, -0.069235f, 0.082566f, 0.147260f, 0.326969f, 0.148888f, \r
-        0.055270f, -0.087985f, 0.261720f, 0.143442f, 0.026812f, 0.238212f, \r
-        0.194020f, 0.056341f, -0.025854f, -0.034444f, -0.156631f, 0.205174f, \r
-        0.089008f, -0.139811f, -0.100147f, -0.037830f, -0.029230f, -0.055641f, \r
-        0.033248f, -0.016512f, 0.155244f, 0.247315f, -0.124694f, -0.048414f, \r
-        -0.062219f, 0.193683f, 0.004574f, 0.055089f, 0.093565f, 0.167712f, \r
-        0.167581f, 0.018895f, 0.215258f, 0.122609f, 0.090520f, -0.067219f, \r
-        -0.049029f, -0.099615f, 0.241804f, -0.094893f, -0.176248f, 0.001727f, \r
-        -0.134473f, 0.104442f, 0.050942f, 0.081165f, 0.072156f, 0.121646f, \r
-        0.002656f, -0.297974f, -0.133587f, -0.060121f, -0.092515f, -0.048974f, \r
-        -0.084754f, -0.180111f, -0.038590f, 0.086283f, -0.134636f, -0.107249f, \r
-        0.132890f, 0.141556f, 0.249425f, 0.130273f, -0.030031f, 0.073212f, \r
-        -0.008155f, 0.019931f, 0.071688f, 0.000300f, -0.019525f, -0.021725f, \r
-        -0.040993f, -0.086841f, 0.070124f, 0.240033f, 0.265350f, 0.043208f, \r
-        0.166754f, 0.091453f, 0.060916f, -0.036972f, -0.091043f, 0.079873f, \r
-        0.219781f, 0.158102f, -0.140618f, -0.043016f, 0.124802f, 0.093668f, \r
-        0.103208f, 0.094872f, 0.080541f, 0.137711f, 0.160566f, -0.169231f, \r
-        0.013983f, 0.309508f, -0.004217f, -0.057200f, -0.064489f, 0.014066f, \r
-        0.361009f, 0.251328f, -0.080983f, -0.044183f, 0.061436f, -0.037381f, \r
-        -0.078786f, 0.030993f, 0.066314f, 0.037683f, 0.152325f, -0.091683f, \r
-        0.070203f, 0.217856f, 0.036435f, -0.076462f, 0.006254f, -0.094431f, \r
-        0.154829f, -0.023038f, -0.196961f, -0.024594f, 0.178465f, -0.050139f, \r
-        -0.045932f, -0.000965f, 0.109112f, 0.046165f, -0.159373f, -0.008713f, \r
-        0.041307f, 0.097129f, -0.057211f, -0.064599f, 0.077165f, 0.176167f, \r
-        0.138322f, 0.065753f, -0.104950f, 0.017933f, 0.136255f, -0.011598f, \r
-        0.047007f, 0.080550f, 0.068619f, 0.084661f, -0.035493f, -0.091314f, \r
-        -0.041411f, 0.060971f, -0.101912f, -0.079870f, -0.085977f, -0.022686f, \r
-        0.079788f, -0.098064f, -0.054603f, 0.040383f, 0.300794f, 0.128603f, \r
-        0.094844f, 0.047407f, 0.101825f, 0.061832f, -0.162160f, -0.204553f, \r
-        -0.035165f, 0.101450f, -0.016641f, -0.027140f, -0.134392f, -0.008743f, \r
-        0.102331f, 0.114853f, 0.009644f, 0.062823f, 0.237339f, 0.167843f, \r
-        0.053066f, -0.012592f, 0.043158f, 0.002305f, 0.065001f, -0.038929f, \r
-        -0.020356f, 0.152343f, 0.043469f, -0.029967f, -0.042948f, 0.032481f, \r
-        0.068488f, -0.110840f, -0.111083f, 0.111980f, -0.002072f, -0.005562f, \r
-        0.082926f, 0.006635f, -0.108153f, 0.024242f, -0.086464f, -0.189884f, \r
-        -0.017492f, 0.191456f, -0.007683f, -0.128769f, -0.038017f, -0.132380f, \r
-        0.091926f, 0.079696f, -0.106728f, -0.007656f, 0.172744f, 0.011576f, \r
-        0.009883f, 0.083258f, -0.026516f, 0.145534f, 0.153924f, -0.130290f, \r
-        -0.108945f, 0.124490f, -0.003186f, -0.100485f, 0.015024f, -0.060512f, \r
-        0.026288f, -0.086713f, -0.169012f, 0.076517f, 0.215778f, 0.043701f, \r
-        -0.131642f, -0.012585f, -0.045181f, -0.118183f, -0.241544f, -0.167293f, \r
-        -0.020107f, -0.019917f, -0.101827f, -0.107096f, -0.010503f, 0.044938f, \r
-        0.189680f, 0.217119f, -0.046086f, 0.044508f, 0.199716f, -0.036004f, \r
-        -0.148927f, 0.013355f, -0.078279f, 0.030451f, 0.056301f, -0.024609f, \r
-        0.083224f, 0.099533f, -0.039432f, -0.138880f, 0.005482f, -0.024120f, \r
-        -0.140468f, -0.066381f, -0.017057f, 0.009260f, -0.058004f, -0.028486f, \r
-        -0.061610f, 0.007483f, -0.158309f, -0.150687f, -0.044595f, -0.105121f, \r
-        -0.045763f, -0.006618f, -0.024419f, -0.117713f, -0.119366f, -0.175941f, \r
-        -0.071542f, 0.119027f, 0.111362f, 0.043080f, 0.034889f, 0.093003f, \r
-        0.007842f, 0.057368f, -0.108834f, -0.079968f, 0.230959f, 0.020205f, \r
-        0.011470f, 0.098877f, 0.101310f, -0.030215f, -0.018018f, -0.059552f, \r
-        -0.106157f, 0.021866f, -0.036471f, 0.080051f, 0.041165f, -0.082101f, \r
-        0.117726f, 0.030961f, -0.054763f, -0.084102f, -0.185778f, -0.061305f, \r
-        -0.038089f, -0.110728f, -0.264010f, 0.076675f, -0.077111f, -0.137644f, \r
-        0.036232f, 0.277995f, 0.019116f, 0.107738f, 0.144003f, 0.080304f, \r
-        0.215036f, 0.228897f, 0.072713f, 0.077773f, 0.120168f, 0.075324f, \r
-        0.062730f, 0.122478f, -0.049008f, 0.164912f, 0.162450f, 0.041246f, \r
-        0.009891f, -0.097827f, -0.038700f, -0.023027f, -0.120020f, 0.203364f, \r
-        0.248474f, 0.149810f, -0.036276f, -0.082814f, -0.090343f, -0.027143f, \r
-        -0.075689f, -0.320310f, -0.000500f, -0.143334f, -0.065077f, -0.186936f, \r
-        0.129372f, 0.116431f, 0.181699f, 0.170436f, 0.418854f, 0.460045f, \r
-        0.333719f, 0.230515f, 0.047822f, -0.044954f, -0.068086f, 0.140179f, \r
-        -0.044821f, 0.085550f, 0.092483f, -0.107296f, -0.130670f, -0.206629f, \r
-        0.114601f, -0.317869f, -0.076663f, 0.038680f, 0.212753f, -0.016059f, \r
-        -0.126526f, -0.163602f, 0.210154f, 0.099887f, -0.126366f, 0.118453f, \r
-        0.019309f, -0.021611f, -0.096499f, -0.111809f, -0.200489f, 0.142854f, \r
-        0.228840f, -0.353346f, -0.179151f, 0.116834f, 0.252389f, -0.031728f, \r
-        -0.188135f, -0.158998f, 0.386523f, 0.122315f, 0.209944f, 0.394023f, \r
-        0.359030f, 0.260717f, 0.170335f, 0.013683f, -0.142596f, -0.026138f, \r
-        -0.011878f, -0.150519f, 0.047159f, -0.107062f, -0.147347f, -0.187689f, \r
-        -0.186027f, -0.208048f, 0.058468f, -0.073026f, -0.236556f, -0.079788f, \r
-        -0.146216f, -0.058563f, -0.101361f, -0.071294f, -0.071093f, 0.116919f, \r
-        0.234304f, 0.306781f, 0.321866f, 0.240000f, 0.073261f, -0.012173f, \r
-        0.026479f, 0.050173f, 0.166127f, 0.228955f, 0.061905f, 0.156460f, \r
-        0.205990f, 0.120672f, 0.037350f, 0.167884f, 0.290099f, 0.420900f, \r
-        -0.012601f, 0.189839f, 0.306378f, 0.118383f, -0.095598f, -0.072360f, \r
-        -0.132496f, -0.224259f, -0.126021f, 0.022714f, 0.284039f, 0.051369f, \r
-        -0.000927f, -0.058735f, -0.083354f, -0.141254f, -0.187578f, -0.202669f, \r
-        0.048902f, 0.246597f, 0.441863f, 0.342519f, 0.066979f, 0.215286f, \r
-        0.188191f, -0.072240f, -0.208142f, -0.030196f, 0.178141f, 0.136985f, \r
-        -0.043374f, -0.181098f, 0.091815f, 0.116177f, -0.126690f, -0.386625f, \r
-        0.368165f, 0.269149f, -0.088042f, -0.028823f, 0.092961f, 0.024099f, \r
-        0.046112f, 0.176756f, 0.135849f, 0.124955f, 0.195467f, -0.037218f, \r
-        0.167217f, 0.188938f, 0.053528f, -0.066561f, 0.133721f, -0.070565f, \r
-        0.115898f, 0.152435f, -0.116993f, -0.110592f, -0.179005f, 0.026668f, \r
-        0.080530f, 0.075084f, -0.070401f, 0.012497f, 0.021849f, -0.139764f, \r
-        -0.022020f, -0.096301f, -0.064954f, -0.127446f, -0.013806f, -0.108315f, \r
-        0.156285f, 0.149867f, -0.011382f, 0.064532f, 0.029168f, 0.027393f, \r
-        0.069716f, 0.153735f, 0.038459f, 0.230714f, 0.253840f, 0.059522f, \r
-        -0.045053f, 0.014083f, 0.071103f, 0.068747f, 0.095887f, 0.005832f, \r
-        0.144887f, 0.026357f, -0.067359f, -0.044151f, -0.123283f, -0.019911f, \r
-        0.005318f, 0.109208f, -0.003201f, -0.021734f, 0.142025f, -0.066907f, \r
-        -0.120070f, -0.188639f, 0.012472f, -0.048704f, -0.012366f, -0.184828f, \r
-        0.168591f, 0.267166f, 0.058208f, -0.044101f, 0.033500f, 0.178558f, \r
-        0.104550f, 0.122418f, 0.080177f, 0.173246f, 0.298537f, 0.064173f, \r
-        0.053397f, 0.174341f, 0.230984f, 0.117025f, 0.166242f, 0.227781f, \r
-        0.120623f, 0.176952f, -0.011393f, -0.086483f, -0.008270f, 0.051700f, \r
-        -0.153369f, -0.058837f, -0.057639f, -0.060115f, 0.026349f, -0.160745f, \r
-        -0.037894f, -0.048575f, 0.041052f, -0.022112f, 0.060365f, 0.051906f, \r
-        0.162657f, 0.138519f, -0.050185f, -0.005938f, 0.071301f, 0.127686f, \r
-        0.062342f, 0.144400f, 0.072600f, 0.198436f, 0.246219f, -0.078185f, \r
-        -0.036169f, 0.075934f, 0.047328f, -0.013601f, 0.087205f, 0.019900f, \r
-        0.022606f, -0.015365f, -0.092506f, 0.075275f, -0.116375f, 0.050500f, \r
-        0.045118f, 0.166567f, 0.072073f, 0.060371f, 0.131747f, -0.169863f, \r
-        -0.039352f, -0.047486f, -0.039797f, -0.204312f, 0.021710f, 0.129443f, \r
-        -0.021173f, 0.173416f, -0.070794f, -0.063986f, 0.069689f, -0.064099f, \r
-        -0.123201f, -0.017372f, -0.206870f, 0.065863f, 0.113226f, 0.024707f, \r
-        -0.071341f, -0.066964f, -0.098278f, -0.062927f, 0.075840f, 0.014716f, \r
-        0.019378f, 0.132699f, -0.074191f, -0.089557f, -0.078446f, -0.197488f, \r
-        -0.173665f, 0.052583f, 0.044361f, 0.113549f, 0.098492f, 0.077379f, \r
-        -0.011146f, -0.192593f, -0.164435f, 0.045568f, 0.205699f, 0.049187f, \r
-        -0.082281f, 0.134874f, 0.185499f, 0.034968f, -0.119561f, -0.112372f, \r
-        -0.115091f, -0.054042f, -0.183816f, -0.078100f, 0.190695f, 0.091617f, \r
-        0.004257f, -0.041135f, -0.061453f, -0.141592f, -0.194809f, -0.120638f, \r
-        0.020168f, 0.109672f, 0.067398f, -0.015238f, -0.239145f, -0.264671f, \r
-        -0.185176f, 0.050472f, 0.020793f, 0.035678f, 0.022839f, -0.052055f, \r
-        -0.127968f, -0.113049f, -0.228416f, -0.258281f, -0.053437f, 0.076424f, \r
-        0.061450f, 0.237478f, 0.003618f, -0.055865f, -0.108087f, -0.028937f, \r
-        0.045585f, 0.052829f, -0.001471f, 0.022826f, 0.059565f, -0.104430f, \r
-        -0.077266f, -0.211882f, -0.212078f, 0.028074f, 0.075846f, 0.016265f, \r
-        0.161879f, 0.134477f, 0.008935f, -0.048041f, 0.074692f, 0.004928f, \r
-        -0.025156f, 0.192874f, 0.074410f, 0.308732f, 0.267400f, 0.094208f, \r
-        -0.005251f, 0.042041f, -0.032148f, 0.015588f, 0.252869f, 0.175302f, \r
-        0.022892f, 0.081673f, 0.063208f, 0.162626f, 0.194426f, 0.233890f, \r
-        0.262292f, 0.186930f, 0.084079f, -0.286388f, -0.213034f, -0.048867f, \r
-        -0.207669f, -0.170050f, 0.011673f, -0.092958f, -0.192786f, -0.273536f, \r
-        0.230904f, 0.266732f, 0.320519f, 0.297155f, 0.548169f, 0.304922f, \r
-        0.132687f, 0.247333f, 0.212488f, -0.271472f, -0.142105f, -0.002627f, \r
-        -0.119215f, 0.128383f, 0.100079f, -0.057490f, -0.121902f, -0.228892f, \r
-        0.202292f, -0.399795f, -0.371326f, -0.095836f, -0.063626f, -0.161375f, \r
-        -0.311180f, -0.294797f, 0.242122f, 0.011788f, 0.095573f, 0.322523f, \r
-        0.511840f, 0.322880f, 0.313259f, 0.173331f, 0.002542f, -0.029802f, \r
-        0.324766f, -0.326170f, -0.340547f, -0.138288f, -0.002963f, -0.114060f, \r
-        -0.377312f, -0.442570f, 0.212446f, -0.007759f, -0.011576f, 0.169711f, \r
-        0.308689f, 0.317348f, 0.539390f, 0.332845f, 0.057331f, -0.068180f, \r
-        0.101994f, 0.266995f, 0.209570f, 0.355730f, 0.091635f, 0.170238f, \r
-        0.125215f, 0.274154f, 0.070223f, 0.025515f, 0.049946f, -0.000550f, \r
-        0.043715f, -0.141843f, 0.020844f, 0.129871f, 0.256588f, 0.105015f, \r
-        0.148339f, 0.170682f, 0.028792f, 0.074037f, 0.160042f, 0.405137f, \r
-        0.246187f, 0.352160f, 0.168951f, 0.222263f, 0.264439f, 0.065945f, \r
-        0.021963f, -0.075084f, 0.093105f, 0.027318f, 0.098864f, 0.057566f, \r
-        -0.080282f, 0.185032f, 0.314419f, 0.333727f, 0.125798f, 0.294919f, \r
-        0.386002f, 0.217619f, -0.183517f, -0.278622f, -0.002342f, -0.027821f, \r
-        -0.134266f, -0.331843f, -0.008296f, 0.124564f, 0.053712f, -0.369016f, \r
-        -0.095036f, 0.209381f, 0.423760f, 0.371760f, 0.106397f, 0.369408f, \r
-        0.485608f, 0.231201f, -0.138685f, -0.349208f, -0.070083f, 0.028991f, \r
-        -0.081630f, -0.395992f, -0.146791f, -0.027354f, 0.063396f, -0.272484f, \r
-        0.058299f, 0.338207f, 0.110767f, -0.052642f, -0.233848f, -0.027448f, \r
-        0.030328f, 0.155572f, -0.093826f, 0.019331f, 0.120638f, 0.006292f, \r
-        -0.106083f, -0.236290f, -0.140933f, -0.088067f, -0.025138f, -0.208395f, \r
-        -0.025502f, 0.144192f, -0.048353f, -0.106144f, -0.305121f, -0.114147f, \r
-        0.090963f, 0.327727f, 0.035606f, -0.093779f, 0.002651f, -0.171081f, \r
-        -0.188131f, -0.216571f, -0.209101f, -0.054402f, 0.157147f, -0.057127f, \r
-        0.066584f, 0.008988f, 0.041191f, 0.034456f, -0.078255f, 0.052099f, \r
-        -0.022239f, 0.066981f, -0.117520f, -0.072637f, 0.062512f, 0.037570f, \r
-        -0.057544f, -0.312359f, 0.034357f, -0.031549f, 0.002566f, -0.207375f, \r
-        -0.070654f, -0.018786f, -0.044815f, -0.012814f, -0.076320f, 0.078183f, \r
-        0.023877f, 0.117078f, 0.022292f, -0.205424f, -0.060430f, -0.017296f, \r
-        -0.004827f, -0.321036f, -0.092155f, 0.038837f, 0.073190f, -0.067513f, \r
-        0.026521f, 0.171945f, 0.087318f, 0.034495f, -0.034089f, 0.154410f, \r
-        -0.061431f, 0.007435f, -0.111094f, -0.095976f, 0.014741f, -0.132324f, \r
-        -0.029517f, -0.192160f, 0.098667f, 0.020762f, 0.177050f, -0.064510f, \r
-        -0.054437f, -0.058678f, -0.001858f, 0.167602f, 0.015735f, 0.054338f, \r
-        0.016477f, 0.186381f, -0.010667f, 0.054692f, 0.126742f, 0.013140f, \r
-        0.090353f, -0.133608f, -0.018017f, -0.152619f, 0.027600f, -0.138700f, \r
-        -0.050274f, 0.045141f, -0.118731f, 0.094797f, -0.167605f, 0.097461f, \r
-        -0.009131f, 0.199920f, -0.052976f, 0.158194f, 0.178568f, -0.107600f, \r
-        0.009671f, -0.084072f, -0.040258f, -0.205673f, 0.102891f, 0.223511f, \r
-        0.042699f, 0.118548f, -0.021274f, 0.110997f, -0.155121f, 0.027696f, \r
-        -0.149968f, 0.051552f, -0.129219f, 0.173524f, 0.073972f, -0.189045f, \r
-        -0.034523f, -0.106655f, -0.011843f, -0.197381f, 0.219413f, 0.183197f, \r
-        -0.054920f, 0.144955f, 0.036517f, -0.085412f, -0.229070f, -0.143710f, \r
-        -0.049486f, 0.156634f, -0.008673f, -0.064778f, 0.082344f, 0.145673f, \r
-        0.002912f, -0.210121f, -0.116564f, 0.078425f, 0.220908f, -0.067594f, \r
-        0.048610f, 0.084912f, -0.066202f, -0.112515f, -0.217767f, -0.082640f, \r
-        -0.017414f, 0.230265f, -0.070735f, 0.066073f, 0.215256f, 0.071157f, \r
-        -0.087220f, -0.202235f, -0.011918f, 0.099562f, 0.174716f, -0.063845f, \r
-        -0.121055f, 0.014367f, 0.132709f, -0.005060f, -0.244606f, -0.179693f, \r
-        -0.134690f, 0.023239f, -0.193116f, -0.076975f, -0.021164f, -0.001938f, \r
-        -0.163799f, -0.111437f, -0.210362f, -0.166376f, 0.034754f, 0.010036f, \r
-        -0.021917f, 0.068014f, -0.086893f, -0.251746f, -0.267171f, 0.037383f, \r
-        0.003966f, 0.033571f, -0.151506f, 0.025437f, -0.020626f, -0.308454f, \r
-        -0.343143f, -0.092263f, -0.026261f, -0.028345f, 0.036036f, 0.035169f, \r
-        0.129470f, 0.122205f, 0.015661f, -0.070612f, -0.094333f, -0.066055f, \r
-        -0.041083f, 0.159146f, 0.073184f, 0.110044f, 0.174471f, 0.078069f, \r
-        -0.014881f, 0.008116f, 0.013209f, 0.075857f, 0.195605f, 0.062714f, \r
-        0.067955f, 0.056544f, -0.153908f, -0.141749f, -0.072550f, 0.033523f, \r
-        -0.024665f, 0.134487f, 0.079076f, 0.133562f, 0.227130f, 0.018054f, \r
-        0.004928f, 0.169162f, 0.065152f, 0.072160f, 0.131631f, 0.096303f, \r
-        0.054288f, 0.106256f, 0.114632f, 0.119038f, 0.515200f, 0.247429f, \r
-        0.199134f, 0.211957f, 0.127558f, -0.294684f, -0.194890f, -0.049988f, \r
-        -0.112247f, -0.008122f, -0.006176f, 0.037035f, -0.110881f, -0.249989f, \r
-        0.152434f, 0.234621f, 0.153340f, 0.349283f, 0.683049f, 0.157174f, \r
-        0.124844f, 0.099136f, 0.064407f, -0.248400f, -0.155323f, -0.026498f, \r
-        -0.023450f, 0.049051f, -0.114187f, 0.007195f, -0.176825f, -0.376926f, \r
-        0.366159f, -0.179938f, -0.148508f, 0.006043f, 0.170048f, 0.097866f, \r
-        -0.102658f, -0.260430f, 0.248868f, 0.037019f, -0.118111f, 0.078176f, \r
-        0.194171f, 0.211328f, 0.368612f, 0.361213f, 0.130013f, 0.094650f, \r
-        0.227396f, -0.178058f, -0.114782f, -0.008093f, 0.231080f, -0.011843f, \r
-        -0.097917f, -0.325788f, 0.141879f, 0.119738f, -0.230427f, -0.117419f, \r
-        -0.114153f, 0.037903f, 0.116383f, 0.218773f, -0.101884f, 0.059466f, \r
-        0.119255f, 0.010874f, -0.031449f, 0.045996f, 0.119931f, 0.273760f, \r
-        0.311700f, 0.261794f, 0.194809f, 0.339829f, 0.239449f, 0.064140f, \r
-        0.077597f, 0.098996f, 0.143534f, 0.184602f, 0.037507f, 0.225494f, \r
-        0.096142f, -0.147370f, -0.207833f, -0.174742f, -0.086391f, -0.038942f, \r
-        0.159577f, -0.088492f, -0.000989f, 0.108154f, -0.025890f, -0.072713f, \r
-        0.025997f, -0.006803f, -0.086879f, -0.011290f, -0.269200f, -0.103450f, \r
-        -0.124910f, -0.116340f, 0.141459f, 0.208800f, 0.042268f, 0.265034f, \r
-        0.516474f, 0.217591f, -0.018843f, -0.313328f, -0.168363f, 0.047129f, \r
-        0.090480f, -0.109852f, -0.018761f, 0.210669f, 0.281269f, -0.043591f, \r
-        -0.034147f, -0.237772f, -0.134843f, -0.072481f, -0.103831f, 0.038355f, \r
-        0.308619f, 0.148023f, -0.045867f, -0.123950f, -0.210860f, -0.064973f, \r
-        -0.036308f, -0.046731f, -0.022099f, 0.095776f, 0.409423f, 0.060635f, \r
-        -0.065196f, 0.051828f, 0.027981f, -0.009609f, -0.137681f, -0.095011f, \r
-        -0.019045f, 0.177278f, 0.009759f, -0.092119f, -0.016958f, -0.133860f, \r
-        -0.118421f, -0.032039f, -0.006214f, -0.084541f, 0.063971f, -0.073642f, \r
-        0.165676f, 0.110443f, 0.044131f, 0.046568f, 0.053292f, -0.055466f, \r
-        0.015512f, 0.371947f, 0.232102f, -0.016923f, 0.103979f, -0.091758f, \r
-        0.005907f, 0.209100f, 0.157433f, 0.030518f, 0.250366f, 0.062322f, \r
-        0.036720f, 0.094676f, 0.017306f, -0.010328f, -0.079012f, 0.016781f, \r
-        -0.112435f, 0.061795f, 0.042543f, -0.126799f, -0.009975f, -0.056760f, \r
-        0.046424f, -0.194712f, -0.139399f, -0.037731f, 0.157989f, -0.016261f, \r
-        0.123345f, 0.230563f, 0.083300f, -0.016392f, 0.059567f, -0.016035f, \r
-        -0.064767f, 0.231945f, 0.156629f, 0.034602f, 0.145628f, 0.041315f, \r
-        0.034535f, 0.019967f, -0.089188f, -0.012091f, 0.307857f, 0.211405f, \r
-        -0.025091f, -0.148249f, -0.129384f, 0.063536f, -0.068603f, -0.067941f, \r
-        -0.035104f, 0.210832f, 0.063810f, 0.062764f, -0.089889f, -0.030554f, \r
-        0.014791f, -0.053362f, -0.037818f, -0.196640f, 0.008388f, -0.082654f, \r
-        0.143056f, 0.064221f, 0.069795f, 0.191040f, 0.097321f, -0.028679f, \r
-        0.075794f, 0.313154f, 0.086240f, 0.207643f, 0.017809f, 0.122867f, \r
-        0.224586f, 0.167403f, -0.023884f, 0.047434f, 0.344091f, 0.187745f, \r
-        0.136177f, 0.141738f, 0.063799f, 0.045233f, -0.077342f, -0.003525f, \r
-        -0.165041f, -0.025616f, -0.073745f, 0.164439f, 0.011200f, -0.145896f, \r
-        -0.027954f, -0.061987f, -0.039874f, -0.142775f, 0.151042f, -0.038238f, \r
-        0.053152f, 0.078615f, 0.086061f, 0.100593f, 0.128046f, -0.071006f, \r
-        -0.116558f, 0.208445f, 0.051086f, 0.076843f, 0.023191f, -0.084781f, \r
-        -0.011790f, 0.147807f, -0.048554f, -0.113932f, 0.283322f, 0.190934f, \r
-        0.092789f, 0.033018f, -0.142428f, -0.142480f, -0.099023f, -0.041020f, \r
-        -0.042760f, 0.203295f, -0.053475f, 0.042424f, 0.222839f, -0.019167f, \r
-        -0.133176f, -0.276216f, -0.031998f, 0.117290f, 0.177827f, -0.059973f, \r
-        -0.064744f, -0.117040f, -0.155482f, -0.099531f, 0.164121f, -0.026682f, \r
-        -0.093810f, 0.238993f, -0.006506f, 0.007830f, 0.065819f, -0.203643f, \r
-        -0.100925f, -0.053652f, -0.130770f, 0.026277f, 0.131796f, 0.032742f, \r
-        0.127186f, 0.116694f, -0.161122f, -0.279773f, -0.252515f, -0.002638f, \r
-        0.042812f, 0.096776f, -0.123280f, 0.064858f, -0.010455f, -0.219760f, \r
-        -0.239331f, -0.104363f, -0.058022f, -0.053584f, 0.025611f, 0.005129f, \r
-        -0.100418f, -0.045712f, -0.194418f, -0.126366f, -0.030530f, 0.051168f, \r
-        0.215959f, 0.172402f, -0.054700f, -0.185995f, -0.278360f, -0.193693f, \r
-        -0.040309f, 0.003735f, -0.007770f, 0.123556f, 0.190179f, -0.077315f, \r
-        0.117403f, 0.212942f, 0.012160f, 0.000113f, 0.027331f, 0.040202f, \r
-        0.033293f, 0.219438f, 0.184174f, 0.259349f, 0.311206f, 0.082547f, \r
-        -0.047875f, -0.078417f, 0.010746f, 0.082620f, 0.311931f, 0.307605f, \r
-        0.003863f, 0.021405f, -0.026388f, -0.019572f, 0.020582f, -0.059353f, \r
-        0.025199f, 0.261319f, 0.086316f, 0.143614f, 0.107780f, 0.003900f, \r
-        -0.188397f, -0.038563f, -0.106045f, -0.125154f, -0.010509f, 0.054021f, \r
-        0.242130f, 0.279152f, 0.215546f, 0.346995f, 0.440856f, 0.237452f, \r
-        0.234154f, 0.301646f, 0.168929f, -0.208358f, -0.126848f, 0.010260f, \r
-        0.121018f, -0.062975f, -0.052848f, 0.050341f, -0.061103f, -0.266482f, \r
-        0.107186f, 0.140221f, 0.280065f, 0.287889f, 0.373198f, 0.151596f, \r
-        0.013593f, 0.115616f, 0.014616f, -0.281710f, -0.237597f, -0.117305f, \r
-        -0.000034f, -0.136739f, -0.196275f, -0.095225f, -0.125310f, -0.250514f, \r
-        0.236804f, -0.071805f, -0.037421f, 0.048230f, 0.321596f, 0.063632f, \r
-        0.024039f, -0.029133f, 0.230983f, 0.160593f, -0.154355f, -0.013086f, \r
-        -0.079929f, 0.094692f, 0.160391f, 0.180239f, 0.053895f, 0.100759f, \r
-        0.288631f, 0.038191f, 0.181692f, 0.229682f, 0.440166f, 0.063401f, \r
-        0.006273f, 0.020865f, 0.338695f, 0.256244f, -0.043927f, 0.115617f, \r
-        0.003296f, 0.173965f, 0.021318f, -0.040936f, -0.118932f, 0.182380f, \r
-        0.235922f, -0.053233f, -0.015053f, -0.101057f, 0.095341f, 0.051111f, \r
-        0.161831f, 0.032614f, 0.159496f, 0.072375f, 0.025089f, 0.023748f, \r
-        0.029151f, 0.161284f, -0.117717f, -0.036191f, -0.176822f, -0.162006f, \r
-        0.226542f, -0.078329f, 0.043079f, -0.119172f, 0.054614f, -0.101365f, \r
-        -0.064541f, -0.115304f, 0.135170f, 0.298872f, 0.098060f, 0.089428f, \r
-        -0.007497f, 0.110391f, -0.028824f, 0.020835f, -0.036804f, 0.125411f, \r
-        0.192105f, -0.048931f, 0.003086f, -0.010681f, 0.074698f, -0.016263f, \r
-        0.096063f, 0.060267f, -0.007277f, 0.139139f, -0.080635f, 0.036628f, \r
-        0.086058f, 0.131979f, 0.085707f, 0.025301f, 0.226094f, 0.194759f, \r
-        0.042193f, -0.157846f, -0.068402f, -0.141450f, -0.112659f, -0.076305f, \r
-        -0.069085f, -0.114332f, -0.102005f, 0.132193f, -0.067042f, 0.106643f, \r
-        0.198964f, 0.171616f, 0.167237f, -0.033730f, -0.026755f, 0.083621f, \r
-        0.149459f, -0.002799f, -0.000318f, 0.011753f, 0.065889f, -0.089375f, \r
-        -0.049610f, 0.224579f, 0.216548f, -0.034908f, -0.017851f, -0.088144f, \r
-        0.007530f, 0.240268f, 0.073270f, 0.013263f, 0.175323f, 0.012082f, \r
-        0.093993f, 0.015282f, 0.105854f, 0.107990f, 0.077798f, -0.096166f, \r
-        -0.079607f, 0.177820f, 0.142392f, 0.033337f, -0.078100f, -0.081616f, \r
-        -0.046993f, 0.139459f, 0.020272f, -0.123161f, 0.175269f, 0.105217f, \r
-        0.057328f, 0.080909f, -0.012612f, -0.097081f, 0.082060f, -0.096716f, \r
-        -0.063921f, 0.201884f, 0.128166f, -0.035051f, -0.032227f, -0.068139f, \r
-        -0.115915f, 0.095080f, -0.086007f, -0.067543f, 0.030776f, 0.032712f, \r
-        0.088937f, 0.054336f, -0.039329f, -0.114022f, 0.171672f, -0.112321f, \r
-        -0.217646f, 0.065186f, 0.060223f, 0.192174f, 0.055580f, -0.131107f, \r
-        -0.144338f, 0.056730f, -0.034707f, -0.081616f, -0.135298f, -0.000614f, \r
-        0.087189f, 0.014614f, 0.067709f, 0.107689f, 0.225780f, 0.084361f, \r
-        -0.008544f, 0.051649f, -0.048369f, -0.037739f, -0.060710f, 0.002654f, \r
-        0.016935f, 0.085563f, -0.015961f, -0.019265f, 0.111788f, 0.062376f, \r
-        0.202019f, 0.047713f, 0.042261f, 0.069716f, 0.242913f, 0.021052f, \r
-        -0.072812f, -0.155920f, -0.026436f, 0.035621f, -0.079300f, -0.028787f, \r
-        -0.048329f, 0.084718f, -0.060565f, -0.083750f, -0.164075f, -0.040742f, \r
-        -0.086219f, 0.015271f, -0.005204f, -0.016038f, 0.045816f, -0.050433f, \r
-        -0.077652f, 0.117109f, 0.009611f, -0.009045f, -0.008634f, -0.055373f, \r
-        -0.085968f, 0.028527f, -0.054736f, -0.168089f, 0.175839f, 0.071205f, \r
-        -0.023603f, 0.037907f, -0.004561f, -0.022634f, 0.123831f, 0.094469f, \r
-        -0.072920f, -0.133642f, -0.014032f, -0.142754f, -0.026999f, -0.199409f, \r
-        0.013268f, 0.226989f, 0.048650f, -0.170988f, -0.050141f, 0.007880f, \r
-        0.061880f, 0.019078f, -0.043578f, -0.038139f, 0.134814f, 0.054097f, \r
-        -0.081670f, 0.176838f, 0.047920f, -0.038176f, 0.050406f, -0.107181f, \r
-        -0.036279f, 0.027060f, 0.081594f, -0.002820f, 0.090507f, -0.033338f, \r
-        -0.059571f, 0.013404f, -0.099860f, 0.073371f, 0.342805f, 0.098305f, \r
-        -0.150910f, -0.020822f, -0.056960f, 0.046262f, -0.043413f, -0.149405f, \r
-        -0.129105f, -0.010899f, -0.014229f, -0.179949f, -0.113044f, -0.049468f, \r
-        -0.065513f, 0.090269f, -0.011919f, 0.087846f, 0.095796f, 0.146127f, \r
-        0.101599f, 0.078066f, -0.084348f, -0.100002f, -0.020134f, -0.050169f, \r
-        0.062122f, 0.014640f, 0.019143f, 0.036543f, 0.180924f, -0.013976f, \r
-        -0.066768f, -0.001090f, -0.070419f, -0.004839f, -0.001504f, 0.034483f, \r
-        -0.044954f, -0.050336f, -0.088638f, -0.174782f, -0.116082f, -0.205507f, \r
-        0.015587f, -0.042839f, -0.096879f, -0.144097f, -0.050268f, -0.196796f, \r
-        0.109639f, 0.271411f, 0.173732f, 0.108070f, 0.156437f, 0.124255f, \r
-        0.097242f, 0.238693f, 0.083941f, 0.109105f, 0.223940f, 0.267188f, \r
-        0.027385f, 0.025819f, 0.125070f, 0.093738f, 0.040353f, 0.038645f, \r
-        -0.012730f, 0.144063f, 0.052931f, -0.009138f, 0.084193f, 0.160272f, \r
-        -0.041366f, 0.011951f, -0.121446f, -0.106713f, -0.047566f, 0.047984f, \r
-        -0.255224f, -0.076116f, 0.098685f, -0.150845f, -0.171513f, -0.156590f, \r
-        0.058331f, 0.187493f, 0.413018f, 0.554265f, 0.372242f, 0.237943f, \r
-        0.124571f, 0.110829f, 0.010322f, -0.174477f, -0.067627f, -0.001979f, \r
-        0.142913f, 0.040597f, 0.019907f, 0.025963f, -0.043585f, -0.120732f, \r
-        0.099937f, 0.091059f, 0.247307f, 0.204226f, -0.042753f, -0.068580f, \r
-        -0.119002f, 0.026722f, 0.034853f, -0.060934f, -0.025054f, -0.093026f, \r
-        -0.035372f, -0.233209f, -0.049869f, -0.039151f, -0.022279f, -0.065380f, \r
+        0.294350f, -0.098796f, -0.129522f, 0.078753f, 0.387527f, 0.261529f,\r
+        0.145939f, 0.061520f, 0.328699f, 0.227148f, -0.066467f, -0.086723f,\r
+        0.047559f, 0.106714f, 0.037897f, 0.111461f, -0.024406f, 0.304769f,\r
+        0.254676f, -0.069235f, 0.082566f, 0.147260f, 0.326969f, 0.148888f,\r
+        0.055270f, -0.087985f, 0.261720f, 0.143442f, 0.026812f, 0.238212f,\r
+        0.194020f, 0.056341f, -0.025854f, -0.034444f, -0.156631f, 0.205174f,\r
+        0.089008f, -0.139811f, -0.100147f, -0.037830f, -0.029230f, -0.055641f,\r
+        0.033248f, -0.016512f, 0.155244f, 0.247315f, -0.124694f, -0.048414f,\r
+        -0.062219f, 0.193683f, 0.004574f, 0.055089f, 0.093565f, 0.167712f,\r
+        0.167581f, 0.018895f, 0.215258f, 0.122609f, 0.090520f, -0.067219f,\r
+        -0.049029f, -0.099615f, 0.241804f, -0.094893f, -0.176248f, 0.001727f,\r
+        -0.134473f, 0.104442f, 0.050942f, 0.081165f, 0.072156f, 0.121646f,\r
+        0.002656f, -0.297974f, -0.133587f, -0.060121f, -0.092515f, -0.048974f,\r
+        -0.084754f, -0.180111f, -0.038590f, 0.086283f, -0.134636f, -0.107249f,\r
+        0.132890f, 0.141556f, 0.249425f, 0.130273f, -0.030031f, 0.073212f,\r
+        -0.008155f, 0.019931f, 0.071688f, 0.000300f, -0.019525f, -0.021725f,\r
+        -0.040993f, -0.086841f, 0.070124f, 0.240033f, 0.265350f, 0.043208f,\r
+        0.166754f, 0.091453f, 0.060916f, -0.036972f, -0.091043f, 0.079873f,\r
+        0.219781f, 0.158102f, -0.140618f, -0.043016f, 0.124802f, 0.093668f,\r
+        0.103208f, 0.094872f, 0.080541f, 0.137711f, 0.160566f, -0.169231f,\r
+        0.013983f, 0.309508f, -0.004217f, -0.057200f, -0.064489f, 0.014066f,\r
+        0.361009f, 0.251328f, -0.080983f, -0.044183f, 0.061436f, -0.037381f,\r
+        -0.078786f, 0.030993f, 0.066314f, 0.037683f, 0.152325f, -0.091683f,\r
+        0.070203f, 0.217856f, 0.036435f, -0.076462f, 0.006254f, -0.094431f,\r
+        0.154829f, -0.023038f, -0.196961f, -0.024594f, 0.178465f, -0.050139f,\r
+        -0.045932f, -0.000965f, 0.109112f, 0.046165f, -0.159373f, -0.008713f,\r
+        0.041307f, 0.097129f, -0.057211f, -0.064599f, 0.077165f, 0.176167f,\r
+        0.138322f, 0.065753f, -0.104950f, 0.017933f, 0.136255f, -0.011598f,\r
+        0.047007f, 0.080550f, 0.068619f, 0.084661f, -0.035493f, -0.091314f,\r
+        -0.041411f, 0.060971f, -0.101912f, -0.079870f, -0.085977f, -0.022686f,\r
+        0.079788f, -0.098064f, -0.054603f, 0.040383f, 0.300794f, 0.128603f,\r
+        0.094844f, 0.047407f, 0.101825f, 0.061832f, -0.162160f, -0.204553f,\r
+        -0.035165f, 0.101450f, -0.016641f, -0.027140f, -0.134392f, -0.008743f,\r
+        0.102331f, 0.114853f, 0.009644f, 0.062823f, 0.237339f, 0.167843f,\r
+        0.053066f, -0.012592f, 0.043158f, 0.002305f, 0.065001f, -0.038929f,\r
+        -0.020356f, 0.152343f, 0.043469f, -0.029967f, -0.042948f, 0.032481f,\r
+        0.068488f, -0.110840f, -0.111083f, 0.111980f, -0.002072f, -0.005562f,\r
+        0.082926f, 0.006635f, -0.108153f, 0.024242f, -0.086464f, -0.189884f,\r
+        -0.017492f, 0.191456f, -0.007683f, -0.128769f, -0.038017f, -0.132380f,\r
+        0.091926f, 0.079696f, -0.106728f, -0.007656f, 0.172744f, 0.011576f,\r
+        0.009883f, 0.083258f, -0.026516f, 0.145534f, 0.153924f, -0.130290f,\r
+        -0.108945f, 0.124490f, -0.003186f, -0.100485f, 0.015024f, -0.060512f,\r
+        0.026288f, -0.086713f, -0.169012f, 0.076517f, 0.215778f, 0.043701f,\r
+        -0.131642f, -0.012585f, -0.045181f, -0.118183f, -0.241544f, -0.167293f,\r
+        -0.020107f, -0.019917f, -0.101827f, -0.107096f, -0.010503f, 0.044938f,\r
+        0.189680f, 0.217119f, -0.046086f, 0.044508f, 0.199716f, -0.036004f,\r
+        -0.148927f, 0.013355f, -0.078279f, 0.030451f, 0.056301f, -0.024609f,\r
+        0.083224f, 0.099533f, -0.039432f, -0.138880f, 0.005482f, -0.024120f,\r
+        -0.140468f, -0.066381f, -0.017057f, 0.009260f, -0.058004f, -0.028486f,\r
+        -0.061610f, 0.007483f, -0.158309f, -0.150687f, -0.044595f, -0.105121f,\r
+        -0.045763f, -0.006618f, -0.024419f, -0.117713f, -0.119366f, -0.175941f,\r
+        -0.071542f, 0.119027f, 0.111362f, 0.043080f, 0.034889f, 0.093003f,\r
+        0.007842f, 0.057368f, -0.108834f, -0.079968f, 0.230959f, 0.020205f,\r
+        0.011470f, 0.098877f, 0.101310f, -0.030215f, -0.018018f, -0.059552f,\r
+        -0.106157f, 0.021866f, -0.036471f, 0.080051f, 0.041165f, -0.082101f,\r
+        0.117726f, 0.030961f, -0.054763f, -0.084102f, -0.185778f, -0.061305f,\r
+        -0.038089f, -0.110728f, -0.264010f, 0.076675f, -0.077111f, -0.137644f,\r
+        0.036232f, 0.277995f, 0.019116f, 0.107738f, 0.144003f, 0.080304f,\r
+        0.215036f, 0.228897f, 0.072713f, 0.077773f, 0.120168f, 0.075324f,\r
+        0.062730f, 0.122478f, -0.049008f, 0.164912f, 0.162450f, 0.041246f,\r
+        0.009891f, -0.097827f, -0.038700f, -0.023027f, -0.120020f, 0.203364f,\r
+        0.248474f, 0.149810f, -0.036276f, -0.082814f, -0.090343f, -0.027143f,\r
+        -0.075689f, -0.320310f, -0.000500f, -0.143334f, -0.065077f, -0.186936f,\r
+        0.129372f, 0.116431f, 0.181699f, 0.170436f, 0.418854f, 0.460045f,\r
+        0.333719f, 0.230515f, 0.047822f, -0.044954f, -0.068086f, 0.140179f,\r
+        -0.044821f, 0.085550f, 0.092483f, -0.107296f, -0.130670f, -0.206629f,\r
+        0.114601f, -0.317869f, -0.076663f, 0.038680f, 0.212753f, -0.016059f,\r
+        -0.126526f, -0.163602f, 0.210154f, 0.099887f, -0.126366f, 0.118453f,\r
+        0.019309f, -0.021611f, -0.096499f, -0.111809f, -0.200489f, 0.142854f,\r
+        0.228840f, -0.353346f, -0.179151f, 0.116834f, 0.252389f, -0.031728f,\r
+        -0.188135f, -0.158998f, 0.386523f, 0.122315f, 0.209944f, 0.394023f,\r
+        0.359030f, 0.260717f, 0.170335f, 0.013683f, -0.142596f, -0.026138f,\r
+        -0.011878f, -0.150519f, 0.047159f, -0.107062f, -0.147347f, -0.187689f,\r
+        -0.186027f, -0.208048f, 0.058468f, -0.073026f, -0.236556f, -0.079788f,\r
+        -0.146216f, -0.058563f, -0.101361f, -0.071294f, -0.071093f, 0.116919f,\r
+        0.234304f, 0.306781f, 0.321866f, 0.240000f, 0.073261f, -0.012173f,\r
+        0.026479f, 0.050173f, 0.166127f, 0.228955f, 0.061905f, 0.156460f,\r
+        0.205990f, 0.120672f, 0.037350f, 0.167884f, 0.290099f, 0.420900f,\r
+        -0.012601f, 0.189839f, 0.306378f, 0.118383f, -0.095598f, -0.072360f,\r
+        -0.132496f, -0.224259f, -0.126021f, 0.022714f, 0.284039f, 0.051369f,\r
+        -0.000927f, -0.058735f, -0.083354f, -0.141254f, -0.187578f, -0.202669f,\r
+        0.048902f, 0.246597f, 0.441863f, 0.342519f, 0.066979f, 0.215286f,\r
+        0.188191f, -0.072240f, -0.208142f, -0.030196f, 0.178141f, 0.136985f,\r
+        -0.043374f, -0.181098f, 0.091815f, 0.116177f, -0.126690f, -0.386625f,\r
+        0.368165f, 0.269149f, -0.088042f, -0.028823f, 0.092961f, 0.024099f,\r
+        0.046112f, 0.176756f, 0.135849f, 0.124955f, 0.195467f, -0.037218f,\r
+        0.167217f, 0.188938f, 0.053528f, -0.066561f, 0.133721f, -0.070565f,\r
+        0.115898f, 0.152435f, -0.116993f, -0.110592f, -0.179005f, 0.026668f,\r
+        0.080530f, 0.075084f, -0.070401f, 0.012497f, 0.021849f, -0.139764f,\r
+        -0.022020f, -0.096301f, -0.064954f, -0.127446f, -0.013806f, -0.108315f,\r
+        0.156285f, 0.149867f, -0.011382f, 0.064532f, 0.029168f, 0.027393f,\r
+        0.069716f, 0.153735f, 0.038459f, 0.230714f, 0.253840f, 0.059522f,\r
+        -0.045053f, 0.014083f, 0.071103f, 0.068747f, 0.095887f, 0.005832f,\r
+        0.144887f, 0.026357f, -0.067359f, -0.044151f, -0.123283f, -0.019911f,\r
+        0.005318f, 0.109208f, -0.003201f, -0.021734f, 0.142025f, -0.066907f,\r
+        -0.120070f, -0.188639f, 0.012472f, -0.048704f, -0.012366f, -0.184828f,\r
+        0.168591f, 0.267166f, 0.058208f, -0.044101f, 0.033500f, 0.178558f,\r
+        0.104550f, 0.122418f, 0.080177f, 0.173246f, 0.298537f, 0.064173f,\r
+        0.053397f, 0.174341f, 0.230984f, 0.117025f, 0.166242f, 0.227781f,\r
+        0.120623f, 0.176952f, -0.011393f, -0.086483f, -0.008270f, 0.051700f,\r
+        -0.153369f, -0.058837f, -0.057639f, -0.060115f, 0.026349f, -0.160745f,\r
+        -0.037894f, -0.048575f, 0.041052f, -0.022112f, 0.060365f, 0.051906f,\r
+        0.162657f, 0.138519f, -0.050185f, -0.005938f, 0.071301f, 0.127686f,\r
+        0.062342f, 0.144400f, 0.072600f, 0.198436f, 0.246219f, -0.078185f,\r
+        -0.036169f, 0.075934f, 0.047328f, -0.013601f, 0.087205f, 0.019900f,\r
+        0.022606f, -0.015365f, -0.092506f, 0.075275f, -0.116375f, 0.050500f,\r
+        0.045118f, 0.166567f, 0.072073f, 0.060371f, 0.131747f, -0.169863f,\r
+        -0.039352f, -0.047486f, -0.039797f, -0.204312f, 0.021710f, 0.129443f,\r
+        -0.021173f, 0.173416f, -0.070794f, -0.063986f, 0.069689f, -0.064099f,\r
+        -0.123201f, -0.017372f, -0.206870f, 0.065863f, 0.113226f, 0.024707f,\r
+        -0.071341f, -0.066964f, -0.098278f, -0.062927f, 0.075840f, 0.014716f,\r
+        0.019378f, 0.132699f, -0.074191f, -0.089557f, -0.078446f, -0.197488f,\r
+        -0.173665f, 0.052583f, 0.044361f, 0.113549f, 0.098492f, 0.077379f,\r
+        -0.011146f, -0.192593f, -0.164435f, 0.045568f, 0.205699f, 0.049187f,\r
+        -0.082281f, 0.134874f, 0.185499f, 0.034968f, -0.119561f, -0.112372f,\r
+        -0.115091f, -0.054042f, -0.183816f, -0.078100f, 0.190695f, 0.091617f,\r
+        0.004257f, -0.041135f, -0.061453f, -0.141592f, -0.194809f, -0.120638f,\r
+        0.020168f, 0.109672f, 0.067398f, -0.015238f, -0.239145f, -0.264671f,\r
+        -0.185176f, 0.050472f, 0.020793f, 0.035678f, 0.022839f, -0.052055f,\r
+        -0.127968f, -0.113049f, -0.228416f, -0.258281f, -0.053437f, 0.076424f,\r
+        0.061450f, 0.237478f, 0.003618f, -0.055865f, -0.108087f, -0.028937f,\r
+        0.045585f, 0.052829f, -0.001471f, 0.022826f, 0.059565f, -0.104430f,\r
+        -0.077266f, -0.211882f, -0.212078f, 0.028074f, 0.075846f, 0.016265f,\r
+        0.161879f, 0.134477f, 0.008935f, -0.048041f, 0.074692f, 0.004928f,\r
+        -0.025156f, 0.192874f, 0.074410f, 0.308732f, 0.267400f, 0.094208f,\r
+        -0.005251f, 0.042041f, -0.032148f, 0.015588f, 0.252869f, 0.175302f,\r
+        0.022892f, 0.081673f, 0.063208f, 0.162626f, 0.194426f, 0.233890f,\r
+        0.262292f, 0.186930f, 0.084079f, -0.286388f, -0.213034f, -0.048867f,\r
+        -0.207669f, -0.170050f, 0.011673f, -0.092958f, -0.192786f, -0.273536f,\r
+        0.230904f, 0.266732f, 0.320519f, 0.297155f, 0.548169f, 0.304922f,\r
+        0.132687f, 0.247333f, 0.212488f, -0.271472f, -0.142105f, -0.002627f,\r
+        -0.119215f, 0.128383f, 0.100079f, -0.057490f, -0.121902f, -0.228892f,\r
+        0.202292f, -0.399795f, -0.371326f, -0.095836f, -0.063626f, -0.161375f,\r
+        -0.311180f, -0.294797f, 0.242122f, 0.011788f, 0.095573f, 0.322523f,\r
+        0.511840f, 0.322880f, 0.313259f, 0.173331f, 0.002542f, -0.029802f,\r
+        0.324766f, -0.326170f, -0.340547f, -0.138288f, -0.002963f, -0.114060f,\r
+        -0.377312f, -0.442570f, 0.212446f, -0.007759f, -0.011576f, 0.169711f,\r
+        0.308689f, 0.317348f, 0.539390f, 0.332845f, 0.057331f, -0.068180f,\r
+        0.101994f, 0.266995f, 0.209570f, 0.355730f, 0.091635f, 0.170238f,\r
+        0.125215f, 0.274154f, 0.070223f, 0.025515f, 0.049946f, -0.000550f,\r
+        0.043715f, -0.141843f, 0.020844f, 0.129871f, 0.256588f, 0.105015f,\r
+        0.148339f, 0.170682f, 0.028792f, 0.074037f, 0.160042f, 0.405137f,\r
+        0.246187f, 0.352160f, 0.168951f, 0.222263f, 0.264439f, 0.065945f,\r
+        0.021963f, -0.075084f, 0.093105f, 0.027318f, 0.098864f, 0.057566f,\r
+        -0.080282f, 0.185032f, 0.314419f, 0.333727f, 0.125798f, 0.294919f,\r
+        0.386002f, 0.217619f, -0.183517f, -0.278622f, -0.002342f, -0.027821f,\r
+        -0.134266f, -0.331843f, -0.008296f, 0.124564f, 0.053712f, -0.369016f,\r
+        -0.095036f, 0.209381f, 0.423760f, 0.371760f, 0.106397f, 0.369408f,\r
+        0.485608f, 0.231201f, -0.138685f, -0.349208f, -0.070083f, 0.028991f,\r
+        -0.081630f, -0.395992f, -0.146791f, -0.027354f, 0.063396f, -0.272484f,\r
+        0.058299f, 0.338207f, 0.110767f, -0.052642f, -0.233848f, -0.027448f,\r
+        0.030328f, 0.155572f, -0.093826f, 0.019331f, 0.120638f, 0.006292f,\r
+        -0.106083f, -0.236290f, -0.140933f, -0.088067f, -0.025138f, -0.208395f,\r
+        -0.025502f, 0.144192f, -0.048353f, -0.106144f, -0.305121f, -0.114147f,\r
+        0.090963f, 0.327727f, 0.035606f, -0.093779f, 0.002651f, -0.171081f,\r
+        -0.188131f, -0.216571f, -0.209101f, -0.054402f, 0.157147f, -0.057127f,\r
+        0.066584f, 0.008988f, 0.041191f, 0.034456f, -0.078255f, 0.052099f,\r
+        -0.022239f, 0.066981f, -0.117520f, -0.072637f, 0.062512f, 0.037570f,\r
+        -0.057544f, -0.312359f, 0.034357f, -0.031549f, 0.002566f, -0.207375f,\r
+        -0.070654f, -0.018786f, -0.044815f, -0.012814f, -0.076320f, 0.078183f,\r
+        0.023877f, 0.117078f, 0.022292f, -0.205424f, -0.060430f, -0.017296f,\r
+        -0.004827f, -0.321036f, -0.092155f, 0.038837f, 0.073190f, -0.067513f,\r
+        0.026521f, 0.171945f, 0.087318f, 0.034495f, -0.034089f, 0.154410f,\r
+        -0.061431f, 0.007435f, -0.111094f, -0.095976f, 0.014741f, -0.132324f,\r
+        -0.029517f, -0.192160f, 0.098667f, 0.020762f, 0.177050f, -0.064510f,\r
+        -0.054437f, -0.058678f, -0.001858f, 0.167602f, 0.015735f, 0.054338f,\r
+        0.016477f, 0.186381f, -0.010667f, 0.054692f, 0.126742f, 0.013140f,\r
+        0.090353f, -0.133608f, -0.018017f, -0.152619f, 0.027600f, -0.138700f,\r
+        -0.050274f, 0.045141f, -0.118731f, 0.094797f, -0.167605f, 0.097461f,\r
+        -0.009131f, 0.199920f, -0.052976f, 0.158194f, 0.178568f, -0.107600f,\r
+        0.009671f, -0.084072f, -0.040258f, -0.205673f, 0.102891f, 0.223511f,\r
+        0.042699f, 0.118548f, -0.021274f, 0.110997f, -0.155121f, 0.027696f,\r
+        -0.149968f, 0.051552f, -0.129219f, 0.173524f, 0.073972f, -0.189045f,\r
+        -0.034523f, -0.106655f, -0.011843f, -0.197381f, 0.219413f, 0.183197f,\r
+        -0.054920f, 0.144955f, 0.036517f, -0.085412f, -0.229070f, -0.143710f,\r
+        -0.049486f, 0.156634f, -0.008673f, -0.064778f, 0.082344f, 0.145673f,\r
+        0.002912f, -0.210121f, -0.116564f, 0.078425f, 0.220908f, -0.067594f,\r
+        0.048610f, 0.084912f, -0.066202f, -0.112515f, -0.217767f, -0.082640f,\r
+        -0.017414f, 0.230265f, -0.070735f, 0.066073f, 0.215256f, 0.071157f,\r
+        -0.087220f, -0.202235f, -0.011918f, 0.099562f, 0.174716f, -0.063845f,\r
+        -0.121055f, 0.014367f, 0.132709f, -0.005060f, -0.244606f, -0.179693f,\r
+        -0.134690f, 0.023239f, -0.193116f, -0.076975f, -0.021164f, -0.001938f,\r
+        -0.163799f, -0.111437f, -0.210362f, -0.166376f, 0.034754f, 0.010036f,\r
+        -0.021917f, 0.068014f, -0.086893f, -0.251746f, -0.267171f, 0.037383f,\r
+        0.003966f, 0.033571f, -0.151506f, 0.025437f, -0.020626f, -0.308454f,\r
+        -0.343143f, -0.092263f, -0.026261f, -0.028345f, 0.036036f, 0.035169f,\r
+        0.129470f, 0.122205f, 0.015661f, -0.070612f, -0.094333f, -0.066055f,\r
+        -0.041083f, 0.159146f, 0.073184f, 0.110044f, 0.174471f, 0.078069f,\r
+        -0.014881f, 0.008116f, 0.013209f, 0.075857f, 0.195605f, 0.062714f,\r
+        0.067955f, 0.056544f, -0.153908f, -0.141749f, -0.072550f, 0.033523f,\r
+        -0.024665f, 0.134487f, 0.079076f, 0.133562f, 0.227130f, 0.018054f,\r
+        0.004928f, 0.169162f, 0.065152f, 0.072160f, 0.131631f, 0.096303f,\r
+        0.054288f, 0.106256f, 0.114632f, 0.119038f, 0.515200f, 0.247429f,\r
+        0.199134f, 0.211957f, 0.127558f, -0.294684f, -0.194890f, -0.049988f,\r
+        -0.112247f, -0.008122f, -0.006176f, 0.037035f, -0.110881f, -0.249989f,\r
+        0.152434f, 0.234621f, 0.153340f, 0.349283f, 0.683049f, 0.157174f,\r
+        0.124844f, 0.099136f, 0.064407f, -0.248400f, -0.155323f, -0.026498f,\r
+        -0.023450f, 0.049051f, -0.114187f, 0.007195f, -0.176825f, -0.376926f,\r
+        0.366159f, -0.179938f, -0.148508f, 0.006043f, 0.170048f, 0.097866f,\r
+        -0.102658f, -0.260430f, 0.248868f, 0.037019f, -0.118111f, 0.078176f,\r
+        0.194171f, 0.211328f, 0.368612f, 0.361213f, 0.130013f, 0.094650f,\r
+        0.227396f, -0.178058f, -0.114782f, -0.008093f, 0.231080f, -0.011843f,\r
+        -0.097917f, -0.325788f, 0.141879f, 0.119738f, -0.230427f, -0.117419f,\r
+        -0.114153f, 0.037903f, 0.116383f, 0.218773f, -0.101884f, 0.059466f,\r
+        0.119255f, 0.010874f, -0.031449f, 0.045996f, 0.119931f, 0.273760f,\r
+        0.311700f, 0.261794f, 0.194809f, 0.339829f, 0.239449f, 0.064140f,\r
+        0.077597f, 0.098996f, 0.143534f, 0.184602f, 0.037507f, 0.225494f,\r
+        0.096142f, -0.147370f, -0.207833f, -0.174742f, -0.086391f, -0.038942f,\r
+        0.159577f, -0.088492f, -0.000989f, 0.108154f, -0.025890f, -0.072713f,\r
+        0.025997f, -0.006803f, -0.086879f, -0.011290f, -0.269200f, -0.103450f,\r
+        -0.124910f, -0.116340f, 0.141459f, 0.208800f, 0.042268f, 0.265034f,\r
+        0.516474f, 0.217591f, -0.018843f, -0.313328f, -0.168363f, 0.047129f,\r
+        0.090480f, -0.109852f, -0.018761f, 0.210669f, 0.281269f, -0.043591f,\r
+        -0.034147f, -0.237772f, -0.134843f, -0.072481f, -0.103831f, 0.038355f,\r
+        0.308619f, 0.148023f, -0.045867f, -0.123950f, -0.210860f, -0.064973f,\r
+        -0.036308f, -0.046731f, -0.022099f, 0.095776f, 0.409423f, 0.060635f,\r
+        -0.065196f, 0.051828f, 0.027981f, -0.009609f, -0.137681f, -0.095011f,\r
+        -0.019045f, 0.177278f, 0.009759f, -0.092119f, -0.016958f, -0.133860f,\r
+        -0.118421f, -0.032039f, -0.006214f, -0.084541f, 0.063971f, -0.073642f,\r
+        0.165676f, 0.110443f, 0.044131f, 0.046568f, 0.053292f, -0.055466f,\r
+        0.015512f, 0.371947f, 0.232102f, -0.016923f, 0.103979f, -0.091758f,\r
+        0.005907f, 0.209100f, 0.157433f, 0.030518f, 0.250366f, 0.062322f,\r
+        0.036720f, 0.094676f, 0.017306f, -0.010328f, -0.079012f, 0.016781f,\r
+        -0.112435f, 0.061795f, 0.042543f, -0.126799f, -0.009975f, -0.056760f,\r
+        0.046424f, -0.194712f, -0.139399f, -0.037731f, 0.157989f, -0.016261f,\r
+        0.123345f, 0.230563f, 0.083300f, -0.016392f, 0.059567f, -0.016035f,\r
+        -0.064767f, 0.231945f, 0.156629f, 0.034602f, 0.145628f, 0.041315f,\r
+        0.034535f, 0.019967f, -0.089188f, -0.012091f, 0.307857f, 0.211405f,\r
+        -0.025091f, -0.148249f, -0.129384f, 0.063536f, -0.068603f, -0.067941f,\r
+        -0.035104f, 0.210832f, 0.063810f, 0.062764f, -0.089889f, -0.030554f,\r
+        0.014791f, -0.053362f, -0.037818f, -0.196640f, 0.008388f, -0.082654f,\r
+        0.143056f, 0.064221f, 0.069795f, 0.191040f, 0.097321f, -0.028679f,\r
+        0.075794f, 0.313154f, 0.086240f, 0.207643f, 0.017809f, 0.122867f,\r
+        0.224586f, 0.167403f, -0.023884f, 0.047434f, 0.344091f, 0.187745f,\r
+        0.136177f, 0.141738f, 0.063799f, 0.045233f, -0.077342f, -0.003525f,\r
+        -0.165041f, -0.025616f, -0.073745f, 0.164439f, 0.011200f, -0.145896f,\r
+        -0.027954f, -0.061987f, -0.039874f, -0.142775f, 0.151042f, -0.038238f,\r
+        0.053152f, 0.078615f, 0.086061f, 0.100593f, 0.128046f, -0.071006f,\r
+        -0.116558f, 0.208445f, 0.051086f, 0.076843f, 0.023191f, -0.084781f,\r
+        -0.011790f, 0.147807f, -0.048554f, -0.113932f, 0.283322f, 0.190934f,\r
+        0.092789f, 0.033018f, -0.142428f, -0.142480f, -0.099023f, -0.041020f,\r
+        -0.042760f, 0.203295f, -0.053475f, 0.042424f, 0.222839f, -0.019167f,\r
+        -0.133176f, -0.276216f, -0.031998f, 0.117290f, 0.177827f, -0.059973f,\r
+        -0.064744f, -0.117040f, -0.155482f, -0.099531f, 0.164121f, -0.026682f,\r
+        -0.093810f, 0.238993f, -0.006506f, 0.007830f, 0.065819f, -0.203643f,\r
+        -0.100925f, -0.053652f, -0.130770f, 0.026277f, 0.131796f, 0.032742f,\r
+        0.127186f, 0.116694f, -0.161122f, -0.279773f, -0.252515f, -0.002638f,\r
+        0.042812f, 0.096776f, -0.123280f, 0.064858f, -0.010455f, -0.219760f,\r
+        -0.239331f, -0.104363f, -0.058022f, -0.053584f, 0.025611f, 0.005129f,\r
+        -0.100418f, -0.045712f, -0.194418f, -0.126366f, -0.030530f, 0.051168f,\r
+        0.215959f, 0.172402f, -0.054700f, -0.185995f, -0.278360f, -0.193693f,\r
+        -0.040309f, 0.003735f, -0.007770f, 0.123556f, 0.190179f, -0.077315f,\r
+        0.117403f, 0.212942f, 0.012160f, 0.000113f, 0.027331f, 0.040202f,\r
+        0.033293f, 0.219438f, 0.184174f, 0.259349f, 0.311206f, 0.082547f,\r
+        -0.047875f, -0.078417f, 0.010746f, 0.082620f, 0.311931f, 0.307605f,\r
+        0.003863f, 0.021405f, -0.026388f, -0.019572f, 0.020582f, -0.059353f,\r
+        0.025199f, 0.261319f, 0.086316f, 0.143614f, 0.107780f, 0.003900f,\r
+        -0.188397f, -0.038563f, -0.106045f, -0.125154f, -0.010509f, 0.054021f,\r
+        0.242130f, 0.279152f, 0.215546f, 0.346995f, 0.440856f, 0.237452f,\r
+        0.234154f, 0.301646f, 0.168929f, -0.208358f, -0.126848f, 0.010260f,\r
+        0.121018f, -0.062975f, -0.052848f, 0.050341f, -0.061103f, -0.266482f,\r
+        0.107186f, 0.140221f, 0.280065f, 0.287889f, 0.373198f, 0.151596f,\r
+        0.013593f, 0.115616f, 0.014616f, -0.281710f, -0.237597f, -0.117305f,\r
+        -0.000034f, -0.136739f, -0.196275f, -0.095225f, -0.125310f, -0.250514f,\r
+        0.236804f, -0.071805f, -0.037421f, 0.048230f, 0.321596f, 0.063632f,\r
+        0.024039f, -0.029133f, 0.230983f, 0.160593f, -0.154355f, -0.013086f,\r
+        -0.079929f, 0.094692f, 0.160391f, 0.180239f, 0.053895f, 0.100759f,\r
+        0.288631f, 0.038191f, 0.181692f, 0.229682f, 0.440166f, 0.063401f,\r
+        0.006273f, 0.020865f, 0.338695f, 0.256244f, -0.043927f, 0.115617f,\r
+        0.003296f, 0.173965f, 0.021318f, -0.040936f, -0.118932f, 0.182380f,\r
+        0.235922f, -0.053233f, -0.015053f, -0.101057f, 0.095341f, 0.051111f,\r
+        0.161831f, 0.032614f, 0.159496f, 0.072375f, 0.025089f, 0.023748f,\r
+        0.029151f, 0.161284f, -0.117717f, -0.036191f, -0.176822f, -0.162006f,\r
+        0.226542f, -0.078329f, 0.043079f, -0.119172f, 0.054614f, -0.101365f,\r
+        -0.064541f, -0.115304f, 0.135170f, 0.298872f, 0.098060f, 0.089428f,\r
+        -0.007497f, 0.110391f, -0.028824f, 0.020835f, -0.036804f, 0.125411f,\r
+        0.192105f, -0.048931f, 0.003086f, -0.010681f, 0.074698f, -0.016263f,\r
+        0.096063f, 0.060267f, -0.007277f, 0.139139f, -0.080635f, 0.036628f,\r
+        0.086058f, 0.131979f, 0.085707f, 0.025301f, 0.226094f, 0.194759f,\r
+        0.042193f, -0.157846f, -0.068402f, -0.141450f, -0.112659f, -0.076305f,\r
+        -0.069085f, -0.114332f, -0.102005f, 0.132193f, -0.067042f, 0.106643f,\r
+        0.198964f, 0.171616f, 0.167237f, -0.033730f, -0.026755f, 0.083621f,\r
+        0.149459f, -0.002799f, -0.000318f, 0.011753f, 0.065889f, -0.089375f,\r
+        -0.049610f, 0.224579f, 0.216548f, -0.034908f, -0.017851f, -0.088144f,\r
+        0.007530f, 0.240268f, 0.073270f, 0.013263f, 0.175323f, 0.012082f,\r
+        0.093993f, 0.015282f, 0.105854f, 0.107990f, 0.077798f, -0.096166f,\r
+        -0.079607f, 0.177820f, 0.142392f, 0.033337f, -0.078100f, -0.081616f,\r
+        -0.046993f, 0.139459f, 0.020272f, -0.123161f, 0.175269f, 0.105217f,\r
+        0.057328f, 0.080909f, -0.012612f, -0.097081f, 0.082060f, -0.096716f,\r
+        -0.063921f, 0.201884f, 0.128166f, -0.035051f, -0.032227f, -0.068139f,\r
+        -0.115915f, 0.095080f, -0.086007f, -0.067543f, 0.030776f, 0.032712f,\r
+        0.088937f, 0.054336f, -0.039329f, -0.114022f, 0.171672f, -0.112321f,\r
+        -0.217646f, 0.065186f, 0.060223f, 0.192174f, 0.055580f, -0.131107f,\r
+        -0.144338f, 0.056730f, -0.034707f, -0.081616f, -0.135298f, -0.000614f,\r
+        0.087189f, 0.014614f, 0.067709f, 0.107689f, 0.225780f, 0.084361f,\r
+        -0.008544f, 0.051649f, -0.048369f, -0.037739f, -0.060710f, 0.002654f,\r
+        0.016935f, 0.085563f, -0.015961f, -0.019265f, 0.111788f, 0.062376f,\r
+        0.202019f, 0.047713f, 0.042261f, 0.069716f, 0.242913f, 0.021052f,\r
+        -0.072812f, -0.155920f, -0.026436f, 0.035621f, -0.079300f, -0.028787f,\r
+        -0.048329f, 0.084718f, -0.060565f, -0.083750f, -0.164075f, -0.040742f,\r
+        -0.086219f, 0.015271f, -0.005204f, -0.016038f, 0.045816f, -0.050433f,\r
+        -0.077652f, 0.117109f, 0.009611f, -0.009045f, -0.008634f, -0.055373f,\r
+        -0.085968f, 0.028527f, -0.054736f, -0.168089f, 0.175839f, 0.071205f,\r
+        -0.023603f, 0.037907f, -0.004561f, -0.022634f, 0.123831f, 0.094469f,\r
+        -0.072920f, -0.133642f, -0.014032f, -0.142754f, -0.026999f, -0.199409f,\r
+        0.013268f, 0.226989f, 0.048650f, -0.170988f, -0.050141f, 0.007880f,\r
+        0.061880f, 0.019078f, -0.043578f, -0.038139f, 0.134814f, 0.054097f,\r
+        -0.081670f, 0.176838f, 0.047920f, -0.038176f, 0.050406f, -0.107181f,\r
+        -0.036279f, 0.027060f, 0.081594f, -0.002820f, 0.090507f, -0.033338f,\r
+        -0.059571f, 0.013404f, -0.099860f, 0.073371f, 0.342805f, 0.098305f,\r
+        -0.150910f, -0.020822f, -0.056960f, 0.046262f, -0.043413f, -0.149405f,\r
+        -0.129105f, -0.010899f, -0.014229f, -0.179949f, -0.113044f, -0.049468f,\r
+        -0.065513f, 0.090269f, -0.011919f, 0.087846f, 0.095796f, 0.146127f,\r
+        0.101599f, 0.078066f, -0.084348f, -0.100002f, -0.020134f, -0.050169f,\r
+        0.062122f, 0.014640f, 0.019143f, 0.036543f, 0.180924f, -0.013976f,\r
+        -0.066768f, -0.001090f, -0.070419f, -0.004839f, -0.001504f, 0.034483f,\r
+        -0.044954f, -0.050336f, -0.088638f, -0.174782f, -0.116082f, -0.205507f,\r
+        0.015587f, -0.042839f, -0.096879f, -0.144097f, -0.050268f, -0.196796f,\r
+        0.109639f, 0.271411f, 0.173732f, 0.108070f, 0.156437f, 0.124255f,\r
+        0.097242f, 0.238693f, 0.083941f, 0.109105f, 0.223940f, 0.267188f,\r
+        0.027385f, 0.025819f, 0.125070f, 0.093738f, 0.040353f, 0.038645f,\r
+        -0.012730f, 0.144063f, 0.052931f, -0.009138f, 0.084193f, 0.160272f,\r
+        -0.041366f, 0.011951f, -0.121446f, -0.106713f, -0.047566f, 0.047984f,\r
+        -0.255224f, -0.076116f, 0.098685f, -0.150845f, -0.171513f, -0.156590f,\r
+        0.058331f, 0.187493f, 0.413018f, 0.554265f, 0.372242f, 0.237943f,\r
+        0.124571f, 0.110829f, 0.010322f, -0.174477f, -0.067627f, -0.001979f,\r
+        0.142913f, 0.040597f, 0.019907f, 0.025963f, -0.043585f, -0.120732f,\r
+        0.099937f, 0.091059f, 0.247307f, 0.204226f, -0.042753f, -0.068580f,\r
+        -0.119002f, 0.026722f, 0.034853f, -0.060934f, -0.025054f, -0.093026f,\r
+        -0.035372f, -0.233209f, -0.049869f, -0.039151f, -0.022279f, -0.065380f,\r
         -9.063785f };\r
     return vector<float>(detector, detector + sizeof(detector)/sizeof(detector[0]));\r
 }\r