Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:42

0001 #include "DataFormats/Math/interface/FastMath.h"
0002 namespace fastmath_details {
0003   float atanbuf_[257 * 2];
0004   double datanbuf_[513 * 2];
0005 
0006   namespace {
0007     // ====================================================================
0008     // arctan initialization
0009     // =====================================================================
0010     struct Initatan {
0011       Initatan() {
0012         unsigned int ind;
0013         for (ind = 0; ind <= 256; ind++) {
0014           double v = ind / 256.0;
0015           double asinv = ::asin(v);
0016           atanbuf_[ind * 2] = ::cos(asinv);
0017           atanbuf_[ind * 2 + 1] = asinv;
0018         }
0019         for (ind = 0; ind <= 512; ind++) {
0020           double v = ind / 512.0;
0021           double asinv = ::asin(v);
0022           datanbuf_[ind * 2] = ::cos(asinv);
0023           datanbuf_[ind * 2 + 1] = asinv;
0024         }
0025       }
0026     };
0027     Initatan initAtan;
0028   }  // namespace
0029 }  // namespace fastmath_details