/* 
 * Copyright (c) 2017-2018, NVIDIA CORPORATION.  All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */


#define INT2DBL_HI_D              0x4330000000000000
#define INT2DBL_LO_D              0x0000000080000000
#define INT2DBL_D                 0x4330000080000000

#define ZERO_D                    0.0
#define ALL_ONES_EXPONENT_D       0x7FF0000000000000
#define NAN_VAL_D                 0xFFF8000000000000
#define NEG_INF_D                 0xFFF0000000000000


#define HI_CONST_1_D              0x800FFFFFFFFFFFFF
#define HI_CONST_2_D              0x3FF0000000000000
#define HALFIFIER_D               0x0010000000000000
#define HI_THRESH_D               0x3FF6A09E00000000
#define ONE_F_D                   1.0

#define LN2_HI_D                  6.9314718055994529e-1
#define LN2_LO_D                  2.3190468138462996e-1

#define HI_MASK_D                 0xFFFFFFFF00000000
#define ONE_D                     1

#define TEN_23_D                  1023

#define LOG_C1_VEC_D               0x1p0
#define LOG_C2_VEC_D              -0x8.p-4
#define LOG_C3_VEC_D               0x5.5555555555554p-4
#define LOG_C4_VEC_D              -0x4.000000000002cp-4
#define LOG_C5_VEC_D               0x3.33333333336b8p-4
#define LOG_C6_VEC_D              -0x2.aaaaaaaaa749cp-4
#define LOG_C7_VEC_D               0x2.49249248f76f4p-4
#define LOG_C8_VEC_D              -0x2.000000017ccc6p-4
#define LOG_C9_VEC_D               0x1.c71c71d86012p-4
#define LOG_C10_VEC_D             -0x1.999999497b589p-4
#define LOG_C11_VEC_D              0x1.745d138ba7b46p-4
#define LOG_C12_VEC_D             -0x1.55555db94d72p-4
#define LOG_C13_VEC_D              0x1.3b142e856431fp-4
#define LOG_C14_VEC_D             -0x1.2491fb68d8f8ep-4
#define LOG_C15_VEC_D              0x1.1106cf3b36ab7p-4
#define LOG_C16_VEC_D             -0xf.ffa0d5082d8c8p-8
#define LOG_C17_VEC_D              0xf.1745d409d2f38p-8
#define LOG_C18_VEC_D             -0xe.45d7ee08c6ddp-8
#define LOG_C19_VEC_D              0xd.3ed277d43d13p-8
#define LOG_C20_VEC_D             -0xc.30553b705dbe8p-8
#define LOG_C21_VEC_D              0xc.c8bfe5a3691p-8
#define LOG_C22_VEC_D             -0xe.f9047f1310908p-8
#define LOG_C23_VEC_D              0xd.21509b9fb5908p-8
#define LOG_C24_VEC_D             -0x5.4f4710ee284c4p-8

#define D52_D                     52
