1 /* $OpenBSD: constll.c,v 1.1 2011/06/02 21:47:40 martynas Exp $ */ 2 3 /* 4 * Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net> 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 #include <float.h> 20 21 #if LDBL_MANT_DIG == 113 22 23 /* (1 - 2^-113) 2^16384 */ 24 long double MAXNUML = 1.189731495357231765085759326628007016196469e4932L; 25 26 /* 2^-113 */ 27 long double MACHEPL = 9.629649721936179265279889712924636592690508e-35L; 28 29 /* (1 + 2^-112) 2^-16382 */ 30 long double UFTHRESHL = 3.362103143112093506262677817321753250115591e-4932L; 31 32 /* 2^-16494 */ 33 long double MINNUML = 6.475175119438025110924438958227646552499569e-4966L; 34 35 /* ln(MAXNUM) */ 36 long double MAXLOGL = 1.1356523406294143949491931077970764891253E4L; 37 38 /* ln(MINNUM) */ 39 long double MINLOGL = -1.143276959615573793352782661133116431383730e4L; 40 41 /* ln(UFTHRESH) */ 42 /* long double MINLOGL = -1.135513711193302405887309661372784853802025e4L; */ 43 44 long double PIL = 3.141592653589793238462643383279502884197169L; 45 46 long double PIO2L = 1.570796326794896619231321691639751442098585L; 47 48 long double PIO4L = 0.7853981633974483096156608458198757210492923L; 49 50 long double LOGE2L = 0.6931471805599453094172321214581765680755001L; 51 52 long double LOG2EL = 1.442695040888963407359924681001892137426646L; 53 54 long double INFINITYL = 1.0L / 0.0L; 55 56 #endif /* LDBL_MANT_DIG == 113 */ 57