1 
2 /*
3  * Copyright (c) 2017-2018, NVIDIA CORPORATION.  All rights reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 
20 long long const ABS_MASK_LL = 0x7fffffffffffffffLL;
21 long long const SGN_MASK_LL = 0x8000000000000000LL;
22 double    const THRESHOLD_D = 0.58;
23 double    const PI_HI_D     = 3.1415926535897931e-00;
24 
25 // p0 coefficients
26 double const A0_D = -7.11098205226494972652773185473051853477954864501953125e-2;
27 double const B0_D =  9.485129851677488732608622967745759524405002593994140625e-2;
28 double const C0_D = -8.498863933818902316463805846069590188562870025634765625e-2;
29 double const D0_D =  2.8167631416132772603777567610450205393135547637939453125e-2;
30 double const E0_D = -2.1236858811203261632183370011262013576924800872802734375e-2;
31 double const F0_D = -9.05979072560843777528472031690398580394685268402099609375e-3;
32 double const G0_D = -1.43438849443223333246510975413912092335522174835205078125e-2;
33 double const H0_D = -1.73125902222988521661495298076260951347649097442626953125e-2;
34 double const I0_D = -2.23750622681186950302389959688298404216766357421875e-2;
35 double const J0_D = -3.0381807357819833048662161445463425479829311370849609375e-2;
36 double const K0_D = -4.4642861066358570376610970242836629040539264678955078125e-2;
37 double const L0_D = -7.4999999940853712132593500427901744842529296875e-2;
38 double const M0_D = -0.1666666666670042762365966382276383228600025177001953125;
39 double const N0_D =  1.5707963267948965579989817342720925807952880859375;
40 
41 // p1 coefficients
42 double const A1_D =  8.368915281600273919936951172449113300899625755846500396728515625e-6;
43 double const B1_D = -9.6245710521813799902778041595041713662794791162014007568359375e-5;
44 double const C1_D =  5.2518279127727906553657621913089315057732164859771728515625e-4;
45 double const D1_D = -1.82292523407674537938572001394277322106063365936279296875e-3;
46 double const E1_D =  4.575972452673355596319826332774027832783758640289306640625e-3;
47 double const F1_D = -9.0255487743186209315116030893477727659046649932861328125e-3;
48 double const G1_D =  1.500506851269619613964412252471447573043406009674072265625e-2;
49 double const H1_D = -2.2557206238831263578337171793464221991598606109619140625e-2;
50 double const I1_D =  3.299021374337458845094062098723952658474445343017578125e-2;
51 double const J1_D = -5.0599064250250007368503446514296228997409343719482421875e-2;
52 double const K1_D =  8.9010993358267842534559122213977389037609100341796875e-2;
53 double const L1_D = -0.2145973221939393715818056307398364879190921783447265625;
54 double const M1_D =  1.570796075001462011044850441976450383663177490234375;
55 
56