20000320-1.c
来自「this is a gcc file, you can download it 」· C语言 代码 · 共 106 行
C
106 行
#if defined(__mips__) && defined(__sgi__)#include <sys/fpu.h>#endif /* defined(__mips__) && defined(__sgi__) */#include <limits.h>#if UINT_MAX != 4294967295u || (ULONG_LONG_MAX != 18446744073709551615ull && ULONG_MAX != 18446744073709551615ull)int main(void) { exit (0); }#else#if ULONG_MAX != 18446744073709551615ulltypedef unsigned long long ull;#elsetypedef unsigned long ull;#endiftypedef unsigned ul;union fl { float f; ul l;} uf;union dl { double d; ull ll;} ud;int failed = 0;void c(ull d, ul f){ ud.ll = d; uf.f = (float) ud.d; if (uf.l != f) { failed++; }}int main(){#if defined(__mips__) && defined(__sgi__) /* Many MIPS chips round denormalized floating point numbers to zero rather than follow the IEEE standard. Change the rounding mode to correspond to the IEEE rounding mode that rounds numbers to the nearest representable mode, the most common IEEE rounding mode. */ set_fpc_csr(0);#endif /* defined(__mips__) && defined(__sgi__) */ if (sizeof (float) != sizeof (ul) || sizeof (double) != sizeof (ull)) exit (0); c(0x3690000000000000ULL, 0x00000000U);#if (defined __arm__ || defined __thumb__) && ! (defined __ARMEB__ || defined __VFP_FP__) /* The ARM always stores FP numbers in big-wordian format, even when running in little-byteian mode. */ c(0x0000000136900000ULL, 0x00000001U); c(0xffffffff369fffffULL, 0x00000001U); c(0x0000000036A00000ULL, 0x00000001U); c(0xffffffff36A7ffffULL, 0x00000001U); c(0x0000000036A80000ULL, 0x00000002U); c(0xffffffff36AfffffULL, 0x00000002U); c(0x0000000036b00000ULL, 0x00000002U); c(0x0000000136b00000ULL, 0x00000002U); c(0xdfffffff380fffffULL, 0x007fffffU); c(0xe0000000380fffffULL, 0x00800000U); c(0xe0000001380fffffULL, 0x00800000U); c(0xffffffff380fffffULL, 0x00800000U); c(0x0000000038100000ULL, 0x00800000U); c(0x0000000138100000ULL, 0x00800000U); c(0x1000000038100000ULL, 0x00800000U); c(0x1000000138100000ULL, 0x00800001U); c(0x2fffffff38100000ULL, 0x00800001U); c(0x3000000038100000ULL, 0x00800002U); c(0x5000000038100000ULL, 0x00800002U); c(0x5000000138100000ULL, 0x00800003U);#else c(0x3690000000000001ULL, 0x00000001U); c(0x369fffffffffffffULL, 0x00000001U); c(0x36A0000000000000ULL, 0x00000001U); c(0x36A7ffffffffffffULL, 0x00000001U); c(0x36A8000000000000ULL, 0x00000002U); c(0x36AfffffffffffffULL, 0x00000002U); c(0x36b0000000000000ULL, 0x00000002U); c(0x36b0000000000001ULL, 0x00000002U); c(0x380fffffdfffffffULL, 0x007fffffU); c(0x380fffffe0000000ULL, 0x00800000U); c(0x380fffffe0000001ULL, 0x00800000U); c(0x380fffffffffffffULL, 0x00800000U); c(0x3810000000000000ULL, 0x00800000U); c(0x3810000000000001ULL, 0x00800000U); c(0x3810000010000000ULL, 0x00800000U); c(0x3810000010000001ULL, 0x00800001U); c(0x381000002fffffffULL, 0x00800001U); c(0x3810000030000000ULL, 0x00800002U); c(0x3810000050000000ULL, 0x00800002U); c(0x3810000050000001ULL, 0x00800003U);#endif if (failed) abort (); else exit (0);}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?