1#if __SIZEOF_INT__ == __SIZEOF_FLOAT__ 2typedef signed int si; 3typedef unsigned int ui; 4#else 5#error "no float-sized integer type" 6#endif 7 8#if __SIZEOF_LONG_LONG__ == __SIZEOF_DOUBLE__ 9typedef signed long long sl; 10typedef unsigned long long ul; 11#else 12#error "no double-sized integer type" 13#endif 14 15si f2si(float a) { return a; } 16ui f2ui(float a) { return a; } 17sl f2sl(float a) { return a; } 18ul f2ul(float a) { return a; } 19si d2si(double a) { return a; } 20ui d2ui(double a) { return a; } 21sl d2sl(double a) { return a; } 22ul d2ul(double a) { return a; } 23 24/* 25 * check-name: fp2i cast 26 * check-command: test-linearize -Wno-decl $file 27 * 28 * check-output-ignore 29 * check-output-pattern(4): fcvts\\. 30 * check-output-pattern(4): fcvtu\\. 31 */ 32