+1999-08-19 Andreas Schwab <schwab@suse.de>
+
+ * libio/iovswscanf.c (vswscanf): Make stream unoriented initially
+ and call _IO_fwide, to get the wide stream state initialized
+ correctly. Don't set _IO_JUMPS.
+ * libio/vsnprintf.c (_IO_vsnprintf): Avoid casts to _IO_FILE *.
+ * libio/vswprintf.c (_IO_vswprintf): Likewise. Pass
+ _IO_wstrn_jumps to _IO_no_init instead of setting _IO_WIDE_JUMPS
+ directly.
+
+1999-08-19 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * math/libm-test.c (jn_test): Fix typo in description.
+ (erfc_test): Add some more tests.
+ (erf_test): Add some more tests.
+
+1999-08-19 Andreas Schwab <schwab@suse.de>
+
+ * csu/Makefile ($(objpfx)initfini.s): Replace $(no-exceptions) by
+ expression using $(exceptions).
+
1999-08-18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/setenv.c: Avoid warning about uninitialized variable.
$(objpfx)initfini.s: initfini.c
$(compile.c) -S $(CFLAGS-initfini.s) -finhibit-size-directive \
- $(no-exceptions) -o $@
+ $(patsubst -f%,-fno-%,$(exceptions)) -o $@
# We only have one kind of startup code files. Static binaries and
# shared libraries are build using the PIC version.
_IO_lock_t lock;
sf._sbf._f._lock = &lock;
#endif
- _IO_no_init (&sf._sbf._f, 0, 1, &wd, &_IO_wstr_jumps);
- _IO_JUMPS (&sf._sbf._f) = &_IO_str_jumps;
+ _IO_no_init (&sf._sbf._f, 0, 0, &wd, &_IO_wstr_jumps);
+ _IO_fwide (&sf._sbf._f, 1);
_IO_wstr_init_static (&sf._sbf._f, (wchar_t *)string, 0, NULL);
ret = _IO_vfwscanf (&sf._sbf._f, format, args, NULL);
return ret;
maxlen = sizeof (sf.overflow_buf);
}
- _IO_no_init ((_IO_FILE *) &sf, 0, -1, NULL, NULL);
- _IO_JUMPS ((_IO_FILE *) &sf) = &_IO_strn_jumps;
+ _IO_no_init (&sf.f._sbf._f, 0, -1, NULL, NULL);
+ _IO_JUMPS (&sf.f._sbf._f) = &_IO_strn_jumps;
string[0] = '\0';
- _IO_str_init_static ((_IO_FILE *) &sf, string, maxlen - 1, string);
- ret = _IO_vfprintf ((_IO_FILE *) &sf, format, args);
+ _IO_str_init_static (&sf.f._sbf._f, string, maxlen - 1, string);
+ ret = _IO_vfprintf (&sf.f._sbf._f, format, args);
if (sf.f._sbf._f._IO_buf_base != sf.overflow_buf)
*sf.f._sbf._f._IO_write_ptr = '\0';
maxlen = sizeof (sf.overflow_buf) / sizeof (wchar_t);
}
- _IO_no_init ((_IO_FILE *) &sf, 0, 0, &wd, NULL);
- _IO_WIDE_JUMPS ((_IO_FILE *) &sf) = &_IO_wstrn_jumps;
+ _IO_no_init (&sf.f._sbf._f, 0, 0, &wd, &_IO_wstrn_jumps);
_IO_fwide (&sf.f._sbf._f, 1);
string[0] = L'\0';
- _IO_wstr_init_static ((_IO_FILE *) &sf, string, maxlen - 1, string);
- ret = _IO_vfwprintf ((_IO_FILE *) &sf, format, args);
+ _IO_wstr_init_static (&sf.f._sbf._f, string, maxlen - 1, string);
+ ret = _IO_vfwprintf (&sf.f._sbf._f, format, args);
if (sf.f._sbf._f._wide_data->_IO_buf_base != sf.overflow_buf)
*sf.f._sbf._f._wide_data->_IO_write_ptr = '\0';
check ("erf (1.2) == 0.9103139782...", FUNC(erf) (1.2),
0.91031397822963538024L);
+ check ("erf (2.0) == 0.99532...", FUNC(erf) (2.0),
+ 0.99532226501895273416L);
+ check ("erf (4.1) == 0.99999...", FUNC(erf) (4.1),
+ 0.99999999329997234592L);
+ check ("erf (27) == 1.0", FUNC(erf) (27),
+ 1.0L);
}
check_eps ("erfc (1.2) == 0.0896860218...", FUNC(erfc) (1.2),
0.089686021770364619762L, CHOOSE (0, 0, 8e-9));
+ check_eps ("erfc (2.0) == 0.0046777349...", FUNC(erfc) (2.0),
+ 0.0046777349810472658379L, CHOOSE (0, 9e-19, 0));
+ check_eps ("erfc (4.1) == 6.70002...*10^-9", FUNC(erfc) (4.1),
+ 0.67000276540848983727e-8L, CHOOSE (0, 2e-23, 6e-15));
+ check ("erfc (9) == 4.13703...*10^-37", FUNC(erfc) (9),
+ 0.41370317465138102381e-36L);
}
CHOOSE(0, 2e-35, 9.7e-27));
check_eps ("jn (10, 0.7) = 7.517...*10^-12", FUNC(jn) (10, 0.7), 0.75175911502153953928e-11,
CHOOSE(0, 7e-27, 1.8e-18));
- check_eps ("jn (10, 1.0) = 2.630...*10^-11", FUNC(jn) (10, 1.0), 0.26306151236874532070e-9,
+ check_eps ("jn (10, 1.0) = 2.630...*10^-10", FUNC(jn) (10, 1.0), 0.26306151236874532070e-9,
CHOOSE(0, 0, 5.6e-17));
check_eps ("jn (10, 2.0) = 2.515...*10^-7", FUNC(jn) (10, 2.0), 0.25153862827167367096e-6,
CHOOSE(0, 2e-22, 1.2e-13));