Index of /atarilibrary/atari_cd04/PROG_SRC/C/FPU_AE_C
Name Last modified Size Description
Parent Directory 11-May-2007 21:00 -
FPU_AE.LIB 10-Dec-1990 20:31 6k
MATH.H 10-Dec-1990 17:20 5k
--------------------------------------------------------------------------
FPU_AE.LIB fr TURBO C (Atari-ST / TT) README.TXT
Version 1.0 13.November 1990
Copyright: Adolf ENGL (C) Barthgasse 9/18 A-1030 Wien AUSTRIA
--------------------------------------------------------------------------
*** INFORMATIONEN ZU FPU_AE.LIB (VERSION 1.0) ***
1) PRODUKT-INFO:
"FPU_AE.LIB" ist eine Bibliothek fr den C-Compiler "TURBO-C"
von Borland International (C) fr alle ATARI-Modelle mit folgenden
Prozessortypen:
- MC68020 + MC68881 (FPU-Coprocessor)
oder
- MC68020 + MC68882 (FPU-Coprocessor)
oder
- MC68030 + MC68881 (FPU-Coprocessor)
oder
- MC68030 + MC68882 (FPU-Coprocessor)
Dies sind beispielsweise die neuen ATARI-TT Modelle, oder auch die mit
diversen Erweiterungskarten (z.B PAK-68k mit MC68020/MC68881 von CT)
aufgersteten ATARI-ST Modelle.
Vollkommen unbrauchbar ist diese Bibliothek fr ATARI's ohne
FPU-Coprocessor oder fr ATARI-ST Modelle mit (nur) einem MC68000
und einer Coprocessor-Zusatzplatine.
Die "FPU_AE.LIB" soll als Ersatz der von Borland (C) mitgelieferten
Fliežkommabibliothek "TCFLTLIB.LIB" dienen.
Obwohl die Version 2.03 von TURBO-C nun schon brauchbaren Code fr
das Prozessorgespann MC68020/MC68881 erzeugt, beinhaltet die mitge-
lieferte Bibliothek "TCFLTLIB.LIB" nach wie vor (nur) Funktionen, die
mit einem 80 Bit Format fr [long] double rechnen. Die FPU-Coproces-
soren MC68881 und MC68882 von Motorola ben”tigen jedoch anstelle dieses
80 Bit Formates, ein 96 Bit Format fr "extended precision real"
Operanten. Ein 80 Bit Format wird von den Fpu-Coprocessoren keinesfalls
richtig verstanden und ein Aufruf von Funktionen aus "TCFLTLIB.LIB"
fhrt daher (bei Verwendung der FPU) bestenfalls zu unsinnigen Resul-
taten oder meist gleich zum Programmabsturz.
Borland schreibt dazu in der README Datei von Turbo C V2.x :
"... Programme, die Fliežkommafunktionen aufrufen, welche in der
Bibliothek TCFLTLIB definiert sind, jedoch vom Coprozessor nicht
untersttzt werden (z.B. printf(), scanf(), atof()),
sollten nicht mit dem Schalter -8 bersetzt werden."
Das bedeutet, ben”tigt man eine der in "TCFLTLIB" enthaltenen
Funktionen, wie etwa printf() oder scanf() zur Fliežkomma-I/O, so muž
man auf den eingebauten FPU-Coprocessor verzichten und alles geht so
langsam wie ohne FPU.
Ein sinnvolles Arbeiten unter Verwendung von Fliežkommazahlen
mit einer der oben angefhrten Systemkonfigurationen ist daher,
alleine mit den von Borland mitgelieferten Bibliotheken, derzeit
auch mit Turbo C V2.03 noch nicht m”glich.
Da sich die Turbo-C Entwickler(innen) bislang (seit August 90 ver-
spricht mir am Telefon ein freundlicher Herr von Borland Mnchen
"sogleich" das entsprechende Update zu schicken) zur Herausgabe einer
brauchbaren Fliežkommabibliothek nicht aufraffen konnten, habe ich
nun als "erste Hilfe Paket" die "FPU_AE.LIB" entwickelt.
Die Funktionen in der "FPU_AE.LIB" verwenden intern das, auch vom
TURBO-C Compiler (bei der Verwendung des Schalters -8) fr [long] double
erzeugte 96-Bit Format und verstehen sich daher pr„chtig mit den
Motorola FPU-Coprozessoren.
2) Funktions - Umfang:
Die Bibliothek "FPU_AE.LIB" umfažt folgende Funktionen:
int printf( const char *format, ... );
int fprintf( FILE *stream, const char *format, ... );
int sprintf( char *string, const char *format, ... );
int scanf( const char *format, ... );
int fscanf( FILE *stream, const char *format, ... );
int sscanf( const char *string, const char *format, ... );
int vfprintf( FILE *stream, const char *format, va_list param );
int vprintf( const char *format, va_list param );
int vsprintf( char *string, const char *format, va_list param );
int vfscanf( FILE *stream, const char *format, va_list param );
int vscanf( const char *format, va_list param );
int vsscanf( char *string, const char *format, va_list param );
char *ecvt( double d, int ndig, int *dec, int *sign );
double atof( const char *digStr );
double strtod( const char *s, const char **endptr );
double modf( double x, double *nptr );
double ceil( double x );
double floor( double x );
double round( double x );
double difftime( time_t time2, time_t time1 );
void xdcnv( double *val, void *rep8bytes );
void dxcnv( void *rep8bytes, double *val );
Alle brigen Standard-FPU-Funktionen werden direkt vom FPU-Coprozessor
untersttzt und sind in MATH.H ALS MAKROS definiert.
3) Produkt - Umfang:
"FPU_AE.LIB" Version 1.0 besteht aus folgenden Dateien:
- fpu_ae.lib ... die eigentliche Bibliotheks-Datei
- math.h ... die zugeh”rige Include - Datei
- readme.txt ... das sollten Sie gerade lesen
4) Fehler:
Es wird NICHT fr die fehlerfreie Funktion der Bibliothek garantiert.
Die Bibliothek wurde vorallem fr den Eigengebrauch entwickelt und wurde
bislang nur auf einem ATARI-Mega-ST mit PAK-68k (mit MC68020/MC68881)
(sp„rlich) getestet. Fehler sind daher mit grožer Sicherheit zu erwarten.
Aber hoffentlich weniger als in den derzeitigen TC-Bibliotheken.
Bewužte Einschr„nkungen:
- nachfolgende Nullen werden bei g-Format (printf()) nicht unterdrckt;
- keine eigene ftoa() - Funktion
5) Installation:
a) "fpu_ae.lib" in den TC-Library-Ordner kopieren; (im allg. nach "tc/lib")
b) "math.h" im TC-Includefile-Ordner durch das mitgelieferte "math.h"
ERSETZEN.
6) Verwendung:
Fr die Verwendung der Bibliothek "FPU_AE.LIB" sind folgende Punkte zu
beachten:
- Compiler-Option -2 und -8 EINSCHALTEN
- Assembler-Option -2 oder -3 EINSCHALTEN
- Assembler-Option -8 EINSCHALTEN
- in Projektdatei fpu_ae.lib anstelle von TCFLTLIB.LIB
schreiben oder zumindestens fpu_ae.lib VOR TCFLTLIB.LIB
anfhren.
7) Verwendungsberechtigung:
a) Fr die Verwendung der Bibliothek "fpu_ae.lib", oder von Teilen daraus,
in Programmen bzw. zur Erstellung von Programmen und sonstigen Soft-
wareprodukten ist KEINERLEI GEBšHR zu entrichten, soferne es sich bei
diesen Programmen und sonstigen Softwareprodukten um solche fr den
EIGENEN GEBRAUCH handelt, oder um Produkte, die UNENTGELTLICH an
Dritte weitergegeben werden, wie z.B. Public-Domain-Programme.
b) Die Verwendung der Bibliothek "fpu_ae.lib", oder von Teilen daraus,
in kommerziellen Produkten, das heižt in oder zur Erstellung von
Programmen und sonstigen Softwareprodukten fr deren Weitergabe ein
Entgelt verlangt wird, ist hiermit NICHT GESTATTET, sondern bedarf
einer eigenen Lizenzvereinbarung.
Diesbezgliche Anfragen richten Sie bitte an folgende Adresse:
Adolf ENGL
Barthgasse 9/18
A-1030 Wien Austria
c) Das Produkt "FPU_AE.LIB" darf (und soll) beliebig oft und unentgeltlich
kopiert und an DRITTE weitergegeben werden, soferne immer ALLE UNTER
Punkt (3) ("Produkt-Umfang") aufgelisteten Dateien in UNVERŽNDERTER Form
enthalten sind.
8) freiwilliger Entwicklungsbeitrag:
Die Verwendung der "FPU_AE.LIB" ist, gem„ž den unter Punkt (7) ("Verwen-
dungsberechtigung") angefhrten Bestimmungen, KOSTENLOS gestattet.
Falls Sie jedoch das Produkt gut gebrauchen k”nnen und deshalb auch die
Arbeit des Autors honorieren wollen, so k”nnen Sie einen Betrag Ihres
Ermessens als finanziellen Entwicklungsbeitrag an folgende Adresse senden:
Adolf Engl Barthgasse 9/18 A-1030 Wien Austria
(Bitte bersenden Sie nur Banknoten und/oder Euroschecks. Euroschecks
bitte in ™ster. Schillingen (Krzel ™S) ausstellen.)
9) Anregungen, Wnsche und Kritik:
Diesbezgliche Mitteilungen senden Sie bitte an die Adresse des Autors
oder via eMail z.B. an Adolf Engl 2:310/3 im FidoNet.
Bedenken Sie dabei bitte, daž diese Bibliothek nur als Uberbrckungshilfe
fr all jene Leidensgenossen mit einer der anfangs beschriebenen System-
konfigurationen, dienen soll. Und vorallem nur solange bis Borland
endlich ein besseres Turbo-C Update herausbringt.
Mit freundlichen Gržen
Adolf Engl