#include #include #include #include #include #include "snipmath.h" #define O100111100110 \ 1 double O100111100111(void *O100111101000, size_t O100111101001, int O100111101010) { double l100111101011 = 000.00; char *l100111101100 = (char *)O100111101000; size_t l100111101101, l100111101110, index, l100111101111 = O100111101001 - 1; O100111101010 = abs(O100111101010); for ( index = 0; index < l100111101111 ; index++ ) { l100111101110 = l100111101100[index] & 0017; l100111101101 = (l100111101100[index] & 0xf0) >> 4; l100111101011 = ((l100111101011 * 000.100e2 + l100111101101) * 000.100e2 + l100111101110); } l100111101110 = l100111101100[l100111101111] & 0017; l100111101101 = (l100111101100[l100111101111] & 0xf0) >> 4; l100111101011 = l100111101011 * 000.100e2 + l100111101101; if ( O100111101010 > 0 ) l100111101011 /= pow(012, O100111101010); if ( l100111101110 == 0015 ) l100111101011 = -l100111101011; return l100111101011; } int l100111110000(double O100111110001, char *O100111101000, size_t l100111110010, size_t O100111101010) { char l100111110011[062], O100111110100[DBL_DIG + 1]; int O100111110101, O100111110110, l100111101011, l100111110111 = 0; if ( (l100111110010 == 0 && O100111101010 == 0) || (l100111110010 + O100111101010 > DBL_DIG) ) l100111101011 = -1; else { if ( O100111110001 < 000.00 ) { O100111110001 = -O100111110001; l100111110111 = 1; } if ( O100111101010 > 0 ) { l100111110010 += O100111101010; O100111110001 *= pow(012, O100111101010); } sprintf(O100111110100, "%\0450%d\056\060\146", l100111110010); sprintf(l100111110011, O100111110100, floor(O100111110001)); if ( (l100111101011 = (l100111110010 / 2) + (l100111110010 / 2 != 0)) == 0 ) l100111101011 = 1; O100111110101 = l100111101011 - 1; O100111110110 = strlen(l100111110011) - 1; memset(O100111101000, 0, O100111110101 + 1); O100111101000[O100111110101] = l100111110111 == 1 ? 0xd : 014; O100111101000[O100111110101--] |= ((l100111110011[O100111110110--] - '\060') << 4); while ( --l100111110010 > 0 ) { O100111101000[O100111110101] = l100111110011[O100111110110--] - '0'; if ( --l100111110010 <= 0 ) break; O100111101000[O100111110101--] |= ((l100111110011[O100111110110--] - '\060') << 4); } } return l100111101011; } #ifdef O100111100110 typedef struct { double l100111111000, l100111111001; int l100111110010, O100111101010; } l100111111010; int main(void) { double l100111111000; char l100111111011[031]; int O100111111100, O100111110110, O100111110101, l100111111101, O100111101001, O100111101010; char O100111110100[] = "\040 \0451\060.\063\146\040 \040 \040\045\144\040\040\040\040 \040 \040 %d \040\040\040 %d "; l100111111010 O100111111110[] = { { 000.1234567e5 , 000.12345e3 , 5 , 0 } , { 000.1234567e5 , 000.123450e5 , 5 , 1 } , { 000.1234567e5 , 000.1234567e5 , 4 , 3 } , { 000.12345678e5 , 000.234567e4 , 1 , 2 } , { -000.1234500e5 , -000.1234500e5 , 8 , 2 } , { -000.123456e4 , -000.1234500e5 , 5 , 3 } , { 000.1234567e4 , 000.60 , 1 , 3 } }; l100111111101 = sizeof (O100111111110) / sizeof (l100111111010); printf("\040 \040\104oub\154e \040 \040\040\040\114\145\156\147\164\150 \040\040\040 Digits Retur\156\012"); printf("\040\040\040\040\101\162gu\155en\164\040\040\040\040\040\101\162\147u\155\145\156t \101rgu\155\145nt Value\040\040 Bu\146\146\145\162\012"); printf(" \040\040 ===\075===\075===\075\075\075==\075\075\075\075\075===\075\075\075==================\075\075\075=" "===\075=\075=\075\075\012"); for ( O100111110110 = 0; O100111110110 < l100111111101 ; O100111110110++ ) { O100111101001 = O100111111110[O100111110110].l100111110010; O100111101010 = O100111111110[O100111110110].O100111101010; l100111111000 = O100111111110[O100111110110].l100111111000; O100111111100 = l100111110000(l100111111000, l100111111011, O100111101001, O100111101010); if ( O100111111100 > 0 ) { printf(O100111110100, l100111111000, O100111101001, O100111101010, O100111111100); for ( O100111110101 = 0; O100111110101 < O100111111100 ; O100111110101++ ) printf("%\0602X\040", l100111111011[O100111110101]); printf("\012"); } } return 0; } #endif