sfflsbuf.c sfgetd.c sfgetl.c sfgetm.c sfgetr.c sfgetu.c \
sfmode.c sfnew.c sfnotify.c \
sfnputc.c sfopen.c sfpkrd.c sfpoll.c sfpool.c \
- sfprintf.c sfprints.c sfpurge.c sfputd.c sfputl.c sfputm.c \
+ sfprintf.c sfprints.c sfpurge.c sfputl.c sfputm.c \
sfputr.c sfputu.c sfraise.c sfrd.c sfread.c sfreserve.c \
sfresize.c sfscanf.c sfseek.c sfset.c sfsetbuf.c sfsetfd.c \
sfsize.c sfsk.c sfstack.c sfstrtod.c sfswap.c sfsync.c \
noinst_LTLIBRARIES = libsfiof_C.la
libsfiof_C_la_SOURCES = \
- _sffileno.c _sfgetc.c _sfputc.c _sfputd.c \
+ _sffileno.c _sfgetc.c _sfputc.c \
_sfputl.c _sfputm.c _sfputu.c _sfslen.c _sfstacked.c \
_sfulen.c _sfvalue.c
+++ /dev/null
-/* $Id$ $Revision$ */
-/* vim:set shiftwidth=4 ts=8: */
-
-/*************************************************************************
- * Copyright (c) 2011 AT&T Intellectual Property
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: See CVS logs. Details at http://www.graphviz.org/
- *************************************************************************/
-
-#include <sfio/sfhdr.h>
-
-#undef sfputd
-
-int sfputd(Sfio_t * f, Sfdouble_t d)
-{
- return __sf_putd(f, d);
-}
/* portable handling of primitive types */
extern int sfulen(Sfulong_t);
- extern int sfputd(Sfio_t *, Sfdouble_t);
extern int sfputl(Sfio_t *, Sflong_t);
extern int sfputu(Sfio_t *, Sfulong_t);
extern int sfputm(Sfio_t *, Sfulong_t, Sfulong_t);
extern Sfulong_t sfgetm(Sfio_t *, Sfulong_t);
extern int sfgetc(Sfio_t *);
- extern int _sfputd(Sfio_t *, Sfdouble_t);
extern int _sfputl(Sfio_t *, Sflong_t);
extern int _sfputu(Sfio_t *, Sfulong_t);
extern int _sfputm(Sfio_t *, Sfulong_t, Sfulong_t);
#else
#define _SF_(f) ((Sfio_t*)(f))
#endif
-#define __sf_putd(f,v) (_sfputd(_SF_(f),(Sfdouble_t)(v)))
#define __sf_putl(f,v) (_sfputl(_SF_(f),(Sflong_t)(v)))
#define __sf_putu(f,v) (_sfputu(_SF_(f),(Sfulong_t)(v)))
#define __sf_putm(f,v,m) (_sfputm(_SF_(f),(Sfulong_t)(v),(Sfulong_t)(m)))
#define __sf_value(f) ((f) ? (_SF_(f)->val) : 0)
#define __sf_slen() (_Sfi)
-#define sfputd(f,v) ( __sf_putd((f),(v)) )
#define sfputl(f,v) ( __sf_putl((f),(v)) )
#define sfputu(f,v) ( __sf_putu((f),(v)) )
#define sfputm(f,v,m) ( __sf_putm((f),(v),(m)) )
<ClCompile Include="sfio_f\_sffileno.c" />
<ClCompile Include="sfio_f\_sfgetc.c" />
<ClCompile Include="sfio_f\_sfputc.c" />
- <ClCompile Include="sfio_f\_sfputd.c" />
<ClCompile Include="sfio_f\_sfputl.c" />
<ClCompile Include="sfio_f\_sfputm.c" />
<ClCompile Include="sfio_f\_sfputu.c" />
<ClCompile Include="sfprintf.c" />
<ClCompile Include="sfprints.c" />
<ClCompile Include="sfpurge.c" />
- <ClCompile Include="sfputd.c" />
<ClCompile Include="sfputl.c" />
<ClCompile Include="sfputm.c" />
<ClCompile Include="sfputr.c" />
<ClCompile Include="sfio_f\_sfputc.c">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="sfio_f\_sfputd.c">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="sfio_f\_sfputl.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="sfpurge.c">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="sfputd.c">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="sfputl.c">
<Filter>Source Files</Filter>
</ClCompile>
+++ /dev/null
-/* $Id$ $Revision$ */
-/* vim:set shiftwidth=4 ts=8: */
-
-/*************************************************************************
- * Copyright (c) 2011 AT&T Intellectual Property
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: See CVS logs. Details at http://www.graphviz.org/
- *************************************************************************/
-
-#include <sfio/sfhdr.h>
-
-#include <float.h>
-#include <math.h>
-
-/* Write out a floating point value in a portable format
-**
-** Written by Kiem-Phong Vo.
-*/
-
-int _sfputd(Sfio_t * f, Sfdouble_t v)
-{
-#define N_ARRAY (16*sizeof(Sfdouble_t))
- ssize_t n, w;
- uchar *s, *ends;
- int exp;
- uchar c[N_ARRAY];
- double x;
-
- SFMTXSTART(f, -1);
-
- if (f->mode != SF_WRITE && _sfmode(f, SF_WRITE, 0) < 0)
- SFMTXRETURN(f, -1);
- SFLOCK(f, 0);
-
- /* get the sign of v */
- if (v < 0.) {
- v = -v;
- n = 1;
- } else
- n = 0;
-
- /* make the magnitude of v < 1 */
- if (v != 0.)
- v = frexp(v, &exp);
- else
- exp = 0;
-
- /* code the sign of v and exp */
- if ((w = exp) < 0) {
- n |= 02;
- w = -w;
- }
-
- /* write out the signs and the exp */
- SFOPEN(f, 0);
- if (sfputc(f, n) < 0 || (w = sfputu(f, w)) < 0)
- SFMTXRETURN(f, -1);
- SFLOCK(f, 0);
- w += 1;
-
- s = (ends = &c[0]) + sizeof(c);
- while (s > ends) { /* get 2^SF_PRECIS precision at a time */
- n = (int) (x = ldexp(v, SF_PRECIS));
- *--s = n | SF_MORE;
- v = x - n;
- if (v <= 0.)
- break;
- }
-
- /* last byte is not SF_MORE */
- ends = &c[0] + sizeof(c) - 1;
- *ends &= ~SF_MORE;
-
- /* write out coded bytes */
- n = ends - s + 1;
- w = SFWRITE(f, (void *) s, n) == n ? w + n : -1;
-
- SFOPEN(f, 0);
- SFMTXRETURN(f, w);
-}