home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
pc
/
0400
/
CCE_0423.ZIP
/
CCE_0423.PD
/
GPINCL13.ZOO
/
ioprivat.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-10-01
|
2KB
|
67 lines
// This is part of the iostream library, providing -*- C++ -*- input/output.
// Copyright (C) 1991 Per Bothner.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Library General Public License for more details.
//
// You should have received a copy of the GNU Library General Public
// License along with this library; if not, write to the Free
// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "streambu.h"
#include <stdarg.h>
#include <stddef.h>
#define _fstat(x, y) fstat(x,y)
#define _isatty(fd) isatty(fd)
extern int __cvt_double(double number, register int prec, int flags,
int *signp, int fmtch, char *startp, char *endp);
/*#define USE_MALLOC_BUF*/
#ifdef atarist
#define USE_MALLOC_BUF 1
#endif
#ifndef USE_MALLOC_BUF
#define ALLOC_BUF(size) new char[size]
#define FREE_BUF(ptr) delete [] (ptr)
#else
#define ALLOC_BUF(size) (char*)malloc(size)
#define FREE_BUF(ptr) free(ptr)
#endif
#define USE_DTOA
// Advantages:
// - Input gets closest value
// - Output emits string that when read yields identical value.
// - Handles Infinity and NaNs (but not re-readable).
// Disadvantages of dtoa:
// - May not work for all double formats.
// - Big chunck of code.
// - Not reentrant - uses atatic variables freelist,
// result, result_k in dtoa
// (plus initializes p5s, HOWORD, and LOWORD).
#ifdef USE_DTOA
extern "C" double strtod(const char *s00, char **se);
extern "C" char *dtoa(double d, int mode, int ndigits,
int *decpt, int *sign, char **rve);
extern int __outfloat(double value, streambuf *sb, char mode,
int width, int precision, __fmtflags flags,
char sign_mode, char fill);
#endif