X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Ffloat-format.c;h=80924e831501c3bec68b863b5a0869c1af293ea5;hb=339f1956cc727eda788638644ef93ab7852b31cd;hp=36cc0af3c8c3119fe7a13e13e1f35e2141460dd8;hpb=e2da62d735c597afeef2e0e9b36e5a4a83d7da94;p=pspp diff --git a/src/libpspp/float-format.c b/src/libpspp/float-format.c index 36cc0af3c8..80924e8315 100644 --- a/src/libpspp/float-format.c +++ b/src/libpspp/float-format.c @@ -68,11 +68,9 @@ struct fp static void extract_number (enum float_format, const void *, struct fp *); static void assemble_number (enum float_format, struct fp *, void *); -static inline uint16_t get_uint16 (const void *); static inline uint32_t get_uint32 (const void *); static inline uint64_t get_uint64 (const void *); -static inline void put_uint16 (uint16_t, void *); static inline void put_uint32 (uint32_t, void *); static inline void put_uint64 (uint64_t, void *); @@ -169,22 +167,22 @@ float_identify (double expected_value, const void *number, size_t length, FLOAT_Z_SHORT, FLOAT_Z_LONG, }; - const size_t candidate_cnt = sizeof candidates / sizeof *candidates; + const size_t n_candidates = sizeof candidates / sizeof *candidates; enum float_format *p; - int match_cnt; + int n_matches; - match_cnt = 0; - for (p = candidates; p < candidates + candidate_cnt; p++) + n_matches = 0; + for (p = candidates; p < candidates + n_candidates; p++) if (float_get_size (*p) == length) { char tmp[8]; assert (sizeof tmp >= float_get_size (*p)); float_convert (FLOAT_NATIVE_DOUBLE, &expected_value, *p, tmp); - if (!memcmp (tmp, number, length) && match_cnt++ == 0) + if (!memcmp (tmp, number, length) && n_matches++ == 0) *best_guess = *p; } - return match_cnt; + return n_matches; } /* Returns the double value that is just greater than -DBL_MAX, @@ -215,100 +213,6 @@ get_bits (uint64_t x, int ofs, int cnt) return (x >> ofs) & ((UINT64_C(1) << cnt) - 1); } -/* Returns the 16-bit unsigned integer at P, - which need not be aligned. */ -static inline uint16_t -get_uint16 (const void *p) -{ - uint16_t x; - memcpy (&x, p, sizeof x); - return x; -} - -/* Returns the 32-bit unsigned integer at P, - which need not be aligned. */ -static inline uint32_t -get_uint32 (const void *p) -{ - uint32_t x; - memcpy (&x, p, sizeof x); - return x; -} - -/* Returns the 64-bit unsigned integer at P, - which need not be aligned. */ -static inline uint64_t -get_uint64 (const void *p) -{ - uint64_t x; - memcpy (&x, p, sizeof x); - return x; -} - -/* Stores 16-bit unsigned integer X at P, - which need not be aligned. */ -static inline void -put_uint16 (uint16_t x, void *p) -{ - memcpy (p, &x, sizeof x); -} - -/* Stores 32-bit unsigned integer X at P, - which need not be aligned. */ -static inline void -put_uint32 (uint32_t x, void *p) -{ - memcpy (p, &x, sizeof x); -} - -/* Stores 64-bit unsigned integer X at P, - which need not be aligned. */ -static inline void -put_uint64 (uint64_t x, void *p) -{ - memcpy (p, &x, sizeof x); -} - -/* Returns NATIVE converted to a form that, when stored in - memory, will be in little-endian byte order. */ -static inline uint16_t -native_to_le16 (uint16_t native) -{ - return INTEGER_NATIVE == INTEGER_LSB_FIRST ? native : bswap_16 (native); -} - -/* Returns NATIVE converted to a form that, when stored in - memory, will be in big-endian byte order. */ -static inline uint16_t -native_to_be16 (uint16_t native) -{ - return INTEGER_NATIVE == INTEGER_MSB_FIRST ? native : bswap_16 (native); -} - -/* Returns NATIVE converted to a form that, when stored in - memory, will be in VAX-endian byte order. */ -static inline uint16_t -native_to_vax16 (uint16_t native) -{ - return native_to_le16 (native); -} - -/* Returns NATIVE converted to a form that, when stored in - memory, will be in little-endian byte order. */ -static inline uint32_t -native_to_le32 (uint32_t native) -{ - return INTEGER_NATIVE == INTEGER_LSB_FIRST ? native : bswap_32 (native); -} - -/* Returns NATIVE converted to a form that, when stored in - memory, will be in big-endian byte order. */ -static inline uint32_t -native_to_be32 (uint32_t native) -{ - return INTEGER_NATIVE == INTEGER_MSB_FIRST ? native : bswap_32 (native); -} - /* Returns NATIVE converted to a form that, when stored in memory, will be in VAX-endian byte order. */ static inline uint32_t @@ -318,22 +222,6 @@ native_to_vax32 (uint32_t native) ((native & 0x00ff00ff) << 8)); } -/* Returns NATIVE converted to a form that, when stored in - memory, will be in little-endian byte order. */ -static inline uint64_t -native_to_le64 (uint64_t native) -{ - return INTEGER_NATIVE == INTEGER_LSB_FIRST ? native : bswap_64 (native); -} - -/* Returns NATIVE converted to a form that, when stored in - memory, will be in big-endian byte order. */ -static inline uint64_t -native_to_be64 (uint64_t native) -{ - return INTEGER_NATIVE == INTEGER_MSB_FIRST ? native : bswap_64 (native); -} - /* Returns NATIVE converted to a form that, when stored in memory, will be in VAX-endian byte order. */ static inline uint64_t @@ -345,46 +233,6 @@ native_to_vax64 (uint64_t native) ((native & UINT64_C(0x0000000000ff00ff)) << 40)); } -/* Given LE, obtained from memory in little-endian format, - returns its value. */ -static inline uint16_t -le_to_native16 (uint16_t le) -{ - return INTEGER_NATIVE == INTEGER_LSB_FIRST ? le : bswap_16 (le); -} - -/* Given BE, obtained from memory in big-endian format, returns - its value. */ -static inline uint16_t -be_to_native16 (uint16_t be) -{ - return INTEGER_NATIVE == INTEGER_MSB_FIRST ? be : bswap_16 (be); -} - -/* Given VAX, obtained from memory in VAX-endian format, returns - its value. */ -static inline uint16_t -vax_to_native16 (uint16_t vax) -{ - return le_to_native16 (vax); -} - -/* Given LE, obtained from memory in little-endian format, - returns its value. */ -static inline uint32_t -le_to_native32 (uint32_t le) -{ - return INTEGER_NATIVE == INTEGER_LSB_FIRST ? le : bswap_32 (le); -} - -/* Given BE, obtained from memory in big-endian format, returns - its value. */ -static inline uint32_t -be_to_native32 (uint32_t be) -{ - return INTEGER_NATIVE == INTEGER_MSB_FIRST ? be : bswap_32 (be); -} - /* Given VAX, obtained from memory in VAX-endian format, returns its value. */ static inline uint32_t @@ -394,22 +242,6 @@ vax_to_native32 (uint32_t vax) return ((be & 0xff00ff00) >> 8) | ((be & 0x00ff00ff) << 8); } -/* Given LE, obtained from memory in little-endian format, - returns its value. */ -static inline uint64_t -le_to_native64 (uint64_t le) -{ - return INTEGER_NATIVE == INTEGER_LSB_FIRST ? le : bswap_64 (le); -} - -/* Given BE, obtained from memory in big-endian format, returns - its value. */ -static inline uint64_t -be_to_native64 (uint64_t be) -{ - return INTEGER_NATIVE == INTEGER_MSB_FIRST ? be : bswap_64 (be); -} - /* Given VAX, obtained from memory in VAX-endian format, returns its value. */ static inline uint64_t @@ -648,11 +480,7 @@ extract_hex (const char *s, struct fp *fp) if (fp->fraction == 0) fp->class = ZERO; else if (*s == 'p') - { - char *tail; - fp->exponent += strtol (s + 1, &tail, 10); - s = tail; - } + fp->exponent += strtol (s + 1, NULL, 10); } } }