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

1 Commits

Author SHA1 Message Date
Olaf Barthel
280c88bd10 This commit was manufactured by cvs2svn to create tag 'V1_166'.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/tags/V1_166@14691 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-07-28 15:50:46 +00:00
160 changed files with 3610 additions and 5110 deletions

View File

@@ -1,5 +1,5 @@
# #
# $Id: GNUmakefile.68k,v 1.9 2004-09-20 17:16:06 obarthel Exp $ # $Id: GNUmakefile.68k,v 1.2 2004-07-28 15:50:44 obarthel Exp $
# #
# :ts=8 # :ts=8
# #
@@ -144,7 +144,6 @@ C_LIB = \
fcntl_open.o \ fcntl_open.o \
fcntl_read.o \ fcntl_read.o \
fcntl_write.o \ fcntl_write.o \
fcntl_get_default_file.o \
libgen_basename.o \ libgen_basename.o \
libgen_dirname.o \ libgen_dirname.o \
locale_data.o \ locale_data.o \
@@ -307,8 +306,6 @@ C_LIB = \
stdlib_startup.o \ stdlib_startup.o \
stdlib_strtol.o \ stdlib_strtol.o \
stdlib_strtoul.o \ stdlib_strtoul.o \
stdlib_strtoll.o \
stdlib_strtoull.o \
stdlib_swapstack.o \ stdlib_swapstack.o \
stdlib_sysbase.o \ stdlib_sysbase.o \
stdlib_system.o \ stdlib_system.o \
@@ -398,7 +395,6 @@ UNIX_LIB = \
fcntl_creat.o \ fcntl_creat.o \
fcntl_fcntl.o \ fcntl_fcntl.o \
fcntl_open.o \ fcntl_open.o \
fcntl_get_default_file.o \
mount_convertinfo.o \ mount_convertinfo.o \
mount_statfs.o \ mount_statfs.o \
stat_chmod.o \ stat_chmod.o \
@@ -456,18 +452,12 @@ MATH_LIB = \
math_floor.o \ math_floor.o \
math_fmod.o \ math_fmod.o \
math_frexp.o \ math_frexp.o \
math_hypot.o \
math_init_exit.o \ math_init_exit.o \
math_isinf.o \
math_isnan.o \
math_ldexp.o \ math_ldexp.o \
math_log.o \ math_log.o \
math_log10.o \ math_log10.o \
math_logb.o \
math_modf.o \ math_modf.o \
math_pow.o \ math_pow.o \
math_rint.o \
math_rintf.o \
math_sin.o \ math_sin.o \
math_sinh.o \ math_sinh.o \
math_sqrt.o \ math_sqrt.o \
@@ -477,6 +467,8 @@ MATH_LIB = \
stdio_flush.o \ stdio_flush.o \
stdio_fprintf.o \ stdio_fprintf.o \
stdio_fscanf.o \ stdio_fscanf.o \
stdio_isinfinity.o \
stdio_isnotanumber.o \
stdio_printf.o \ stdio_printf.o \
stdio_scanf.o \ stdio_scanf.o \
stdio_snprintf.o \ stdio_snprintf.o \
@@ -704,6 +696,11 @@ STARTUPS := nrcrt0.o nbcrt0.o nr32crt0.o nb32crt0.o ncrt0.o mainnb.o mainb.o mai
############################################################################## ##############################################################################
all: \ 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/nrcrt0.o \
lib/nbcrt0.o \ lib/nbcrt0.o \
lib/ncrt0.o \ lib/ncrt0.o \
@@ -711,12 +708,7 @@ all: \
lib/n32rcrt0.o \ lib/n32rcrt0.o \
lib/mainnb.o \ lib/mainnb.o \
lib/mainb.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.8 2004-09-27 15:04:51 tfrieden Exp $ # $Id: GNUmakefile.os4,v 1.2 2004-07-28 15:50:44 obarthel Exp $
# #
# :ts=8 # :ts=8
# #
@@ -65,7 +65,7 @@ $(LIBUNIX_OBJS)/%.o : %.c
$(LIBM_OBJS)/%.o : %.c $(LIBM_OBJS)/%.o : %.c
@echo "Compiling $< [$(TYPE):m]" @echo "Compiling $< [$(TYPE):m]"
@$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) $< @$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) -DPPC_FLOATING_POINT_SUPPORT $<
$(LIBSTACK_OBJS)/%.o : %.c $(LIBSTACK_OBJS)/%.o : %.c
@echo "Compiling $< [$(TYPE):stack]" @echo "Compiling $< [$(TYPE):stack]"
@@ -86,15 +86,11 @@ $(LIBAMIGA_OBJS)/%.o : %.c
############################################################################## ##############################################################################
ifeq (small_data,$(TYPE)) ifeq (small_data,$(TYPE))
CODE_TYPE := -msdata=sysv -DSMALL_DATA -DPPC_FLOATING_POINT_SUPPORT CODE_TYPE := -msdata=sysv -DSMALL_DATA
endif endif
ifeq (large_data,$(TYPE)) ifeq (large_data,$(TYPE))
CODE_TYPE := -msdata=data -DPPC_FLOATING_POINT_SUPPORT CODE_TYPE := -msdata=data
endif
ifeq (large_data_softfloat, $(TYPE))
CODE_TYPE := -msdata=data -msoft-float
endif endif
############################################################################## ##############################################################################
@@ -142,7 +138,6 @@ C_LIB = \
fcntl_open.o \ fcntl_open.o \
fcntl_read.o \ fcntl_read.o \
fcntl_write.o \ fcntl_write.o \
fcntl_get_default_file.o \
libgen_basename.o \ libgen_basename.o \
libgen_dirname.o \ libgen_dirname.o \
locale_data.o \ locale_data.o \
@@ -306,8 +301,6 @@ C_LIB = \
stdlib_startup.o \ stdlib_startup.o \
stdlib_strtol.o \ stdlib_strtol.o \
stdlib_strtoul.o \ stdlib_strtoul.o \
stdlib_strtoll.o \
stdlib_strtoull.o \
stdlib_swapstack.o \ stdlib_swapstack.o \
stdlib_system.o \ stdlib_system.o \
stdlib_termination_message.o \ stdlib_termination_message.o \
@@ -394,7 +387,6 @@ UNIX_LIB = \
fcntl_creat.o \ fcntl_creat.o \
fcntl_fcntl.o \ fcntl_fcntl.o \
fcntl_open.o \ fcntl_open.o \
fcntl_get_default_file.o \
mount_convertinfo.o \ mount_convertinfo.o \
mount_statfs.o \ mount_statfs.o \
stat_chmod.o \ stat_chmod.o \
@@ -452,18 +444,12 @@ MATH_LIB = \
math_floor.o \ math_floor.o \
math_fmod.o \ math_fmod.o \
math_frexp.o \ math_frexp.o \
math_hypot.o \
math_init_exit.o \ math_init_exit.o \
math_isnan.o \
math_isinf.o \
math_ldexp.o \ math_ldexp.o \
math_log.o \ math_log.o \
math_log10.o \ math_log10.o \
math_logb.o \
math_modf.o \ math_modf.o \
math_pow.o \ math_pow.o \
math_rint.o \
math_rintf.o \
math_sin.o \ math_sin.o \
math_sinh.o \ math_sinh.o \
math_sqrt.o \ math_sqrt.o \
@@ -479,6 +465,8 @@ MATH_LIB = \
stdio_flush.o \ stdio_flush.o \
stdio_fprintf.o \ stdio_fprintf.o \
stdio_fscanf.o \ stdio_fscanf.o \
stdio_isinfinity.o \
stdio_isnotanumber.o \
stdio_printf.o \ stdio_printf.o \
stdio_scanf.o \ stdio_scanf.o \
stdio_snprintf.o \ stdio_snprintf.o \
@@ -688,12 +676,7 @@ all: \
lib/crtbegin.o \ lib/crtbegin.o \
lib/crtend.o \ lib/crtend.o \
lib/mainnb.o \ lib/mainnb.o \
lib/libm.a \ lib/libm.a
lib/small-data/libm.a \
lib/bcrt0.o \
lib/bcrtbegin.o \
lib/bcrtend.o \
lib/soft-float/libc.a
copy: copy:
$(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib $(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
@@ -748,12 +731,6 @@ endif
lib: lib:
-$(MAKEDIR) $@ -$(MAKEDIR) $@
lib/small-data:
-$(MAKEDIR) $@
lib/soft-float:
-$(MAKEDIR) $@
lib/libm.a: lib lib/libm.a: lib
$(MAKE) TYPE=large_data kitchen_sink $(MAKE) TYPE=large_data kitchen_sink
$(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib $(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
@@ -762,10 +739,6 @@ lib/small-data/libm.a: lib lib/small-data
$(MAKE) TYPE=small_data kitchen_sink $(MAKE) TYPE=small_data kitchen_sink
$(COPY) $(foreach file,$(LIBS),small_data/$(file)) lib/small-data $(COPY) $(foreach file,$(LIBS),small_data/$(file)) lib/small-data
lib/soft-float/libc.a: lib lib/soft-float
$(MAKE) TYPE=large_data_softfloat kitchen_sink
$(COPY) $(foreach file,$(LIBS),large_data_softfloat/$(file)) lib/soft-float
lib/crt0.o : lib crt0.o lib/crt0.o : lib crt0.o
$(COPY) crt0.o lib $(COPY) crt0.o lib
@@ -781,15 +754,6 @@ lib/mainnb.o : lib mainnb.o
lib/mainb.o : lib mainb.o lib/mainb.o : lib mainb.o
$(COPY) mainb.o lib $(COPY) mainb.o lib
lib/bcrt0.o : lib bcrt0.o
$(COPY) bcrt0.o lib
lib/bcrtbegin.o : lib bcrtbegin.o
$(COPY) bcrtbegin.o lib
lib/bcrtend.o : lib bcrtend.o
$(COPY) bcrtend.o lib
############################################################################## ##############################################################################
$(LIBAMIGA_OBJS)/amiga_hookentry.o : amiga_hookentry.c $(LIBAMIGA_OBJS)/amiga_hookentry.o : amiga_hookentry.c
@@ -910,13 +874,6 @@ mainb.o : stdlib_main.c
@echo "Compiling $<" @echo "Compiling $<"
@$(CC) -o mainb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA stdlib_main.c @$(CC) -o mainb.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA stdlib_main.c
bcrtbegin.o : crtbegin.c
$(CC) -o bcrtbegin.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtbegin.c
bcrtend.o : crtend.c
$(CC) -o bcrtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtend.c
############################################################################## ##############################################################################
mkid: mkid:

View File

@@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 176 #define REVISION 166
#define DATE "27.9.2004" #define DATE "28.7.2004"
#define VERS "amiga.lib 1.176" #define VERS "amiga.lib 1.166"
#define VSTRING "amiga.lib 1.176 (27.9.2004)\r\n" #define VSTRING "amiga.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: amiga.lib 1.176 (27.9.2004)" #define VERSTAG "\0$VER: amiga.lib 1.166 (28.7.2004)"

View File

@@ -1 +1 @@
176 166

View File

@@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 176 #define REVISION 166
#define DATE "27.9.2004" #define DATE "28.7.2004"
#define VERS "c.lib 1.176" #define VERS "c.lib 1.166"
#define VSTRING "c.lib 1.176 (27.9.2004)\r\n" #define VSTRING "c.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: c.lib 1.176 (27.9.2004)" #define VERSTAG "\0$VER: c.lib 1.166 (28.7.2004)"

View File

@@ -1 +1 @@
176 166

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 176 #define REVISION 166
#define DATE "27.9.2004" #define DATE "28.7.2004"
#define VERS "debug.lib 1.176" #define VERS "debug.lib 1.166"
#define VSTRING "debug.lib 1.176 (27.9.2004)\r\n" #define VSTRING "debug.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: debug.lib 1.176 (27.9.2004)" #define VERSTAG "\0$VER: debug.lib 1.166 (28.7.2004)"

View File

@@ -1 +1 @@
176 166

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: dirent_closedir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: dirent_closedir.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: dirent_data.c,v 1.3 2004-08-07 10:24:04 obarthel Exp $ * $Id: dirent_data.c,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,6 +37,10 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/****************************************************************************/
/* Directories being scanned whose locks need to be freed when shutting down. */ /* Directories being scanned whose locks need to be freed when shutting down. */
struct MinList __directory_list; struct MinList __directory_list;

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: dirent_opendir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: dirent_opendir.c,v 1.1.1.1 2004-07-26 16:30:31 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -49,7 +49,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: dirent_readdir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: dirent_readdir.c,v 1.1.1.1 2004-07-26 16:30:31 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: dirent_rewinddir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: dirent_rewinddir.c,v 1.1.1.1 2004-07-26 16:30:31 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: fcntl_close.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: fcntl_close.c,v 1.1.1.1 2004-07-26 16:30:32 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: fcntl_creat.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: fcntl_creat.c,v 1.1.1.1 2004-07-26 16:30:32 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: fcntl_fcntl.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: fcntl_fcntl.c,v 1.1.1.1 2004-07-26 16:30:33 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,69 +0,0 @@
/*
* $Id: fcntl_get_default_file.c,v 1.1 2004-08-25 15:27:27 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.
*/
#ifndef _FCNTL_HEADERS_H
#include "fcntl_headers.h"
#endif /* _FCNTL_HEADERS_H */
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
int
__get_default_file(int file_descriptor,long * file_ptr)
{
struct fd * fd;
int result = -1;
assert( file_descriptor >= 0 && file_descriptor < __num_fd );
assert( __fd[file_descriptor] != NULL );
assert( FLAG_IS_SET(__fd[file_descriptor]->fd_Flags,FDF_IN_USE) );
assert( file_ptr != NULL );
fd = __get_file_descriptor(file_descriptor);
if(fd == NULL)
{
errno = EBADF;
goto out;
}
(*file_ptr) = (long)fd->fd_DefaultFile;
result = 0;
out:
return(result);
}

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: fcntl_lseek.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: fcntl_lseek.c,v 1.1.1.1 2004-07-26 16:30:33 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: fcntl_open.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: fcntl_open.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -49,7 +49,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: fcntl_read.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: fcntl_read.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: fcntl_write.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: fcntl_write.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: assert.h,v 1.2 2004-08-25 15:27:28 obarthel Exp $ * $Id: assert.h,v 1.1.1.1 2004-07-26 16:32:49 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,12 +36,6 @@
/****************************************************************************/ /****************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/****************************************************************************/
#ifndef assert #ifndef assert
/****************************************************************************/ /****************************************************************************/
@@ -73,10 +67,4 @@ extern void __assertion_failure(const char *file_name,int line_number,const char
/****************************************************************************/ /****************************************************************************/
#ifdef __cplusplus
}
#endif /* __cplusplus */
/****************************************************************************/
#endif /* _ASSERT_H */ #endif /* _ASSERT_H */

View File

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

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: dirent.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: dirent.h,v 1.1.1.1 2004-07-26 16:32:50 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: dos.h,v 1.3 2004-08-25 15:27:28 obarthel Exp $ * $Id: dos.h,v 1.1.1.1 2004-07-26 16:32:50 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/
@@ -112,18 +112,6 @@ extern void __set_a4(unsigned long value);
/****************************************************************************/ /****************************************************************************/
/*
* Obtain the low level 'file' handle or socket ID bound to a file
* descriptor. This function returns 0 for success and non-zero
* otherwise (if, for example, the file descriptor value you
* provided is not valid; errno will be set to the appropriate
* error code, too). Put a pointer to the file handle variable you
* want to be filled in into the second parameter to this function.
*/
extern int __get_default_file(int file_descriptor,long * file_ptr);
/****************************************************************************/
/* /*
* This will be set to TRUE if the current program was launched from * This will be set to TRUE if the current program was launched from
* the internet superserver ('inetd') or an equivalent facility. * the internet superserver ('inetd') or an equivalent facility.

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: fcntl.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: fcntl.h,v 1.1.1.1 2004-07-26 16:32:51 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: grp.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: grp.h,v 1.1.1.1 2004-07-26 16:32:52 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: libgen.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: libgen.h,v 1.1.1.1 2004-07-26 16:32:52 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: limits.h,v 1.3 2004-09-20 17:16:07 obarthel Exp $ * $Id: limits.h,v 1.1.1.1 2004-07-26 16:32:52 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -54,13 +54,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/
#define LLONG_MIN (-0x7fffffffffffffffLL-1)
#define LLONG_MAX 0x7fffffffffffffffLL
#define ULLONG_MAX 0xffffffffffffffffULL
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math.h,v 1.4 2004-08-16 09:33:13 obarthel Exp $ * $Id: math.h,v 1.1.1.1 2004-07-26 16:32:53 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -81,19 +81,6 @@ extern double tanh(double x);
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
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);
extern double hypot(double x,double y);
/****************************************************************************/
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /* __cplusplus */ #endif /* __cplusplus */

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: pwd.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: pwd.h,v 1.1.1.1 2004-07-26 16:32:53 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: signal.h,v 1.3 2004-08-07 09:15:33 obarthel Exp $ * $Id: signal.h,v 1.2 2004-07-28 14:14:38 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -62,7 +62,7 @@ extern int raise(int sig);
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stdarg.h,v 1.2 2004-09-09 08:25:30 obarthel Exp $ * $Id: stdarg.h,v 1.1.1.1 2004-07-26 16:32:53 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -57,25 +57,12 @@ typedef char * va_list;
/****************************************************************************/ /****************************************************************************/
#else #else
#if defined(__GNUC__)
/****************************************************************************/ #undef _STDARG_H
#include_next "stdarg.h"
#if defined(__GNUC__) #else
#error "Unknown compiler"
/* Use the compiler supplied, machine specific <stdarg.h> file. */ #endif /* __GNUC__ */
#undef _STDARG_H
#include_next "stdarg.h"
#include <sys/amigaos-va.h>
#else
#error "Unknown compiler"
#endif /* __GNUC__ */
/****************************************************************************/
#endif /* __amigaos4__ */ #endif /* __amigaos4__ */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stdio.h,v 1.3 2004-08-25 15:27:28 obarthel Exp $ * $Id: stdio.h,v 1.1.1.1 2004-07-26 16:32:54 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -62,7 +62,7 @@ extern "C" {
* correspond to a real limitation for this 'C' runtime library and is * correspond to a real limitation for this 'C' runtime library and is
* included solely for ISO 'C' (1994) compliance. * included solely for ISO 'C' (1994) compliance.
*/ */
#define FOPEN_MAX 64 #define FOPEN_MAX 8
/****************************************************************************/ /****************************************************************************/
@@ -308,7 +308,7 @@ extern int __flush(FILE *stream);
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stdlib.h,v 1.3 2004-09-20 17:16:07 obarthel Exp $ * $Id: stdlib.h,v 1.1.1.1 2004-07-26 16:32:55 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -147,12 +147,7 @@ extern long atol(const char *str);
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/
extern long long strtoll(const char *str, char **ptr, int base);
extern unsigned long long strtoull(const char *str, char **ptr, int base);
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: string.h,v 1.3 2004-08-07 09:15:33 obarthel Exp $ * $Id: string.h,v 1.1.1.1 2004-07-26 16:32:55 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -71,25 +71,15 @@ extern size_t strxfrm(char *dest, const char *src, size_t len);
/****************************************************************************/ /****************************************************************************/
extern void *memmove(void *dest, const void * src, size_t len);
extern void *memchr(const void * ptr, int val, size_t len); extern void *memchr(const void * ptr, int val, size_t len);
/* This is ugly: GCC 2.95.x assumes that 'unsigned long' is used in the built-in
memcmp/memcpy/memset functions instead of 'size_t'. This can produce warnings
where none are necessary. */
#if defined(__GNUC__) && (__GNUC__ < 3)
extern int memcmp(const void *ptr1, const void *ptr2, unsigned long len);
extern void *memcpy(void *dest, const void *src, unsigned long len);
extern void *memset(void *ptr, int val, unsigned long len);
#else
extern int memcmp(const void *ptr1, const void *ptr2, size_t len); extern int memcmp(const void *ptr1, const void *ptr2, size_t len);
extern void *memcpy(void *dest, const void *src, size_t len); extern void *memcpy(void *dest, const void *src, size_t len);
extern void *memmove(void *dest, const void * src, size_t len);
extern void *memset(void *ptr, int val, size_t len); extern void *memset(void *ptr, int val, size_t len);
#endif /* __GNUC__ && __GNUC__ < 3 */
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: strings.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: strings.h,v 1.1.1.1 2004-07-26 16:32:55 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: amigaos-va.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: amigaos-va.h,v 1.1.1.1 2004-07-26 16:32:57 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: mount.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: mount.h,v 1.1.1.1 2004-07-26 16:32:58 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: stat.h,v 1.1.1.1 2004-07-26 16:32:58 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: time.h,v 1.6 2004-09-10 07:39:20 obarthel Exp $ * $Id: time.h,v 1.1.1.1 2004-07-26 16:32:58 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/
@@ -52,7 +52,7 @@ extern "C" {
structure and try to get by with this definition. Sometimes it works, structure and try to get by with this definition. Sometimes it works,
sometimes it doesn't. Not sure if there really is a good solution for sometimes it doesn't. Not sure if there really is a good solution for
this problem... */ this problem... */
#if !defined(__TIMEVAL_ALREADY_DEFINED) && !defined(__USE_CLIB2_TIMEVAL) #ifndef DEVICES_TIMER_H
/****************************************************************************/ /****************************************************************************/
@@ -73,23 +73,11 @@ extern "C" {
/****************************************************************************/ /****************************************************************************/
/* This will define the 'struct timeval' */ /* This will define the 'struct timeval' */
#ifndef DEVICES_TIMER_H
#include <devices/timer.h> #include <devices/timer.h>
#endif /* DEVICES_TIMER_H */
/****************************************************************************/ /****************************************************************************/
#endif /* INCLUDE_VERSION */ #else
/****************************************************************************/
#endif /* !__TIMEVAL_ALREADY_DEFINED && !__USE_CLIB2_TIMEVAL */
/****************************************************************************/
/* If the timeval is still undefined or should be defined locally,
define our own now... */
#if !defined(__TIMEVAL_ALREADY_DEFINED)
/****************************************************************************/ /****************************************************************************/
@@ -106,7 +94,11 @@ struct timeval
/****************************************************************************/ /****************************************************************************/
#endif /* !__TIMEVAL_ALREADY_DEFINED */ #endif /* INCLUDE_VERSION */
/****************************************************************************/
#endif /* DEVICES_TIMER_H */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: types.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: types.h,v 1.1.1.1 2004-07-26 16:32:59 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: unistd.h,v 1.4 2004-08-07 09:15:33 obarthel Exp $ * $Id: unistd.h,v 1.3 2004-07-28 15:50:45 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: utime.h,v 1.2 2004-08-07 09:15:33 obarthel Exp $ * $Id: utime.h,v 1.1.1.1 2004-07-26 16:32:56 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: libgen_basename.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: libgen_basename.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,7 +36,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: libgen_dirname.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: libgen_dirname.c,v 1.1.1.1 2004-07-26 16:30:34 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -40,7 +40,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 176 #define REVISION 166
#define DATE "27.9.2004" #define DATE "28.7.2004"
#define VERS "m.lib 1.176" #define VERS "m.lib 1.166"
#define VSTRING "m.lib 1.176 (27.9.2004)\r\n" #define VSTRING "m.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: m.lib 1.176 (27.9.2004)" #define VERSTAG "\0$VER: m.lib 1.166 (28.7.2004)"

View File

@@ -1 +1 @@
176 166

View File

@@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 176 #define REVISION 166
#define DATE "27.9.2004" #define DATE "28.7.2004"
#define VERS "m881.lib 1.176" #define VERS "m881.lib 1.166"
#define VSTRING "m881.lib 1.176 (27.9.2004)\r\n" #define VSTRING "m881.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: m881.lib 1.176 (27.9.2004)" #define VERSTAG "\0$VER: m881.lib 1.166 (28.7.2004)"

View File

@@ -1 +1 @@
176 166

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_acos.c,v 1.2 2004-08-21 18:57:40 obarthel Exp $ * $Id: math_acos.c,v 1.1.1.1 2004-07-26 16:30:37 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -226,7 +226,7 @@ acos(double x)
} }
else else
{ {
result = 0; result = HUGE_VAL;
errno = EDOM; errno = EDOM;
} }

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_asin.c,v 1.2 2004-08-21 18:57:40 obarthel Exp $ * $Id: math_asin.c,v 1.1.1.1 2004-07-26 16:30:38 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -237,7 +237,7 @@ asin(double x)
} }
else else
{ {
result = 0; result = HUGE_VAL;
errno = EDOM; errno = EDOM;
} }

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_atan2.c,v 1.3 2004-08-27 11:40:49 obarthel Exp $ * $Id: math_atan2.c,v 1.1.1.1 2004-07-26 16:30:39 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -63,7 +63,7 @@ extern double __atan(double x);
/****************************************************************************/ /****************************************************************************/
INLINE static const double INLINE static const double
__atan2(double y,double x) __atan2(double x,double y)
{ {
const double pi = 3.14159265358979323846; const double pi = 3.14159265358979323846;
const double pi_over_2 = pi / 2.0; const double pi_over_2 = pi / 2.0;
@@ -107,7 +107,7 @@ __atan2(double y,double x)
} }
else else
{ {
result = 0; result = HUGE_VAL;
errno = EDOM; errno = EDOM;
} }
} }
@@ -135,7 +135,7 @@ __atan(double x)
} }
INLINE static const double INLINE static const double
__atan2(double y,double x) __atan2(double x,double y)
{ {
double pi,pi_over_2; double pi,pi_over_2;
double result; double result;
@@ -186,7 +186,7 @@ __atan2(double y,double x)
} }
else else
{ {
result = 0; result = HUGE_VAL;
errno = EDOM; errno = EDOM;
} }
} }
@@ -201,6 +201,9 @@ __atan2(double y,double x)
#if defined(PPC_FLOATING_POINT_SUPPORT) #if defined(PPC_FLOATING_POINT_SUPPORT)
static const double static const double
tiny = 1.0e-300, tiny = 1.0e-300,
zero = 0.0, zero = 0.0,
@@ -210,7 +213,7 @@ pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */
pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
INLINE static const double INLINE static const double
__atan2(double y,double x) __atan2(double x,double y)
{ {
double z; double z;
int k,m,hx,hy,ix,iy; int k,m,hx,hy,ix,iy;
@@ -319,11 +322,19 @@ __atan2(double y,double x)
/****************************************************************************/ /****************************************************************************/
double double
atan2(double y,double x) atan2(double x,double y)
{ {
double result; double result;
result = __atan2(y,x); if(x != 0.0 && y != 0.0)
{
result = __atan2(x,y);
}
else
{
result = HUGE_VAL;
errno = EDOM;
}
return(result); return(result);
} }

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_data.c,v 1.2 2004-08-21 18:57:40 obarthel Exp $ * $Id: math_data.c,v 1.1.1.1 2004-07-26 16:30:40 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -48,5 +48,3 @@ struct Library * MathIeeeDoubTransBase;
/****************************************************************************/ /****************************************************************************/
double __huge_val; double __huge_val;
double __not_a_number;
double __infinity;

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_exp.c,v 1.2 2004-08-27 11:40:49 obarthel Exp $ * $Id: math_exp.c,v 1.1.1.1 2004-07-26 16:30:41 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -194,7 +194,7 @@ __exp(double x)
} }
else else
{ {
k = (int)(invln2*x+halF[xsb]); k = invln2*x+halF[xsb];
t = k; t = k;
hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */ hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */
lo = t*ln2LO[0]; lo = t*ln2LO[0];

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_fabs.c,v 1.2 2004-09-27 15:06:16 tfrieden Exp $ * $Id: math_fabs.c,v 1.1.1.1 2004-07-26 16:30:42 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -141,17 +141,6 @@ __fabs(double x)
} }
#else
INLINE static const double
__fabs(double x)
{
if (x > 0)
return x;
else
return -x;
}
#endif /* PPC_FLOATING_POINT_SUPPORT */ #endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_fmod.c,v 1.2 2004-08-21 18:57:40 obarthel Exp $ * $Id: math_fmod.c,v 1.1.1.1 2004-07-26 16:30:44 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -284,7 +284,7 @@ fmod(double x,double y)
} }
else else
{ {
result = x; result = HUGE_VAL;
errno = EDOM; errno = EDOM;
} }

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_fp_support.h,v 1.2 2004-08-08 10:55:57 obarthel Exp $ * $Id: math_fp_support.h,v 1.1.1.1 2004-07-26 16:30:44 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -36,47 +36,9 @@
/****************************************************************************/ /****************************************************************************/
/* 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)) #if (defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT) || defined(PPC_FLOATING_POINT_SUPPORT))
#define FLOATING_POINT_SUPPORT #define FLOATING_POINT_SUPPORT
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT || PPC_FLOATING_POINT_SUPPORT */ #endif
/****************************************************************************/
/* 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.4 2004-08-27 13:49:17 obarthel Exp $ * $Id: math_headers.h,v 1.1.1.1 2004-07-26 16:30:45 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -38,7 +38,6 @@
#include <limits.h> #include <limits.h>
#include <errno.h> #include <errno.h>
#include <float.h>
#include <math.h> #include <math.h>
/****************************************************************************/ /****************************************************************************/
@@ -148,33 +147,6 @@ do { \
(d) = sl_u.value; \ (d) = sl_u.value; \
} while (0) } while (0)
/* A union which permits us to convert between a float and a 32 bit
int. */
typedef union
{
float value;
unsigned int word;
} ieee_float_shape_type;
/* Get a 32 bit int from a float. */
#define GET_FLOAT_WORD(i,d) \
do { \
ieee_float_shape_type gf_u; \
gf_u.value = (d); \
(i) = gf_u.word; \
} while (0)
/* Set a float from a 32 bit int. */
#define SET_FLOAT_WORD(d,i) \
do { \
ieee_float_shape_type sf_u; \
sf_u.word = (i); \
(d) = sf_u.value; \
} while (0)
extern double __kernel_cos(double x, double y); extern double __kernel_cos(double x, double y);
extern double __kernel_sin(double x, double y, int iy); extern double __kernel_sin(double x, double y, int iy);
extern int __rem_pio2(double x, double *y); extern int __rem_pio2(double x, double *y);
@@ -192,9 +164,4 @@ extern double __scalbn(double x, int n);
/****************************************************************************/ /****************************************************************************/
extern double __not_a_number;
extern double __infinity;
/****************************************************************************/
#endif /* _MATH_HEADERS_H */ #endif /* _MATH_HEADERS_H */

View File

@@ -1,171 +0,0 @@
/*
* $Id: math_hypot.c,v 1.1 2004-08-16 09:33:11 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
__hypot(double x,double y)
{
double yx;
x = fabs(x);
y = fabs(y);
if ( x < y )
{
double temp = x;
x = y;
y = temp;
}
if (x == 0.)
{
return 0.;
}
else
{
yx = y/x;
return x*sqrt(1. + yx*yx);
}
}
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
static const double one = 1.0;
INLINE static const double
__hypot(double x,double y)
{
int n0;
double a=x,b=y,t1,t2,y1,y2,w;
int j,k,ha,hb;
n0 = ((*(int*)&one)>>29)^1; /* high word index */
ha = *(n0+(int*)&x)&0x7fffffff; /* high word of x */
hb = *(n0+(int*)&y)&0x7fffffff; /* high word of y */
if(hb > ha) {a=y;b=x;j=ha; ha=hb;hb=j;} else {a=x;b=y;}
*(n0+(int*)&a) = ha; /* a <- |a| */
*(n0+(int*)&b) = hb; /* b <- |b| */
if((ha-hb)>0x3c00000) {return a+b;} /* x/y > 2**60 */
k=0;
if(ha > 0x5f300000) { /* a>2**500 */
if(ha >= 0x7ff00000) { /* Inf or NaN */
w = a+b; /* for sNaN */
if(((ha&0xfffff)|*(1-n0+(int*)&a))==0) w = a;
if(((hb^0x7ff00000)|*(1-n0+(int*)&b))==0) w = b;
return w;
}
/* scale a and b by 2**-600 */
ha -= 0x25800000; hb -= 0x25800000; k += 600;
*(n0+(int*)&a) = ha;
*(n0+(int*)&b) = hb;
}
if(hb < 0x20b00000) { /* b < 2**-500 */
if(hb <= 0x000fffff) { /* subnormal b or 0 */
if((hb|(*(1-n0+(int*)&b)))==0) return a;
t1=0;
*(n0+(int*)&t1) = 0x7fd00000; /* t1=2^1022 */
b *= t1;
a *= t1;
k -= 1022;
} else { /* scale a and b by 2^600 */
ha += 0x25800000; /* a *= 2^600 */
hb += 0x25800000; /* b *= 2^600 */
k -= 600;
*(n0+(int*)&a) = ha;
*(n0+(int*)&b) = hb;
}
}
/* medium size a and b */
w = a-b;
if (w>b) {
t1 = 0;
*(n0+(int*)&t1) = ha;
t2 = a-t1;
w = sqrt(t1*t1-(b*(-b)-t2*(a+t1)));
} else {
a = a+a;
y1 = 0;
*(n0+(int*)&y1) = hb;
y2 = b - y1;
t1 = 0;
*(n0+(int*)&t1) = ha+0x00100000;
t2 = a - t1;
w = sqrt(t1*y1-(w*(-w)-(t1*y2+t2*b)));
}
if(k!=0) {
t1 = 1.0;
*(n0+(int*)&t1) += (k<<20);
return t1*w;
} else return w;
}
#endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
double
hypot(double x,double y)
{
double result;
result = __hypot(x,y);
return(result);
}
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

View File

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

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_kernel_tan.c,v 1.2 2004-08-27 11:40:49 obarthel Exp $ * $Id: math_kernel_tan.c,v 1.1.1.1 2004-07-26 16:30:48 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -82,21 +82,7 @@ double __kernel_tan(double x, double y, int iy)
unsigned int low; unsigned int low;
GET_LOW_WORD(low,x); GET_LOW_WORD(low,x);
if(((ix|low)|(iy+1))==0) return one/fabs(x); if(((ix|low)|(iy+1))==0) return one/fabs(x);
else { else return (iy==1)? x: -one/x;
if (iy == 1)
return x;
else { /* compute -1 / (x+y) carefully */
double a, t;
z = w = x + y;
SET_LOW_WORD(z,0);
v = y - (z - x);
t = a = -one / w;
SET_LOW_WORD(t,0);
s = one + t * z;
return t + a * (s + t * v);
}
}
} }
} }
if(ix>=0x3FE59428) { /* |x|>=0.6744 */ if(ix>=0x3FE59428) { /* |x|>=0.6744 */

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_log.c,v 1.2 2004-09-27 15:06:19 tfrieden Exp $ * $Id: math_log.c,v 1.1.1.1 2004-07-26 16:30:49 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -135,7 +135,7 @@ __log(double x)
/****************************************************************************/ /****************************************************************************/
#if defined(__PPC__) #if defined(PPC_FLOATING_POINT_SUPPORT)
static const double static const double
ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */

View File

@@ -1,136 +0,0 @@
/*
* $Id: math_logb.c,v 1.2 2004-08-14 11:11:01 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((double)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,5 +1,5 @@
/* /*
* $Id: math_modf.c,v 1.2 2004-09-27 15:06:19 tfrieden Exp $ * $Id: math_modf.c,v 1.1.1.1 2004-07-26 16:30:50 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -109,7 +109,7 @@ __modf(double x,double *nptr)
/****************************************************************************/ /****************************************************************************/
#if defined(__PPC__) #if defined(PPC_FLOATING_POINT_SUPPORT)
INLINE static const double INLINE static const double
__modf(double x,double *nptr) __modf(double x,double *nptr)

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_pow.c,v 1.3 2004-09-27 15:06:19 tfrieden Exp $ * $Id: math_pow.c,v 1.1.1.1 2004-07-26 16:30:52 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -171,7 +171,7 @@ __pow(double x,double y)
/****************************************************************************/ /****************************************************************************/
#if defined(__PPC__) #if defined(PPC_FLOATING_POINT_SUPPORT)
/****************************************************************************/ /****************************************************************************/
@@ -286,12 +286,11 @@ __pow(double x,double y)
} }
/* (x<0)**(non-int) is NaN */ /* (x<0)**(non-int) is NaN */
n = ((unsigned int)hx>>31)+1; /* REDHAT LOCAL: This used to be
if((n|yisint)==0) return (x-x)/(x-x); if((((hx>>31)+1)|yisint)==0) return (x-x)/(x-x);
but ANSI C says a right shift of a signed negative quantity is
s = one; /* s (sign of result -ve**odd) = -1 else = 1 */ implementation defined. */
if((n|(yisint-1))==0) if(((((unsigned int)hx>>31)-1)|yisint)==0) return (x-x)/(x-x);
s = -one;/* (-ve)**(odd int) */
/* |y| is huge */ /* |y| is huge */
if(iy>0x41e00000) { /* if |y| > 2**31 */ if(iy>0x41e00000) { /* if |y| > 2**31 */
@@ -300,11 +299,11 @@ __pow(double x,double y)
if(ix>=0x3ff00000) return (hy>0)? huge*huge:tiny*tiny; if(ix>=0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
} }
/* over/underflow if x is not close to one */ /* over/underflow if x is not close to one */
if(ix<0x3fefffff) return (hy<0)? s*huge*huge:s*tiny*tiny; if(ix<0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
if(ix>0x3ff00000) return (hy>0)? s*huge*huge:s*tiny*tiny; if(ix>0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
/* now |1-x| is tiny <= 2**-20, suffice to compute /* now |1-x| is tiny <= 2**-20, suffice to compute
log(x) by x-x^2/2+x^3/3-x^4/4 */ log(x) by x-x^2/2+x^3/3-x^4/4 */
t = ax-one; /* t has 20 trailing zeros */ t = ax-1; /* t has 20 trailing zeros */
w = (t*t)*(0.5-t*(0.3333333333333333333333-t*0.25)); w = (t*t)*(0.5-t*(0.3333333333333333333333-t*0.25));
u = ivln2_h*t; /* ivln2_h has 21 sig. bits */ u = ivln2_h*t; /* ivln2_h has 21 sig. bits */
v = t*ivln2_l-w*ivln2; v = t*ivln2_l-w*ivln2;
@@ -312,7 +311,7 @@ __pow(double x,double y)
SET_LOW_WORD(t1,0); SET_LOW_WORD(t1,0);
t2 = v-(t1-u); t2 = v-(t1-u);
} else { } else {
double ss,s2,s_h,s_l,t_h,t_l; double s2,s_h,s_l,t_h,t_l;
n = 0; n = 0;
/* take care subnormal number */ /* take care subnormal number */
if(ix<0x00100000) if(ix<0x00100000)
@@ -326,11 +325,11 @@ __pow(double x,double y)
else {k=0;n+=1;ix -= 0x00100000;} else {k=0;n+=1;ix -= 0x00100000;}
SET_HIGH_WORD(ax,ix); SET_HIGH_WORD(ax,ix);
/* compute ss = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */ /* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
u = ax-bp[k]; /* bp[0]=1.0, bp[1]=1.5 */ u = ax-bp[k]; /* bp[0]=1.0, bp[1]=1.5 */
v = one/(ax+bp[k]); v = one/(ax+bp[k]);
ss = u*v; s = u*v;
s_h = ss; s_h = s;
SET_LOW_WORD(s_h,0); SET_LOW_WORD(s_h,0);
/* t_h=ax+bp[k] High */ /* t_h=ax+bp[k] High */
t_h = zero; t_h = zero;
@@ -338,29 +337,33 @@ __pow(double x,double y)
t_l = ax - (t_h-bp[k]); t_l = ax - (t_h-bp[k]);
s_l = v*((u-s_h*t_h)-s_h*t_l); s_l = v*((u-s_h*t_h)-s_h*t_l);
/* compute log(ax) */ /* compute log(ax) */
s2 = ss*ss; s2 = s*s;
r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6))))); r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6)))));
r += s_l*(s_h+ss); r += s_l*(s_h+s);
s2 = s_h*s_h; s2 = s_h*s_h;
t_h = 3.0+s2+r; t_h = 3.0+s2+r;
SET_LOW_WORD(t_h,0); SET_LOW_WORD(t_h,0);
t_l = r-((t_h-3.0)-s2); t_l = r-((t_h-3.0)-s2);
/* u+v = ss*(1+...) */ /* u+v = s*(1+...) */
u = s_h*t_h; u = s_h*t_h;
v = s_l*t_h+t_l*ss; v = s_l*t_h+t_l*s;
/* 2/(3log2)*(ss+...) */ /* 2/(3log2)*(s+...) */
p_h = u+v; p_h = u+v;
SET_LOW_WORD(p_h,0); SET_LOW_WORD(p_h,0);
p_l = v-(p_h-u); p_l = v-(p_h-u);
z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */ z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */
z_l = cp_l*p_h+p_l*cp+dp_l[k]; z_l = cp_l*p_h+p_l*cp+dp_l[k];
/* log2(ax) = (ss+..)*2/(3*log2) = n + dp_h + z_h + z_l */ /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
t = (double)n; t = (double)n;
t1 = (((z_h+z_l)+dp_h[k])+t); t1 = (((z_h+z_l)+dp_h[k])+t);
SET_LOW_WORD(t1,0); SET_LOW_WORD(t1,0);
t2 = z_l-(((t1-t)-dp_h[k])-z_h); t2 = z_l-(((t1-t)-dp_h[k])-z_h);
} }
s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
if(((((unsigned int)hx>>31)-1)|(yisint-1))==0)
s = -one;/* (-ve)**(odd int) */
/* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */ /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
y1 = y; y1 = y;
SET_LOW_WORD(y1,0); SET_LOW_WORD(y1,0);

View File

@@ -1,136 +0,0 @@
/*
* $Id: math_rint.c,v 1.3 2004-08-27 13:49:17 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 */
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) (1994) standard. */
/****************************************************************************/
#if defined(FLOATING_POINT_SUPPORT)
/****************************************************************************/
#if defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT)
/****************************************************************************/
double
rint(double x)
{
return floor ( x+0.5 );
}
/****************************************************************************/
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
/****************************************************************************/
static const double
TWO52[2]={
4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
-4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */
};
double
rint(double x)
{
int i0,j0,sx;
unsigned i,i1;
double w,t;
GET_HIGH_WORD(i0,x);
sx = (i0>>31)&1;
GET_LOW_WORD(i1,x);
j0 = ((i0>>20)&0x7ff)-0x3ff;
if(j0<20) {
if(j0<0) {
if(((i0&0x7fffffff)|i1)==0) return x;
i1 |= (i0&0x0fffff);
i0 &= 0xfffe0000;
i0 |= ((i1|-i1)>>12)&0x80000;
SET_HIGH_WORD(x,i0);
w = TWO52[sx]+x;
t = w-TWO52[sx];
GET_HIGH_WORD(i0,t);
SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31));
return t;
} else {
i = (0x000fffff)>>j0;
if(((i0&i)|i1)==0) return x; /* x is integral */
i>>=1;
if(((i0&i)|i1)!=0) {
if(j0==19) i1 = 0x40000000; else
i0 = (i0&(~i))|((0x20000)>>j0);
}
}
} else if (j0>51) {
if(j0==0x400) return x+x; /* inf or NaN */
else return x; /* x is integral */
} else {
i = ((unsigned)(0xffffffff))>>(j0-20);
if((i1&i)==0) return x; /* x is integral */
i>>=1;
if((i1&i)!=0) i1 = (i1&(~i))|((0x40000000)>>(j0-20));
}
SET_HIGH_WORD(x,i0);
SET_LOW_WORD(x,i1);
w = TWO52[sx]+x;
return w-TWO52[sx];
}
/****************************************************************************/
#endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

View File

@@ -1,129 +0,0 @@
/*
* $Id: math_rintf.c,v 1.2 2004-08-27 13:49:17 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 */
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) (1994) standard. */
/****************************************************************************/
#if defined(FLOATING_POINT_SUPPORT)
/****************************************************************************/
#if defined(IEEE_FLOATING_POINT_SUPPORT) || defined(M68881_FLOATING_POINT_SUPPORT)
/****************************************************************************/
float
rintf(float x)
{
return (float) floor ( x + 0.5f );
}
/****************************************************************************/
#endif /* IEEE_FLOATING_POINT_SUPPORT || M68881_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#if defined(PPC_FLOATING_POINT_SUPPORT)
/****************************************************************************/
/* Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. */
/****************************************************************************/
static const float
TWO23[2]={
8.3886080000e+06, /* 0x4b000000 */
-8.3886080000e+06, /* 0xcb000000 */
};
float
rintf(float x)
{
int i0,j0,sx;
unsigned int i,i1;
float w,t;
GET_FLOAT_WORD(i0,x);
sx = (i0>>31)&1;
j0 = ((i0>>23)&0xff)-0x7f;
if(j0<23) {
if(j0<0) {
if((i0&0x7fffffff)==0) return x;
i1 = (i0&0x07fffff);
i0 &= 0xfff00000;
i0 |= ((i1|-i1)>>9)&0x400000;
SET_FLOAT_WORD(x,i0);
w = TWO23[sx]+x;
t = w-TWO23[sx];
GET_FLOAT_WORD(i0,t);
SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
return t;
} else {
i = (0x007fffff)>>j0;
if((i0&i)==0) return x; /* x is integral */
i>>=1;
if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
}
} else {
if(j0==0x80) return x+x; /* inf or NaN */
else return x; /* x is integral */
}
SET_FLOAT_WORD(x,i0);
w = TWO23[sx]+x;
return w-TWO23[sx];
}
/****************************************************************************/
#endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_sqrt.c,v 1.3 2004-09-27 15:06:19 tfrieden Exp $ * $Id: math_sqrt.c,v 1.1.1.1 2004-07-26 16:30:53 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -135,7 +135,7 @@ __sqrt(double x)
/****************************************************************************/ /****************************************************************************/
#ifdef __PPC__ #if defined(PPC_FLOATING_POINT_SUPPORT)
static const double one = 1.0, tiny=1.0e-300; static const double one = 1.0, tiny=1.0e-300;
@@ -236,7 +236,7 @@ __sqrt(double x)
return z; return z;
} }
#endif #endif /* PPC_FLOATING_POINT_SUPPORT */
/****************************************************************************/ /****************************************************************************/
@@ -251,7 +251,7 @@ sqrt(double x)
} }
else else
{ {
result = 0; result = HUGE_VAL;
errno = EDOM; errno = EDOM;
} }

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: mount_fstatfs.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: mount_fstatfs.c,v 1.1.1.1 2004-07-26 16:30:54 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: mount_statfs.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: mount_statfs.c,v 1.1.1.1 2004-07-26 16:30:55 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 176 #define REVISION 166
#define DATE "27.9.2004" #define DATE "28.7.2004"
#define VERS "net.lib 1.176" #define VERS "net.lib 1.166"
#define VSTRING "net.lib 1.176 (27.9.2004)\r\n" #define VSTRING "net.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: net.lib 1.176 (27.9.2004)" #define VERSTAG "\0$VER: net.lib 1.166 (28.7.2004)"

View File

@@ -1 +1 @@
176 166

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: signal_kill.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: signal_kill.c,v 1.1.1.1 2004-07-26 16:31:05 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: signal_sigaddset.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: signal_sigaddset.c,v 1.1.1.1 2004-07-26 16:31:05 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: signal_sigblock.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: signal_sigblock.c,v 1.1.1.1 2004-07-26 16:31:05 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: signal_sigemptyset.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: signal_sigemptyset.c,v 1.1.1.1 2004-07-26 16:31:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: signal_sigmask.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: signal_sigmask.c,v 1.1.1.1 2004-07-26 16:31:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: signal_sigprocmask.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: signal_sigprocmask.c,v 1.1.1.1 2004-07-26 16:31:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: signal_sigsetmask.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: signal_sigsetmask.c,v 1.1.1.1 2004-07-26 16:31:06 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
# #
# $Id: smakefile,v 1.8 2004-09-20 17:16:06 obarthel Exp $ # $Id: smakefile,v 1.2 2004-07-28 15:50:45 obarthel Exp $
# #
# :ts=8 # :ts=8
# #
@@ -14,14 +14,6 @@
@echo "Assembling $<" @echo "Assembling $<"
@asm $(AFLAGS) $< @asm $(AFLAGS) $<
##############################################################################
# You might want to change this to the directory where your operating system
# header files are stored. On my system, that's "V:include", but you might
# get lucky with "sc:include" instead, which is the default for SAS/C.
INCLUDE_DIR = V:include
#INCLUDE_DIR = sc:include
############################################################################## ##############################################################################
OPTIMIZE = optimize opttime optschedule optinline OPTIMIZE = optimize opttime optschedule optinline
@@ -41,15 +33,7 @@ SUPPORT = define=UNIX_PATH_SEMANTICS define=SOCKET_SUPPORT define=USERGROUP_SUP
############################################################################## ##############################################################################
CFLAGS = \ CFLAGS = \
resopt \ idlen=64 idir=include idir=netinclude commentnest \
nover \
memorysize=huge \
idir=netinclude \
idlen=64 \
commentnest \
nostackcheck \
stringmerge \
errorrexx \
$(PROFILE) $(OPTIMIZE) $(CODE) $(DATA) $(CPU) $(MATH) \ $(PROFILE) $(OPTIMIZE) $(CODE) $(DATA) $(CPU) $(MATH) \
$(SUPPORT) $(DEBUG) $(SUPPORT) $(DEBUG)
@@ -163,8 +147,7 @@ FCNTL_OBJ = \
fcntl_lseek.o \ fcntl_lseek.o \
fcntl_open.o \ fcntl_open.o \
fcntl_read.o \ fcntl_read.o \
fcntl_write.o \ fcntl_write.o
fcntl_get_default_file.o
LIBGEN_OBJ = \ LIBGEN_OBJ = \
libgen_basename.o \ libgen_basename.o \
@@ -190,18 +173,12 @@ MATH_OBJ = \
math_floor.o \ math_floor.o \
math_fmod.o \ math_fmod.o \
math_frexp.o \ math_frexp.o \
math_hypot.o \
math_init_exit.o \ math_init_exit.o \
math_isinf.o \
math_isnan.o \
math_ldexp.o \ math_ldexp.o \
math_log.o \ math_log.o \
math_log10.o \ math_log10.o \
math_logb.o \
math_modf.o \ math_modf.o \
math_pow.o \ math_pow.o \
math_rint.o \
math_rintf.o \
math_sin.o \ math_sin.o \
math_sinh.o \ math_sinh.o \
math_sqrt.o \ math_sqrt.o \
@@ -321,6 +298,8 @@ STDIO_OBJ = \
stdio_initializeiob.o \ stdio_initializeiob.o \
stdio_init_exit.o \ stdio_init_exit.o \
stdio_iobhookentry.o \ stdio_iobhookentry.o \
stdio_isinfinity.o \
stdio_isnotanumber.o \
stdio_locksemaphorename.o \ stdio_locksemaphorename.o \
stdio_nostdio.o \ stdio_nostdio.o \
stdio_openiob.o \ stdio_openiob.o \
@@ -415,8 +394,6 @@ STDLIB_OBJ = \
stdlib_strtod.o \ stdlib_strtod.o \
stdlib_strtol.o \ stdlib_strtol.o \
stdlib_strtoul.o \ stdlib_strtoul.o \
stdlib_strtoll.o \
stdlib_strtoull.o \
stdlib_swapstack.o \ stdlib_swapstack.o \
stdlib_system.o \ stdlib_system.o \
stdlib_unsetenv.o \ stdlib_unsetenv.o \
@@ -542,16 +519,16 @@ UTIME_OBJ = \
############################################################################## ##############################################################################
all: setup c.lib startup.o cleanup all: setup c.lib startup.o test fgets_test iotest sscanf_test printf_test stack_size_test translate_test cleanup
clean: clean:
-delete \#?.o \#?.lib \#?.map -delete \#?.o \#?.lib \#?.map test fgets_test iotest sscanf_test printf_test stack_size_test translate_test
############################################################################## ##############################################################################
setup: setup:
@echo "Setting up include: assignment" @echo "Setting up include: assignment"
@assign include: include $(INCLUDE_DIR) @assign include: include V:include
cleanup: cleanup:
@echo "Cleaning up include: assignment" @echo "Cleaning up include: assignment"
@@ -583,6 +560,43 @@ cvs-tag:
############################################################################## ##############################################################################
test: test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
fgets_test: fgets_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o fgets_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
iotest: iotest.o startup.o c.lib
@echo "Linking $@"
@slink startup.o iotest.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
sscanf_test: sscanf_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o sscanf_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
printf_test: printf_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o printf_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
stack_size_test: stack_size_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o stack_size_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
translate_test: translate_test.o startup.o c.lib
@echo "Linking $@"
@slink startup.o translate_test.o to $@ lib c.lib addsym \
map $@.map,fhx fwidth 32 pwidth 32 swidth 32
##############################################################################
c.lib_rev.o : c.lib_rev.c c.lib_rev.h c.lib_rev.o : c.lib_rev.c c.lib_rev.h
amiga_hookentry.o : amiga_hookentry.asm amiga_hookentry.o : amiga_hookentry.asm

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: socket_hstrerror.c,v 1.2 2004-07-29 08:35:15 obarthel Exp $ * $Id: socket_hstrerror.c,v 1.1 2004-07-28 15:50:45 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -121,7 +121,6 @@ hstrerror(int error_number)
result = "Unknown server error_number"; result = "Unknown server error_number";
break; break;
default:
case 4: /* NO_ADDRESS */ case 4: /* NO_ADDRESS */
result = "No address associated with name"; result = "No address associated with name";

View File

@@ -1,6 +1,6 @@
#define VERSION 1 #define VERSION 1
#define REVISION 176 #define REVISION 166
#define DATE "27.9.2004" #define DATE "28.7.2004"
#define VERS "stack.lib 1.176" #define VERS "stack.lib 1.166"
#define VSTRING "stack.lib 1.176 (27.9.2004)\r\n" #define VSTRING "stack.lib 1.166 (28.7.2004)\r\n"
#define VERSTAG "\0$VER: stack.lib 1.176 (27.9.2004)" #define VERSTAG "\0$VER: stack.lib 1.166 (28.7.2004)"

View File

@@ -1 +1 @@
176 166

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat_chmod.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stat_chmod.c,v 1.1.1.1 2004-07-26 16:31:21 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat_convertfileinfo.c,v 1.3 2004-08-07 10:24:04 obarthel Exp $ * $Id: stat_convertfileinfo.c,v 1.1.1.1 2004-07-26 16:31:21 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -41,6 +41,10 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
/****************************************************************************/
void void
__convert_file_info_to_stat( __convert_file_info_to_stat(
const struct MsgPort * file_system, const struct MsgPort * file_system,

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat_fchmod.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stat_fchmod.c,v 1.1.1.1 2004-07-26 16:31:22 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat_fstat.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stat_fstat.c,v 1.1.1.1 2004-07-26 16:31:22 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat_lstat.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stat_lstat.c,v 1.1.1.1 2004-07-26 16:31:22 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat_mkdir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stat_mkdir.c,v 1.1.1.1 2004-07-26 16:31:22 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat_rmdir.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stat_rmdir.c,v 1.1.1.1 2004-07-26 16:31:23 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat_stat.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stat_stat.c,v 1.1.1.1 2004-07-26 16:31:23 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -47,7 +47,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stat_umask.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stat_umask.c,v 1.1.1.1 2004-07-26 16:31:23 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -37,7 +37,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stdio_asprintf.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stdio_asprintf.c,v 1.1.1.1 2004-07-26 16:31:23 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -43,7 +43,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stdio_headers.h,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stdio_headers.h,v 1.1.1.1 2004-07-26 16:31:35 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -72,6 +72,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' standard. */
#include <sys/stat.h> #include <sys/stat.h>
#include <unistd.h> #include <unistd.h>
#include <dirent.h> #include <dirent.h>

66
library/math_isinf.c → library/stdio_isinfinity.c Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_isinf.c,v 1.2 2004-08-08 10:55:57 obarthel Exp $ * $Id: stdio_isinfinity.c,v 1.1.1.1 2004-07-26 16:31:37 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -39,73 +39,43 @@
#if defined (FLOATING_POINT_SUPPORT) #if defined (FLOATING_POINT_SUPPORT)
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
int int
isinf(double number) __is_infinity(long double number)
{ {
int is_infinity; const unsigned long * const raw = (const unsigned long * const)&number;
int result; int result = 0;
ENTER(); ENTER();
/* This assumes that a) 'number' is stored in big endian format /* This assumes that a) 'number' is stored in big endian format
and b) it is stored in IEEE 754 format. */ * and b) it is stored in IEEE 754 format.
if (sizeof(number) == 4) /* single precision */ */
if(sizeof(number) == 4) /* single precision */
{ {
union ieee_single x;
x.value = number;
/* Exponent = 255 and fraction = 0.0 */ /* Exponent = 255 and fraction = 0.0 */
is_infinity = ((x.raw[0] & 0x7FFFFFFF) == 0x7F800000); if((raw[0] & 0x7FFFFFFF) == 0x7F800000)
result = 1;
} }
else if (sizeof(number) == 8) /* double precision */ else if (sizeof(number) == 8) /* double precision */
{ {
union ieee_double x;
x.value = number;
/* Exponent = 2047 and fraction = 0.0 */ /* Exponent = 2047 and fraction = 0.0 */
is_infinity = (((x.raw[0] & 0x7FFFFFFF) == 0x7FF00000) && (x.raw[1] == 0)); if(((raw[0] & 0x7FFFFFFF) == 0x7FF00000) && (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 */
is_infinity = (((x.raw[0] & 0x7FFF0000) == 0x7FFF0000) && (x.raw[1] & 0x7FFFFFFF) == 0 && (x.raw[2] == 0));
}
#endif /* USE_LONG_DOUBLE */
else
{
/* Can't happen */
is_infinity = 0;
}
if(is_infinity)
{
if(number < 0)
result = -1;
else
result = 1; result = 1;
} }
else }
else if (sizeof(number) == 12) /* extended precision */
{ {
result = 0; /* Exponent = 32767 and fraction = 0.0 */
if(((raw[0] & 0x7FFF0000) == 0x7FFF0000) &&
(raw[1] & 0x7FFFFFFF) == 0 && (raw[2] == 0))
{
result = 1;
}
} }
RETURN(result); RETURN(result);
return(result); return(result);
} }
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */ #endif /* FLOATING_POINT_SUPPORT */

57
library/math_isnan.c → library/stdio_isnotanumber.c Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/* /*
* $Id: math_isnan.c,v 1.2 2004-08-08 10:55:57 obarthel Exp $ * $Id: stdio_isnotanumber.c,v 1.1.1.1 2004-07-26 16:31:37 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -39,60 +39,47 @@
#if defined (FLOATING_POINT_SUPPORT) #if defined (FLOATING_POINT_SUPPORT)
/****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */
/****************************************************************************/
int int
isnan(double number) __is_not_a_number(long double number)
{ {
int result; const unsigned long * const raw = (const unsigned long * const)&number;
int result = 0;
ENTER(); ENTER();
/* This assumes that a) 'number' is stored in big endian format /* This assumes that a) 'number' is stored in big endian format
and b) it is stored in IEEE 754 format. */ * and b) it is stored in IEEE 754 format.
if (sizeof(number) == 4) /* single precision */ */
if(sizeof(number) == 4) /* single precision */
{ {
union ieee_single x;
x.value = number;
/* Exponent = 255 and fraction != 0.0 */ /* Exponent = 255 and fraction != 0.0 */
result = ((x.raw[0] & 0x7F800000) == 0x7F800000 && (x.raw[0] & 0x007FFFFF) != 0); if((raw[0] & 0x7F800000) == 0x7F800000 &&
(raw[0] & 0x007FFFFF) != 0)
{
result = 1;
}
} }
else if (sizeof(number) == 8) /* double precision */ else if (sizeof(number) == 8) /* double precision */
{ {
union ieee_double x;
x.value = number;
/* Exponent = 2047 and fraction != 0.0 */ /* Exponent = 2047 and fraction != 0.0 */
result = (((x.raw[0] & 0x7FF00000) == 0x7FF00000) && ((x.raw[0] & 0x000FFFFF) != 0 || (x.raw[1] != 0))); if(((raw[0] & 0x7FF00000) == 0x7FF00000) &&
((raw[0] & 0x000FFFFF) != 0 || (raw[1] != 0)))
{
result = 1;
}
} }
#if defined(USE_LONG_DOUBLE)
else if (sizeof(number) == 12) /* extended precision */ else if (sizeof(number) == 12) /* extended precision */
{ {
union ieee_long_double x; /* Exponent = 32767 and fraction != 0.0 */
if(((raw[0] & 0x7FFF0000) == 0x7FFF0000) &&
x.value = number; ((raw[1] & 0x7FFFFFFF) != 0 || raw[2] != 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 */ result = 1;
result = 0; }
} }
RETURN(result); RETURN(result);
return(result); return(result);
} }
/****************************************************************************/
#endif /* FLOATING_POINT_SUPPORT */ #endif /* FLOATING_POINT_SUPPORT */

View File

@@ -1,5 +1,5 @@
/* /*
* $Id: stdio_popen.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $ * $Id: stdio_popen.c,v 1.1.1.1 2004-07-26 16:31:38 obarthel Exp $
* *
* :ts=4 * :ts=4
* *
@@ -49,7 +49,7 @@
/****************************************************************************/ /****************************************************************************/
/* The following is not part of the ISO 'C' (1994) standard. */ /* The following is not part of the ISO 'C' standard. */
/****************************************************************************/ /****************************************************************************/

Some files were not shown because too many files have changed in this diff Show More