Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: third_party/libxml/trionan.c

Issue 2951008: Update libxml to 2.7.7. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /************************************************************************* 1 /*************************************************************************
2 * 2 *
3 * $Id: trionan.c 2219 2003-10-15 08:18:00Z veillard $ 3 * $Id$
4 * 4 *
5 * Copyright (C) 2001 Bjorn Reese <breese@users.sourceforge.net> 5 * Copyright (C) 2001 Bjorn Reese <breese@users.sourceforge.net>
6 * 6 *
7 * Permission to use, copy, modify, and distribute this software for any 7 * Permission to use, copy, modify, and distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above 8 * purpose with or without fee is hereby granted, provided that the above
9 * copyright notice and this permission notice appear in all copies. 9 * copyright notice and this permission notice appear in all copies.
10 * 10 *
11 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 11 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
12 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 12 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
13 * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND 13 * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 */ 105 */
106 #if (FLT_RADIX == 2) && (DBL_MAX_EXP == 1024) && (DBL_MANT_DIG == 53) 106 #if (FLT_RADIX == 2) && (DBL_MAX_EXP == 1024) && (DBL_MANT_DIG == 53)
107 # define USE_IEEE_754 107 # define USE_IEEE_754
108 #endif 108 #endif
109 109
110 110
111 /************************************************************************* 111 /*************************************************************************
112 * Constants 112 * Constants
113 */ 113 */
114 114
115 static TRIO_CONST char rcsid[] = "@(#)$Id: trionan.c 2219 2003-10-15 08:18:00Z v eillard $"; 115 static TRIO_CONST char rcsid[] = "@(#)$Id$";
116 116
117 #if defined(USE_IEEE_754) 117 #if defined(USE_IEEE_754)
118 118
119 /* 119 /*
120 * Endian-agnostic indexing macro. 120 * Endian-agnostic indexing macro.
121 * 121 *
122 * The value of internalEndianMagic, when converted into a 64-bit 122 * The value of internalEndianMagic, when converted into a 64-bit
123 * integer, becomes 0x0706050403020100 (we could have used a 64-bit 123 * integer, becomes 0x0706050403020100 (we could have used a 64-bit
124 * integer value instead of a double, but not all platforms supports 124 * integer value instead of a double, but not all platforms supports
125 * that type). The value is automatically encoded with the correct 125 * that type). The value is automatically encoded with the correct
126 * endianess by the compiler, which means that we can support any 126 * endianess by the compiler, which means that we can support any
127 * kind of endianess. The individual bytes are then used as an index 127 * kind of endianess. The individual bytes are then used as an index
128 * for the IEEE 754 bit-patterns and masks. 128 * for the IEEE 754 bit-patterns and masks.
129 */ 129 */
130 #define TRIO_DOUBLE_INDEX(x) (((unsigned char *)&internalEndianMagic)[7-(x)]) 130 #define TRIO_DOUBLE_INDEX(x) (((unsigned char *)&internalEndianMagic)[7-(x)])
131 131
132 #if (defined(__BORLANDC__) && __BORLANDC__ >= 0x0590)
133 static TRIO_CONST double internalEndianMagic = 7.949928895127362e-275;
134 #else
132 static TRIO_CONST double internalEndianMagic = 7.949928895127363e-275; 135 static TRIO_CONST double internalEndianMagic = 7.949928895127363e-275;
136 #endif
133 137
134 /* Mask for the exponent */ 138 /* Mask for the exponent */
135 static TRIO_CONST unsigned char ieee_754_exponent_mask[] = { 139 static TRIO_CONST unsigned char ieee_754_exponent_mask[] = {
136 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 140 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
137 }; 141 };
138 142
139 /* Mask for the mantissa */ 143 /* Mask for the mantissa */
140 static TRIO_CONST unsigned char ieee_754_mantissa_mask[] = { 144 static TRIO_CONST unsigned char ieee_754_mantissa_mask[] = {
141 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF 145 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
142 }; 146 };
(...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 ((unsigned char *)&my_ninf)[3], 905 ((unsigned char *)&my_ninf)[3],
902 ((unsigned char *)&my_ninf)[4], 906 ((unsigned char *)&my_ninf)[4],
903 ((unsigned char *)&my_ninf)[5], 907 ((unsigned char *)&my_ninf)[5],
904 ((unsigned char *)&my_ninf)[6], 908 ((unsigned char *)&my_ninf)[6],
905 ((unsigned char *)&my_ninf)[7], 909 ((unsigned char *)&my_ninf)[7],
906 trio_isnan(my_ninf), trio_isinf(my_ninf)); 910 trio_isnan(my_ninf), trio_isinf(my_ninf));
907 911
908 return 0; 912 return 0;
909 } 913 }
910 #endif 914 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698