1
0
mirror of https://github.com/adtools/clib2.git synced 2025-12-08 14:59:05 +00:00

5 Commits

Author SHA1 Message Date
Olaf Barthel
5c449cb631 This commit was manufactured by cvs2svn to create tag 'V1_170'.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/tags/V1_170@14707 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-14 08:54:26 +00:00
Olaf Barthel
16407d5389 c.lib 1.170 (14.8.2004)
- Added "math_logb.c", and it appears to work, too.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14706 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-14 08:54:25 +00:00
Olaf Barthel
c18e21ee36 - Added "math_logb.c"; I still have to verify that it works as expected.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14705 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-12 12:31:29 +00:00
Olaf Barthel
3f284b7fb8 c.lib 1.169 (8.8.2004)
- Since the 'long double' data type is not really supported by the GCC
  versions we use (and not supported by SAS/C either) building the
  library with support code for it is now a configurable option. Unless
  enabled, 'long double' is now treated like 'double'.

- Reworked the HUGE_VAL definition which previously would default to
  Infinity. The new code properly defines this to the largest
  representable floating point number. The 'great' thing about the
  HUGE_VAL definition in this library is that it's a reference to
  a binary constant initialized by the library startup code. So any
  application checking for HUGE_VAL merely needs to be relinked
  rather than recompiled.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14703 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-08 10:55:57 +00:00
Olaf Barthel
0a3962a105 - Moved the isascii() definition behind the "The following is not part of the
ISO 'C' (1994) standard." warning.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14702 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-07 10:42:04 +00:00
31 changed files with 309 additions and 159 deletions

View File

@@ -1,5 +1,5 @@
#
# $Id: GNUmakefile.68k,v 1.3 2004-08-07 09:15:32 obarthel Exp $
# $Id: GNUmakefile.68k,v 1.5 2004-08-14 08:54:25 obarthel Exp $
#
# :ts=8
#
@@ -458,6 +458,7 @@ MATH_LIB = \
math_ldexp.o \
math_log.o \
math_log10.o \
math_logb.o \
math_modf.o \
math_pow.o \
math_rint.o \
@@ -698,11 +699,6 @@ STARTUPS := nrcrt0.o nbcrt0.o nr32crt0.o nb32crt0.o ncrt0.o mainnb.o mainb.o mai
##############################################################################
all: \
lib/libm020/libm.a \
lib/libm.a \
lib/libb/libm020/libm.a \
lib/libb/libm.a \
lib/libb32/libm020/libm.a \
lib/nrcrt0.o \
lib/nbcrt0.o \
lib/ncrt0.o \
@@ -710,7 +706,12 @@ all: \
lib/n32rcrt0.o \
lib/mainnb.o \
lib/mainb.o \
lib/mainb32.o
lib/mainb32.o \
lib/libm.a \
lib/libm020/libm.a \
lib/libb/libm.a \
lib/libb/libm020/libm.a \
lib/libb32/libm020/libm.a
##############################################################################

View File

@@ -1,5 +1,5 @@
#
# $Id: GNUmakefile.os4,v 1.3 2004-08-07 09:15:32 obarthel Exp $
# $Id: GNUmakefile.os4,v 1.4 2004-08-12 12:31:15 obarthel Exp $
#
# :ts=8
#
@@ -450,6 +450,7 @@ MATH_LIB = \
math_ldexp.o \
math_log.o \
math_log10.o \
math_logb.o \
math_modf.o \
math_pow.o \
math_rint.o \

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 168
#define DATE "7.8.2004"
#define VERS "amiga.lib 1.168"
#define VSTRING "amiga.lib 1.168 (7.8.2004)\r\n"
#define VERSTAG "\0$VER: amiga.lib 1.168 (7.8.2004)"
#define REVISION 170
#define DATE "14.8.2004"
#define VERS "amiga.lib 1.170"
#define VSTRING "amiga.lib 1.170 (14.8.2004)\r\n"
#define VERSTAG "\0$VER: amiga.lib 1.170 (14.8.2004)"

View File

@@ -1 +1 @@
168
170

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 168
#define DATE "7.8.2004"
#define VERS "c.lib 1.168"
#define VSTRING "c.lib 1.168 (7.8.2004)\r\n"
#define VERSTAG "\0$VER: c.lib 1.168 (7.8.2004)"
#define REVISION 170
#define DATE "14.8.2004"
#define VERS "c.lib 1.170"
#define VSTRING "c.lib 1.170 (14.8.2004)\r\n"
#define VERSTAG "\0$VER: c.lib 1.170 (14.8.2004)"

View File

@@ -1 +1 @@
168
170

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 168
#define DATE "7.8.2004"
#define VERS "debug.lib 1.168"
#define VSTRING "debug.lib 1.168 (7.8.2004)\r\n"
#define VERSTAG "\0$VER: debug.lib 1.168 (7.8.2004)"
#define REVISION 170
#define DATE "14.8.2004"
#define VERS "debug.lib 1.170"
#define VSTRING "debug.lib 1.170 (14.8.2004)\r\n"
#define VERSTAG "\0$VER: debug.lib 1.170 (14.8.2004)"

View File

@@ -1 +1 @@
168
170

View File

@@ -1,5 +1,5 @@
/*
* $Id: ctype.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
* $Id: ctype.h,v 1.3 2004-08-07 10:42:04 obarthel Exp $
*
* :ts=4
*
@@ -63,12 +63,6 @@ extern int toupper(int c);
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
#define isascii(c) ((unsigned)(c) <= 127)
/****************************************************************************/
/*
* If requested, reimplement the character classification functions as macros;
* note that the macro variants ignore the current locale and default to the
@@ -113,6 +107,12 @@ extern const unsigned char * const __ctype_table;
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
#define isascii(c) ((unsigned)(c) <= 127)
/****************************************************************************/
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@@ -1,5 +1,5 @@
/*
* $Id: math.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $
* $Id: math.h,v 1.3 2004-08-12 12:31:29 obarthel Exp $
*
* :ts=4
*
@@ -89,6 +89,7 @@ extern double rint(double x);
extern float rintf(float x);
extern int isinf(double x);
extern int isnan(double x);
extern double logb(double x);
/****************************************************************************/

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 168
#define DATE "7.8.2004"
#define VERS "m.lib 1.168"
#define VSTRING "m.lib 1.168 (7.8.2004)\r\n"
#define VERSTAG "\0$VER: m.lib 1.168 (7.8.2004)"
#define REVISION 170
#define DATE "14.8.2004"
#define VERS "m.lib 1.170"
#define VSTRING "m.lib 1.170 (14.8.2004)\r\n"
#define VERSTAG "\0$VER: m.lib 1.170 (14.8.2004)"

View File

@@ -1 +1 @@
168
170

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 168
#define DATE "7.8.2004"
#define VERS "m881.lib 1.168"
#define VSTRING "m881.lib 1.168 (7.8.2004)\r\n"
#define VERSTAG "\0$VER: m881.lib 1.168 (7.8.2004)"
#define REVISION 170
#define DATE "14.8.2004"
#define VERS "m881.lib 1.170"
#define VSTRING "m881.lib 1.170 (14.8.2004)\r\n"
#define VERSTAG "\0$VER: m881.lib 1.170 (14.8.2004)"

View File

@@ -1 +1 @@
168
170

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_fp_support.h,v 1.1.1.1 2004-07-26 16:30:44 obarthel Exp $
* $Id: math_fp_support.h,v 1.2 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -36,9 +36,47 @@
/****************************************************************************/
/* If any of the three supported floating point support flavours is
enabled, make sure that the generic 'FLOATING_POINT_SUPPORT' symbol
is defined, too.*/
#if (defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT) || defined(PPC_FLOATING_POINT_SUPPORT))
#define FLOATING_POINT_SUPPORT
#endif
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT || PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
/* This selects whether or not the 'long double' type should be used. So far,
only 'double' can be supported, and 'long double' defaults to 'double'. */
/*#define USE_LONG_DOUBLE*/
/****************************************************************************/
#if defined(USE_LONG_DOUBLE)
typedef long double __long_double_t;
#else
typedef double __long_double_t;
#endif /* USE_LONG_DOUBLE */
/****************************************************************************/
/* 'Portable' raw representations of three IEEE floating point formats. */
union ieee_long_double
{
long double value;
unsigned long raw[3];
};
union ieee_double
{
double value;
unsigned long raw[2];
};
union ieee_single
{
float value;
unsigned long raw[1];
};
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_headers.h,v 1.1.1.1 2004-07-26 16:30:45 obarthel Exp $
* $Id: math_headers.h,v 1.2 2004-08-12 12:31:16 obarthel Exp $
*
* :ts=4
*
@@ -38,6 +38,7 @@
#include <limits.h>
#include <errno.h>
#include <float.h>
#include <math.h>
/****************************************************************************/

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_init_exit.c,v 1.1.1.1 2004-07-26 16:30:46 obarthel Exp $
* $Id: math_init_exit.c,v 1.2 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -121,41 +121,45 @@ __math_init(void)
#endif /* IEEE_FLOATING_POINT_SUPPORT */
/* Now fill in the HUGE_VAL constant, which is set to
* +Infinity.
*/
the largest representable floating point value. */
if(sizeof(__huge_val) == 4) /* single precision */
{
static const unsigned long infinity[] =
static const unsigned long largest_fp_value[1] =
{
0x7F800000
/* Exponent = +126, Mantissa = 8,388,607 */
0x7f7fffff
};
assert( sizeof(infinity) == sizeof(__huge_val) );
assert( sizeof(largest_fp_value) == sizeof(__huge_val) );
memmove((void *)&__huge_val,infinity,sizeof(infinity));
memmove((void *)&__huge_val,largest_fp_value,sizeof(largest_fp_value));
}
else if (sizeof(__huge_val) == 8) /* double precision */
{
static const unsigned long infinity[] =
static const unsigned long largest_fp_value[2] =
{
0x7FF00000,0x00000000
/* Exponent = +1022, Mantissa = 4,503,599,627,370,495 */
0x7fefffff,0xffffffff
};
assert( sizeof(infinity) == sizeof(__huge_val) );
assert( sizeof(largest_fp_value) == sizeof(__huge_val) );
memmove((void *)&__huge_val,infinity,sizeof(infinity));
memmove((void *)&__huge_val,largest_fp_value,sizeof(largest_fp_value));
}
#if defined(USE_LONG_DOUBLE)
else if (sizeof(__huge_val) == 12) /* extended precision */
{
static const unsigned long infinity[] =
static const unsigned long largest_fp_value[3] =
{
0x7FFF0000,0x00000000,0x00000000
/* Exponent = +32766, Mantissa = 18,446,744,073,709,551,615 */
0x7ffe0000,0xffffffff,0xffffffff
};
assert( sizeof(infinity) == sizeof(__huge_val) );
assert( sizeof(largest_fp_value) == sizeof(__huge_val) );
memmove((void *)&__huge_val,infinity,sizeof(infinity));
memmove((void *)&__huge_val,largest_fp_value,sizeof(largest_fp_value));
}
#endif /* USE_LONG_DOUBLE */
result = OK;

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_isinf.c,v 1.1 2004-08-07 09:15:32 obarthel Exp $
* $Id: math_isinf.c,v 1.2 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -45,26 +45,6 @@
/****************************************************************************/
union ieee_long_double
{
long double value;
unsigned long raw[3];
};
union ieee_double
{
double value;
unsigned long raw[2];
};
union ieee_single
{
float value;
unsigned long raw[1];
};
/****************************************************************************/
int
isinf(double number)
{
@@ -93,6 +73,7 @@ isinf(double number)
/* Exponent = 2047 and fraction = 0.0 */
is_infinity = (((x.raw[0] & 0x7FFFFFFF) == 0x7FF00000) && (x.raw[1] == 0));
}
#if defined(USE_LONG_DOUBLE)
else if (sizeof(number) == 12) /* extended precision */
{
union ieee_long_double x;
@@ -102,6 +83,7 @@ isinf(double number)
/* Exponent = 32767 and fraction = 0.0 */
is_infinity = (((x.raw[0] & 0x7FFF0000) == 0x7FFF0000) && (x.raw[1] & 0x7FFFFFFF) == 0 && (x.raw[2] == 0));
}
#endif /* USE_LONG_DOUBLE */
else
{
/* Can't happen */

View File

@@ -1,5 +1,5 @@
/*
* $Id: math_isnan.c,v 1.1 2004-08-07 09:15:32 obarthel Exp $
* $Id: math_isnan.c,v 1.2 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -45,26 +45,6 @@
/****************************************************************************/
union ieee_long_double
{
long double value;
unsigned long raw[3];
};
union ieee_double
{
double value;
unsigned long raw[2];
};
union ieee_single
{
float value;
unsigned long raw[1];
};
/****************************************************************************/
int
isnan(double number)
{
@@ -92,15 +72,17 @@ isnan(double number)
/* Exponent = 2047 and fraction != 0.0 */
result = (((x.raw[0] & 0x7FF00000) == 0x7FF00000) && ((x.raw[0] & 0x000FFFFF) != 0 || (x.raw[1] != 0)));
}
#if defined(USE_LONG_DOUBLE)
else if (sizeof(number) == 12) /* extended precision */
{
union ieee_long_double x;
x.value = number;
/* Exponent = 32767 and fraction != 0.0 */
/* Exponent = 32766 and fraction != 0.0 */
result = (((x.raw[0] & 0x7FFF0000) == 0x7FFF0000) && ((x.raw[1] & 0x7FFFFFFF) != 0 || x.raw[2] != 0));
}
#endif /* USE_LONG_DOUBLE */
else
{
/* Can't happen */

136
library/math_logb.c Normal file
View File

@@ -0,0 +1,136 @@
/*
* $Id: math_logb.c,v 1.1 2004-08-12 12:31:16 obarthel Exp $
*
* :ts=4
*
* Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2004 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Neither the name of Olaf Barthel nor the names of contributors
* may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
*
* PowerPC math library based in part on work by Sun Microsystems
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
*/
#ifndef _MATH_HEADERS_H
#include "math_headers.h"
#endif /* _MATH_HEADERS_H */
/****************************************************************************/
#if defined(FLOATING_POINT_SUPPORT)
/****************************************************************************/
#if defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT)
/****************************************************************************/
INLINE static const double
__logb(double x)
{
double result;
result = log(x) / log(FLT_RADIX);
return(result);
}
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
INLINE static const double
__logb(double x)
{
unsigned int lx,ix;
EXTRACT_WORDS(ix,lx,x);
ix &= 0x7fffffff; /* high |x| */
if((ix|lx)==0)
return -1.0/fabs(x);
if(ix>=0x7ff00000)
return x*x;
if((ix>>=20)==0) /* IEEE 754 logb */
return -1022.0;
else
return (double) (ix-1023);
}
#endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
double
logb(double x)
{
double result;
int sign;
if(x == 0.0)
{
result = -HUGE_VAL;
goto out;
}
if(isnan(x))
{
result = x;
goto out;
}
sign = isinf(x);
if(sign != 0)
{
if(sign < 0)
result = (-x);
else
result = x;
goto out;
}
result = __logb(x);
out:
return(result);
}
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 168
#define DATE "7.8.2004"
#define VERS "net.lib 1.168"
#define VSTRING "net.lib 1.168 (7.8.2004)\r\n"
#define VERSTAG "\0$VER: net.lib 1.168 (7.8.2004)"
#define REVISION 170
#define DATE "14.8.2004"
#define VERS "net.lib 1.170"
#define VSTRING "net.lib 1.170 (14.8.2004)\r\n"
#define VERSTAG "\0$VER: net.lib 1.170 (14.8.2004)"

View File

@@ -1 +1 @@
168
170

View File

@@ -1,3 +1,24 @@
c.lib 1.170 (14.8.2004)
- Added "math_logb.c", and it appears to work, too.
c.lib 1.169 (8.8.2004)
- Since the 'long double' data type is not really supported by the GCC
versions we use (and not supported by SAS/C either) building the
library with support code for it is now a configurable option. Unless
enabled, 'long double' is now treated like 'double'.
- Reworked the HUGE_VAL definition which previously would default to
Infinity. The new code properly defines this to the largest
representable floating point number. The 'great' thing about the
HUGE_VAL definition in this library is that it's a reference to
a binary constant initialized by the library startup code. So any
application checking for HUGE_VAL merely needs to be relinked
rather than recompiled.
c.lib 1.168 (7.8.2004)
- Ditched __is_infinity() and __is_not_a_number(), brought them back

View File

@@ -1,5 +1,5 @@
#
# $Id: smakefile,v 1.4 2004-08-07 09:15:32 obarthel Exp $
# $Id: smakefile,v 1.5 2004-08-12 12:31:27 obarthel Exp $
#
# :ts=8
#
@@ -195,6 +195,7 @@ MATH_OBJ = \
math_ldexp.o \
math_log.o \
math_log10.o \
math_logb.o \
math_modf.o \
math_pow.o \
math_rint.o \

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 168
#define DATE "7.8.2004"
#define VERS "stack.lib 1.168"
#define VSTRING "stack.lib 1.168 (7.8.2004)\r\n"
#define VERSTAG "\0$VER: stack.lib 1.168 (7.8.2004)"
#define REVISION 170
#define DATE "14.8.2004"
#define VERS "stack.lib 1.170"
#define VSTRING "stack.lib 1.170 (14.8.2004)\r\n"
#define VERSTAG "\0$VER: stack.lib 1.170 (14.8.2004)"

View File

@@ -1 +1 @@
168
170

View File

@@ -1,5 +1,5 @@
/*
* $Id: stdio_protos.h,v 1.1.1.1 2004-07-26 16:31:39 obarthel Exp $
* $Id: stdio_protos.h,v 1.2 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -200,22 +200,4 @@ extern void __duplicate_fd(struct fd * duplicate_fd,struct fd * original_fd);
/****************************************************************************/
#if defined(FLOATING_POINT_SUPPORT)
/****************************************************************************/
/* stdio_isnotanumber.c */
extern int __is_not_a_number(long double number);
/****************************************************************************/
/* stdio_isinfinity.c */
extern int __is_infinity(long double number);
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */
/****************************************************************************/
#endif /* _STDIO_PROTOS_H */

View File

@@ -1,5 +1,5 @@
/*
* $Id: stdio_vfprintf.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
* $Id: stdio_vfprintf.c,v 1.3 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -72,7 +72,7 @@
/****************************************************************************/
static int
get_num_leading_digits(long double v)
get_num_leading_digits(__long_double_t v)
{
int num_digits;
@@ -634,14 +634,14 @@ vfprintf(FILE * stream,const char * format, va_list arg)
const char * buffer_stop = &buffer[sizeof(buffer)-1];
char * buffer_start = buffer;
long double v;
__long_double_t v;
output_buffer = buffer_start;
D(("sizeof(long double) == %ld",sizeof(v)));
if(parameter_size == parameter_size_long_double)
v = va_arg(arg, long double);
v = va_arg(arg, __long_double_t);
else
v = va_arg(arg, double);
@@ -676,7 +676,7 @@ vfprintf(FILE * stream,const char * format, va_list arg)
else
{
BOOL strip_trailing_zeroes = FALSE;
long double roundoff_fudge = 0.0;
__long_double_t roundoff_fudge = 0.0;
int max_digits = -1;
int exponent = 0;
int digit;
@@ -713,7 +713,7 @@ vfprintf(FILE * stream,const char * format, va_list arg)
/* Figure out whether 'e' or 'f' format should be used. */
if(conversion_type == 'g' || conversion_type == 'e')
{
long double local_v = v;
__long_double_t local_v = v;
int local_exponent = 0;
/* Put one single digit in front of the decimal point. */
@@ -978,7 +978,7 @@ vfprintf(FILE * stream,const char * format, va_list arg)
/* Remove the parameter from the argument vector and
don't produce any output. */
if(parameter_size == parameter_size_long_double)
(void)va_arg(arg, long double);
(void)va_arg(arg, __long_double_t);
else
(void)va_arg(arg, double);

View File

@@ -1,5 +1,5 @@
/*
* $Id: stdio_vfscanf.c,v 1.1.1.1 2004-07-26 16:31:48 obarthel Exp $
* $Id: stdio_vfscanf.c,v 1.2 2004-08-08 10:55:57 obarthel Exp $
*
* :ts=4
*
@@ -456,8 +456,8 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
{
#if defined(FLOATING_POINT_SUPPORT)
{
long double sum = 0.0;
long double new_sum;
__long_double_t sum = 0.0;
__long_double_t new_sum;
BOOL is_negative = FALSE;
BOOL decimal_point_matches = FALSE;
BOOL have_exponent = FALSE;
@@ -495,7 +495,7 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
{
SHOWMSG("extended format (long double)");
next_parameter = va_arg(arg,long double *);
next_parameter = va_arg(arg,__long_double_t *);
}
assert( next_parameter != NULL );
@@ -520,7 +520,7 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
}
else
{
*((long double *)next_parameter) = 0;
*((__long_double_t *)next_parameter) = 0;
}
}
@@ -869,7 +869,7 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
}
else
{
*((long double *)next_parameter) = sum;
*((__long_double_t *)next_parameter) = sum;
}
num_assignments++;
@@ -912,7 +912,7 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
{
SHOWMSG("extended format (long double)");
next_parameter = va_arg(arg,long double *);
next_parameter = va_arg(arg,__long_double_t *);
}
assert( next_parameter != NULL );

View File

@@ -1,6 +1,6 @@
#define VERSION 1
#define REVISION 168
#define DATE "7.8.2004"
#define VERS "unix.lib 1.168"
#define VSTRING "unix.lib 1.168 (7.8.2004)\r\n"
#define VERSTAG "\0$VER: unix.lib 1.168 (7.8.2004)"
#define REVISION 170
#define DATE "14.8.2004"
#define VERS "unix.lib 1.170"
#define VSTRING "unix.lib 1.170 (14.8.2004)\r\n"
#define VERSTAG "\0$VER: unix.lib 1.170 (14.8.2004)"

View File

@@ -1 +1 @@
168
170