OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 // evaluate: 89255.0/1e22. If the floating-point stack is 64 bits wide then | 42 // evaluate: 89255.0/1e22. If the floating-point stack is 64 bits wide then |
43 // the result is equal to 89255e-22. | 43 // the result is equal to 89255e-22. |
44 // The best way to test this, is to create a division-function and to compare | 44 // The best way to test this, is to create a division-function and to compare |
45 // the output of the division with the expected result. (Inlining must be | 45 // the output of the division with the expected result. (Inlining must be |
46 // disabled.) | 46 // disabled.) |
47 // On Linux,x86 89255e-22 != Div_double(89255.0/1e22) | 47 // On Linux,x86 89255e-22 != Div_double(89255.0/1e22) |
48 #if defined(_M_X64) || defined(__x86_64__) || \ | 48 #if defined(_M_X64) || defined(__x86_64__) || \ |
49 defined(__ARMEL__) || \ | 49 defined(__ARMEL__) || \ |
50 defined(_MIPS_ARCH_MIPS32R2) | 50 defined(_MIPS_ARCH_MIPS32R2) |
51 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 | 51 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 |
52 #elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390)
|| CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) | 52 #elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || CPU(SH4) || CPU(S390) || CPU(S390X)
|| CPU(IA64) || CPU(SPARC) || CPU(ALPHA) |
53 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 | 53 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 |
54 #elif defined(_M_IX86) || defined(__i386__) | 54 #elif defined(_M_IX86) || defined(__i386__) |
55 #if defined(_WIN32) | 55 #if defined(_WIN32) |
56 // Windows uses a 64bit wide floating point stack. | 56 // Windows uses a 64bit wide floating point stack. |
57 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 | 57 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 |
58 #else | 58 #else |
59 #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS | 59 #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS |
60 #endif // _WIN32 | 60 #endif // _WIN32 |
61 #else | 61 #else |
62 #error Target architecture was not detected as supported by Double-Conversion. | 62 #error Target architecture was not detected as supported by Double-Conversion. |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 template <class Dest, class Source> | 301 template <class Dest, class Source> |
302 inline Dest BitCast(Source* source) { | 302 inline Dest BitCast(Source* source) { |
303 return BitCast<Dest>(reinterpret_cast<uintptr_t>(source)); | 303 return BitCast<Dest>(reinterpret_cast<uintptr_t>(source)); |
304 } | 304 } |
305 | 305 |
306 } // namespace double_conversion | 306 } // namespace double_conversion |
307 | 307 |
308 } // namespace WTF | 308 } // namespace WTF |
309 | 309 |
310 #endif // DOUBLE_CONVERSION_UTILS_H_ | 310 #endif // DOUBLE_CONVERSION_UTILS_H_ |
OLD | NEW |