mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Update.
* stdlib/jrand48_r.c (__jrand48_r): Correct constructing of results. Reported by Jeff Higham <jhigham@algorithmics.com>. * stdlib/tst-rand48.c: New file. * stdlib/Makefile (tests): Add tst-rand48.
This commit is contained in:
parent
ec4ae3b891
commit
df152cc80e
@ -1,5 +1,10 @@
|
||||
2001-01-19 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* stdlib/jrand48_r.c (__jrand48_r): Correct constructing of
|
||||
results. Reported by Jeff Higham <jhigham@algorithmics.com>.
|
||||
* stdlib/tst-rand48.c: New file.
|
||||
* stdlib/Makefile (tests): Add tst-rand48.
|
||||
|
||||
* locale/newlocale.c (__newlocale): Fix test for setting all
|
||||
categories.
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2001-01-19 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* Makefile (LOCALES): Add fr_FR.ISO-8859-1.
|
||||
* tst-langinfo.sh: Add French tests.
|
||||
|
||||
2001-01-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* locales/cs_CZ: Fix grammar of comment above abmon.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -123,7 +123,7 @@ ifeq (no,$(cross-compiling))
|
||||
# We have to generate locales
|
||||
LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
|
||||
en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \
|
||||
hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS
|
||||
hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1
|
||||
LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
|
||||
CHARMAPS := $(shell echo "$(LOCALES)"|sed 's/[^ .]*[.]\([^ ]*\)/\1/g')
|
||||
CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES))
|
||||
|
@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Test nl_langinfo.
|
||||
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
#
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -244,6 +244,51 @@ de_DE.UTF-8 RADIXCHAR ,
|
||||
de_DE.UTF-8 THOUSEP .
|
||||
de_DE.UTF-8 YESEXPR ^[jJyY].*
|
||||
de_DE.UTF-8 NOEXPR ^[nN].*
|
||||
fr_FR.ISO-8859-1 ABDAY_1 dim
|
||||
fr_FR.ISO-8859-1 ABDAY_2 lun
|
||||
fr_FR.ISO-8859-1 ABDAY_3 mar
|
||||
fr_FR.ISO-8859-1 ABDAY_4 mer
|
||||
fr_FR.ISO-8859-1 ABDAY_5 jeu
|
||||
fr_FR.ISO-8859-1 ABDAY_6 ven
|
||||
fr_FR.ISO-8859-1 ABDAY_7 sam
|
||||
fr_FR.ISO-8859-1 DAY_1 dimanche
|
||||
fr_FR.ISO-8859-1 DAY_2 lundi
|
||||
fr_FR.ISO-8859-1 DAY_3 mardi
|
||||
fr_FR.ISO-8859-1 DAY_4 mercredi
|
||||
fr_FR.ISO-8859-1 DAY_5 jeudi
|
||||
fr_FR.ISO-8859-1 DAY_6 vendredi
|
||||
fr_FR.ISO-8859-1 DAY_7 samedi
|
||||
fr_FR.ISO-8859-1 ABMON_1 jan
|
||||
fr_FR.ISO-8859-1 ABMON_2 fév
|
||||
fr_FR.ISO-8859-1 ABMON_3 mar
|
||||
fr_FR.ISO-8859-1 ABMON_4 avr
|
||||
fr_FR.ISO-8859-1 ABMON_5 mai
|
||||
fr_FR.ISO-8859-1 ABMON_6 jun
|
||||
fr_FR.ISO-8859-1 ABMON_7 jui
|
||||
fr_FR.ISO-8859-1 ABMON_8 aoû
|
||||
fr_FR.ISO-8859-1 ABMON_9 sep
|
||||
fr_FR.ISO-8859-1 ABMON_10 oct
|
||||
fr_FR.ISO-8859-1 ABMON_11 nov
|
||||
fr_FR.ISO-8859-1 ABMON_12 déc
|
||||
fr_FR.ISO-8859-1 MON_1 janvier
|
||||
fr_FR.ISO-8859-1 MON_2 février
|
||||
fr_FR.ISO-8859-1 MON_3 mars
|
||||
fr_FR.ISO-8859-1 MON_4 avril
|
||||
fr_FR.ISO-8859-1 MON_5 mai
|
||||
fr_FR.ISO-8859-1 MON_6 juin
|
||||
fr_FR.ISO-8859-1 MON_7 juillet
|
||||
fr_FR.ISO-8859-1 MON_8 août
|
||||
fr_FR.ISO-8859-1 MON_9 septembre
|
||||
fr_FR.ISO-8859-1 MON_10 octobre
|
||||
fr_FR.ISO-8859-1 MON_11 novembre
|
||||
fr_FR.ISO-8859-1 MON_12 décembre
|
||||
fr_FR.ISO-8859-1 D_T_FMT "%a %d %b %Y %T %Z"
|
||||
fr_FR.ISO-8859-1 D_FMT "%d.%m.%Y"
|
||||
fr_FR.ISO-8859-1 T_FMT "%T"
|
||||
fr_FR.ISO-8859-1 RADIXCHAR ,
|
||||
fr_FR.ISO-8859-1 THOUSEP ""
|
||||
fr_FR.ISO-8859-1 YESEXPR ^[oOyY].*
|
||||
fr_FR.ISO-8859-1 NOEXPR ^[nN].*
|
||||
ja_JP.EUC-JP ABDAY_1 Æü
|
||||
ja_JP.EUC-JP ABDAY_2 ·î
|
||||
ja_JP.EUC-JP ABDAY_3 ²Ð
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1991-1999, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -53,7 +53,8 @@ distribute := exit.h grouping.h abort-instr.h isomac.c tst-fmtmsg.sh
|
||||
test-srcs := tst-fmtmsg
|
||||
tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
|
||||
test-canon test-canon2 tst-strtoll tst-environ \
|
||||
tst-xpg-basename tst-random tst-bsearch tst-limits
|
||||
tst-xpg-basename tst-random tst-bsearch tst-limits \
|
||||
tst-rand48
|
||||
|
||||
|
||||
# Several mpn functions from GNU MP are used by the strtod function.
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995, 1997, 1998, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
|
||||
|
||||
@ -31,12 +31,9 @@ __jrand48_r (xsubi, buffer, result)
|
||||
|
||||
/* Store the result. */
|
||||
if (sizeof (unsigned short int) == 2)
|
||||
*result = ((xsubi[2] & 0x7fff) << 16) | xsubi[1];
|
||||
*result = (xsubi[2] << 16) | xsubi[1];
|
||||
else
|
||||
*result = xsubi[2] & 0x7fffffffl;
|
||||
|
||||
if (xsubi[2] & (1 << (sizeof (xsubi[2]) * 8 - 1)))
|
||||
*result *= -1;
|
||||
*result = xsubi[2] & 0xffffffffl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
390
stdlib/tst-rand48.c
Normal file
390
stdlib/tst-rand48.c
Normal file
@ -0,0 +1,390 @@
|
||||
#include <float.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifndef DECIMAL_DIG
|
||||
# define DECIMAL_DIG 21
|
||||
#endif
|
||||
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
unsigned short int xs[3] = { 0x0001, 0x0012, 0x0123 };
|
||||
unsigned short int lxs[7];
|
||||
unsigned short int *xsp;
|
||||
int result = 0;
|
||||
long int l;
|
||||
double d;
|
||||
double e;
|
||||
|
||||
/* Test srand48. */
|
||||
srand48 (0x98765432);
|
||||
/* Get the values of the internal Xi array. */
|
||||
xsp = seed48 (xs);
|
||||
if (xsp[0] != 0x330e || xsp[1] != 0x5432 || xsp[2] != 0x9876)
|
||||
{
|
||||
puts ("srand48(0x98765432) didn't set correct value");
|
||||
printf (" expected: { %04hx, %04hx, %04hx }\n", 0x330e, 0x5432, 0x9876);
|
||||
printf (" seen: { %04hx, %04hx, %04hx }\n", xsp[0], xsp[1], xsp[2]);
|
||||
result = 1;
|
||||
}
|
||||
/* Put the values back. */
|
||||
memcpy (xs, xsp, sizeof (xs));
|
||||
(void) seed48 (xs);
|
||||
|
||||
/* See whether the correct values are installed. */
|
||||
l = lrand48 ();
|
||||
if (l != 0x2fed1413l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x2fed1413l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0xa28c1003l)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0xa28c1003l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = lrand48 ();
|
||||
if (l != 0x585fcfb7l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x585fcfb7l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0x9e88f474l)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x9e88f474l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Test seed48. The previous call should have install the values in
|
||||
the initialization of `xs' above. */
|
||||
xs[0] = 0x1234;
|
||||
xs[1] = 0x5678;
|
||||
xs[2] = 0x9012;
|
||||
xsp = seed48 (xs);
|
||||
if (xsp[0] != 0x62f2 || xsp[1] != 0xf474 || xsp[2] != 0x9e88)
|
||||
{
|
||||
puts ("seed48() did not install the values correctly");
|
||||
printf (" expected: { %04hx, %04hx, %04hx }\n", 0x62f2, 0xf474, 0x9e88);
|
||||
printf (" seen: { %04hx, %04hx, %04hx }\n", xsp[0], xsp[1], xsp[2]);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Test lrand48 and mrand48. We continue from the seed established
|
||||
above. */
|
||||
l = lrand48 ();
|
||||
if (l != 0x017e48b5l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x017e48b5l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0xeb7a1fa3l)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0xeb7a1fa3l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = lrand48 ();
|
||||
if (l != 0x6b6a3f95l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x6b6a3f95l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0x175c0d6fl)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x175c0d6fl, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Test lcong48. */
|
||||
lxs[0] = 0x4567;
|
||||
lxs[1] = 0x6789;
|
||||
lxs[2] = 0x8901;
|
||||
lxs[3] = 0x0123;
|
||||
lxs[4] = 0x2345;
|
||||
lxs[5] = 0x1111;
|
||||
lxs[6] = 0x2222;
|
||||
lcong48 (lxs);
|
||||
|
||||
/* See whether the correct values are installed. */
|
||||
l = lrand48 ();
|
||||
if (l != 0x6df63d66l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x6df63d66l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0x2f92c8e1l)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x2f92c8e1l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = lrand48 ();
|
||||
if (l != 0x3b4869ffl)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x3b4869ffl, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0x5cd4cc3el)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x5cd4cc3el, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Check whether srand48() restores the A and C parameters. */
|
||||
srand48 (0x98765432);
|
||||
|
||||
/* See whether the correct values are installed. */
|
||||
l = lrand48 ();
|
||||
if (l != 0x2fed1413l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x2fed1413l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0xa28c1003l)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0xa28c1003l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = lrand48 ();
|
||||
if (l != 0x585fcfb7l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x585fcfb7l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0x9e88f474l)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x9e88f474l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* And again to see whether seed48() does the same. */
|
||||
lcong48 (lxs);
|
||||
|
||||
/* See whether lxs wasn't modified. */
|
||||
l = lrand48 ();
|
||||
if (l != 0x6df63d66l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x6df63d66l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Test seed48. The previous call should have install the values in
|
||||
the initialization of `xs' above. */
|
||||
xs[0] = 0x1234;
|
||||
xs[1] = 0x5678;
|
||||
xs[2] = 0x9012;
|
||||
xsp = seed48 (xs);
|
||||
if (xsp[0] != 0x0637 || xsp[1] != 0x7acd || xsp[2] != 0xdbec)
|
||||
{
|
||||
puts ("seed48() did not install the values correctly");
|
||||
printf (" expected: { %04hx, %04hx, %04hx }\n", 0x0637, 0x7acd, 0xdbec);
|
||||
printf (" seen: { %04hx, %04hx, %04hx }\n", xsp[0], xsp[1], xsp[2]);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Test lrand48 and mrand48. We continue from the seed established
|
||||
above. */
|
||||
l = lrand48 ();
|
||||
if (l != 0x017e48b5l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x017e48b5l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0xeb7a1fa3l)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0xeb7a1fa3l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = lrand48 ();
|
||||
if (l != 0x6b6a3f95l)
|
||||
{
|
||||
printf ("lrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x6b6a3f95l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = mrand48 ();
|
||||
if (l != 0x175c0d6fl)
|
||||
{
|
||||
printf ("mrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x175c0d6fl, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Test drand48. */
|
||||
d = drand48 ();
|
||||
if (d != 0.0908832261858485424)
|
||||
{
|
||||
printf ("drand48() in line %d failed: expected %.*g, seen %.*g\n",
|
||||
__LINE__ - 4, DECIMAL_DIG, 0.0908832261858485424,
|
||||
DECIMAL_DIG, d);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
d = drand48 ();
|
||||
if (d != 0.943149381730059133133)
|
||||
{
|
||||
printf ("drand48() in line %d failed: expected %.*g, seen %.*g\n",
|
||||
__LINE__ - 4, DECIMAL_DIG, 0.943149381730059133133,
|
||||
DECIMAL_DIG, d);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Now the functions which get the Xis passed. */
|
||||
xs[0] = 0x3849;
|
||||
xs[1] = 0x5061;
|
||||
xs[2] = 0x7283;
|
||||
|
||||
l = nrand48 (xs);
|
||||
if (l != 0x1efe61a1l)
|
||||
{
|
||||
printf ("nrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x1efe61a1l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = jrand48 (xs);
|
||||
if (l != 0xf568c7a0l)
|
||||
{
|
||||
printf ("jrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0xf568c7a0l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = nrand48 (xs);
|
||||
if (l != 0x2a5e57fel)
|
||||
{
|
||||
printf ("nrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x2a5e57fel, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = jrand48 (xs);
|
||||
if (l != 0x71a779a8l)
|
||||
{
|
||||
printf ("jrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x71a779a8l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Test whether the global A and C are used. */
|
||||
lcong48 (lxs);
|
||||
|
||||
l = nrand48 (xs);
|
||||
if (l != 0x32beee9fl)
|
||||
{
|
||||
printf ("nrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x32beee9fl, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = jrand48 (xs);
|
||||
if (l != 0x7bddf3bal)
|
||||
{
|
||||
printf ("jrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x7bddf3bal, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = nrand48 (xs);
|
||||
if (l != 0x85bdf28l)
|
||||
{
|
||||
printf ("nrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x85bdf28l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
l = jrand48 (xs);
|
||||
if (l != 0x7b433e47l)
|
||||
{
|
||||
printf ("jrand48() in line %d failed: expected %lx, seen %lx\n",
|
||||
__LINE__ - 4, 0x7b433e47l, l);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Test erand48. Also compare with the drand48 results. */
|
||||
(void) seed48 (xs);
|
||||
|
||||
d = drand48 ();
|
||||
e = erand48 (xs);
|
||||
if (d != e)
|
||||
{
|
||||
printf ("\
|
||||
drand48() and erand48 in lines %d and %d produce different results\n",
|
||||
__LINE__ - 6, __LINE__ - 5);
|
||||
printf (" drand48() = %g, erand48() = %g\n", d, e);
|
||||
result = 1;
|
||||
}
|
||||
else if (e != 0.640650904452755298735)
|
||||
{
|
||||
printf ("erand48() in line %d failed: expected %.*g, seen %.*g\n",
|
||||
__LINE__ - 4, DECIMAL_DIG, 0.640650904452755298735,
|
||||
DECIMAL_DIG, e);
|
||||
result = 1;
|
||||
|
||||
}
|
||||
|
||||
d = drand48 ();
|
||||
e = erand48 (xs);
|
||||
if (d != e)
|
||||
{
|
||||
printf ("\
|
||||
drand48() and erand48 in lines %d and %d produce different results\n",
|
||||
__LINE__ - 6, __LINE__ - 5);
|
||||
printf (" drand48() = %g, erand48() = %g\n", d, e);
|
||||
result = 1;
|
||||
}
|
||||
else if (e != 0.115372323508150742555)
|
||||
{
|
||||
printf ("erand48() in line %d failed: expected %.*g, seen %.*g\n",
|
||||
__LINE__ - 4, DECIMAL_DIG, 0.0115372323508150742555,
|
||||
DECIMAL_DIG, e);
|
||||
result = 1;
|
||||
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
Loading…
Reference in New Issue
Block a user