Lines Matching +full:quad +full:- +full:se +full:- +full:mode
3 (fixed-point mode); fix rounding bug in these modes when the input
4 d (to be converted) satisfies 10^-(ndigits+1) <= |d| < 10^-ndigits ,
7 the result is empty (i.e., when |d| <= 5 * 10^-ndigits).
25 return +-Infinity for IEEE arithmetic, +- the largest machine number
30 dtoa.c: tweak strtod (one-line addition) so the end-pointer = start
35 reasonably with huge numbers and 16-bit ints.
47 < for(result_k = 0; sizeof(Bigint) - sizeof(unsigned long) + j < i;
48 ---
49 > for(result_k = 0; sizeof(Bigint) - sizeof(unsigned long) + j <= i;
50 With 32-bit ints, the former could give too small a block for the return
51 value when, e.g., mode = 2 or 4 and ndigits = 24 (16 for 16-bit ints).
54 dtoa.c: tweak to work with 32-bit ints and 64-bit longs
55 when compiled with -DLong=int .
59 negative exponents (e.g. 1.8826e-512), which should underflow to 0;
69 > * directly -- and assumed always to succeed.
76 < rv = (Bigint *)malloc(sizeof(Bigint) + (x-1)*sizeof(Long));
77 ---
78 > rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(Long));
112 -DNO_IEEE_Scale restores the old logic. Fix a bug, revealed by
113 input string 2.2250738585072012e-308, in treating input just less
119 that caused one-bit rounding errors in certain denormal numbers, such
120 as 8.44291197326099e-309, which was read as 8.442911973260987e-309.
122 Unless compiled with -DNO_LONG_LONG, use 64-bit arithmetic where
128 2.2250738585072012e-308, which was rounded to the largest denormal
134 compiled with -DNO_ERRNO); bigtens --> bigtens_D2A (a symbol meant
143 --- g_xLfmt
145 --- strtopd
147 --- strtopf
149 --- strtopxL
150 --- strtorxL
151 --- strtoIxL
159 family (for 80-bit IEEE double-extended precision) that assumes the
160 storage layout of the Motorola 68881's double-extended format: 80
161 interesting bits stored in 3 unsigned 32-bit ints (with a "hole", 16
163 family now deals with 80-bit (5 unsigned 16-bit ints) rather than
164 96-bit arrays (3 unsigned 32-bit ints) that hold its 80-bit
165 double-extended values. (This relaxes the alignment requirements of
176 dtoa.c: Fix bug in strtod under -DSudden_Underflow and (the default)
177 -DAvoid_Underflow: some numbers that should have suffered sudden
179 Example: "1e-320" gave -3.6304123742133376e+280 rather than 0.
183 compilers that offer a 64-bit long long type but do not recognize the
191 dtoa.c, gdtoa.tgz: fix a bug in strtod's reading of 4.9e-324:
209 ---
215 compilation with -DKR_headers.
219 < if (bbits == 1 && be0 > fpi->emin) {
220 ---
221 > if (bbits == 1 && be0 > fpi->emin + 1) {
225 smallest normalized floating-point number of other precisions.
236 ---
239 (e.g., gcc 2.95.1 under -O2). On some systems, these changes do not
241 a double as a pair of ULongs is available with -DYES_ALIAS.
254 gdtoa.tgz: README: point out that compiling with -DNO_ERRNO inhibits
264 1. Fix bug in test for exact half-way cases of denormalized numbers
265 (without -DNO_IEEE_Scale).
266 2. Compilation with -DNO_ERRNO prevents strtod from assigning
268 3. With IEEE arithmetic and no -DNO_IEEE_Scale, adjust scaling so
274 4. Compilations with -DUSE_LOCALE causes strtod to use the current
276 5. Under compilations with -DINFNAN_CHECK, strtod and strtodg (case
278 compiled with -DNo_Hex_NaN, accept "nan(x)", where x is a string of
286 (in round-nearest mode) to the given double value. (Paxson's
288 introduce an error of more than one base-10 ulp when 17 or more
290 8. With IEEE arithmetic, compilation with -DHonor_FLT_ROUNDS causes
295 3 ==> towards -Infinity.
296 9. With IEEE arithmetic, compilation with -DSET_INEXACT causes extra
298 particularly for dtoa in cases where otherwise some simple floating-
305 10. On input "-x", return 0 rather than -0.
326 This was revealed by testbase for quad precision Solaris arithmetic;
331 2.47032822920623272e-324) introduced 20001113 in handling the special
333 by changes of 20001113) for the extra special case of 2^-1075 (half
339 an ulp less than the smallest normal floating-point number;
347 IEEE arithmetic (with 53-bit rounding precision on 80x87 chips).
351 gdtoa.tgz: fix a bug in strtod's handling of 0-valued 0x... "decimal"
356 gdtoa.tgz: fix a glitch in strtodg.c with -DUSE_LOCALE; add #ifdef
357 USE_LOCALE lines to g__fmt.c (to affect binary --> decimal conversions
358 via the g*fmt routines), and add comments about -DUSE_LOCALE to README.
359 In short, compiling strtod.c, strtodg.c, and g__fmt.c with -DUSE_LOCALE
360 causes them to determine the decimal-point character from the current
369 use unsigned char for decimalpoint variable (under -DUSE_LOCALE).
381 confusion by human readers -- the object code is unaffected (with
388 but does not require 53-bit rounding precision on Intel IA32 systems.
397 binary-exponent-part if the converted number is zero.
412 giving the system-dependent format of a quiet NaN (the one generated
413 for Infinity - Infinity). Tweak test/makefile so differences in the
415 Fix bug in strtod.c and strtodg.c under which, e.g., -.nan was read
420 gdtoa.tgz: strtodg.c: fix long-standing bug in handling input
423 gdtoa.tgz: Fix some bugs with -DJust_16.
427 strtod.c: unless prevented by -DNO_FENV_H, include C99's fenv.h
428 and with hex input, get the current rounding mode from fegetround().
429 With decimal input, strtod honors the rounding mode automatically.
439 test/makefile: add -lm to some link lines (needed for fegetround).
445 if (hi0bits(rvb->x[(rvb->wds - 1) >> kshift])
449 if (hi0bits(rvb->x[rvb->wds - 1]) != j)
454 test/README: add comment that strtodt needs to operate with 53-bit
459 dtoa.c and gdtoa.tgz: with -DINFNAN_CHECK and without
460 -DGDOTA_NON_PEDANTIC_NANCHECK, conform to the ill-advised prescription
464 gdtoa.tgz: gethex.c: have, e.g., strtod("0xyz",&se) set se to "xyz".
469 -DHonor_FLT_ROUNDS: in rounding modes other than "to nearest",
471 the largest finite floating-point number. Since FLT_ROUNDS is buggy
474 rounding mode from fegetround() rather than FLT_ROUNDS, unless
477 rounding mode when the input line is "r" by itself. (Previously it
479 gdtoa/gethex.c: fix an off-by-one bug in a rounding test; detect and
481 reading of hexadecimal floating-point values (0x...). Also set errno
482 to ERANGE on out-of-range values (unless compiled with -DNO_ERRNO).
492 gdtoa/strto*.c and gdtoa/*fmt.c: if compiled with -DUSE_LOCALE, use
499 gdtoa/strtodg.c: fix an off-by-one bug in rounding to the largest
504 Relevant routines (see README) honor the current rounding mode if
505 compiled with -DHonor_FLT_ROUNDS on IEEE-arithmetic systems that provide
508 -DHonor_FLT_ROUNDS and/or -DUSE_MY_LOCALE for manual testing of gdtoa.a
509 compiled with -DHonor_FLT_ROUNDS or -DUSE_LOCALE.
512 gdtoa/gethex.c: fix a bug reading hexadecimal floating-point values
521 -DUSE_LOCALE and the locale's decimal-point string is two or more
525 gdtoa.tgz: fix bugs with reading C99-style hexadecimal floating-point
526 values when compiled with -DPack_16; on IEEE-arithmetic systems, make
529 dtoa.c: add recognition of C99-style hexadecimal floating-point
543 pathological cases, such as dtoa calls in mode 3 with thousands of
550 dtoa.c: Fix a bug under -DUSE_LOCALE in handling "decimal point"
553 -DDEBUG.
555 dtoa.c: Add logic (that can be disabled with -DNO_STRTOD_BIGCOMP
565 silence "gcc -Wall" warnings. Aside from a couple of minor changes
570 dtoa.c: fix glitch in compiling with -DNo_Hex_NaN and the bug of
572 gdtoa.tgz: tweaks to silence warnings from "gcc -Wstrict-aliasing=2";
580 not supply this bit) are appropriate for Sparc quad precision (probably
589 adds %Lqa, %Lqe, %Lqf and %Lqg to handle 128-bit bit types (called
596 dtoa.c: fix a minor performance bug and, under compilation with -DDEBUG,
609 high-precision integer computations. Fix an off-by-one bug in
612 with sensible input.) Fix an off-by-one bug in a recently introduced
620 compiled without -DNO_IEEE_SCALE and, for dtoa.c, when compiled with
621 -DNO_STRTOD_BIGCOMP.
637 -DHonor_FLT_ROUNDS (and without -DNO_STRTOD_BIGCOMP), and the rounding
638 mode is torwards +Infinity. An input (supplied by Rick Regan
642 with -DHonor_FLT_ROUNDS.
645 dtoa.c, gdtoa/dtoa.c, gdtoa/gdtoa.c: fix bugs with -DROUND_BIASED
665 want biased rounding with IEEE-style format "double" and will operate
669 of portability when compiling without -DLong=... specified). On some
670 64-bit systems, long is a 64-bit type; we need a 32-bit type here.
671 dtoa.c, gdtoa/gdtoa.c: fix a glith with ndigits with mode = 4 at
672 the bottom of the exponent range, e.g., 1e-323.