xref: /inferno-os/libmath/bin/unif_dtoa (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsyth#!/bin/rc
2*37da2899SCharles.Forsythtest -d /netlib/fp || 9fs netlib
3*37da2899SCharles.Forsythtest -d /n/hati/usr/ehg || 9fs hati
4*37da2899SCharles.Forsyth
5*37da2899SCharles.Forsythecho '/* derived from /netlib/fp/dtoa.c assuming IEEE, Standard C */' > dtoa.c
6*37da2899SCharles.Forsythecho '/* kudos to dmg@research.att.com, gripes to ehg@research.att.com */' >> dtoa.c
7*37da2899SCharles.Forsythecho '#include "lib9.h"' >> dtoa.c
8*37da2899SCharles.Forsyth
9*37da2899SCharles.Forsythsed 's/^#if defined.IEEE_8087. . defined.IEEE_MC68k.*!= 1/#ifndef IEEE_Arith/
10*37da2899SCharles.Forsyth	s/^#if defined.IEEE_8087. . defined.IEEE_MC68k.*/#ifdef IEEE_Arith/' \
11*37da2899SCharles.Forsyth		/netlib/fp/dtoa.c > /n/hati/usr/ehg/xxx.c
12*37da2899SCharles.Forsyth# undefine __STDC__ because we can't depend on HUGE_VAL
13*37da2899SCharles.Forsythrx hati 'unifdef -UIBM -UVAX -UKR_headers -U__cplusplus -U__STDC__ -UDEBUG \
14*37da2899SCharles.Forsyth	-UBad_float_h -UJust_16 -UInaccurate_Divide -UROUND_BIASED \
15*37da2899SCharles.Forsyth	-URND_PRODQUOT -DNo_leftright -UCheck_FLT_ROUNDS -D__MATH_H__ \
16*37da2899SCharles.Forsyth	-DUnsigned_Shifts -DMALLOC=Malloc -DCONST=const \
17*37da2899SCharles.Forsyth	-DPack_32 -DIEEE_Arith xxx.c | cb -s' > xxx.c
18*37da2899SCharles.Forsythsam -d >> dtoa.c >[2] err <<!
19*37da2899SCharles.Forsythe xxx.c
20*37da2899SCharles.Forsyth1,/include "float\.h"\n/d
21*37da2899SCharles.Forsyth/The following definition of Storeinc/+-;/^#endif\n/d
22*37da2899SCharles.Forsyth/^#define IEEE_Arith\n/+-d
23*37da2899SCharles.Forsyth/When Pack_32 is not defined/+-;/^\n/d
24*37da2899SCharles.Forsyth,s/\n\n\n+/\n\n/g
25*37da2899SCharles.Forsyth,s/\n\(/(/g
26*37da2899SCharles.Forsyth,s/\\\(/\\\n(/g
27*37da2899SCharles.Forsyth,x/IEEE_8087/ c/__LITTLE_ENDIAN/
28*37da2899SCharles.Forsyth,x/^#if / c/#ifdef /
29*37da2899SCharles.Forsyth,x g/errno/d
30*37da2899SCharles.Forsyth,x/MALLOC/ c/malloc/
31*37da2899SCharles.Forsyth,x/Long/ c/long/
32*37da2899SCharles.Forsyth,x/CONST/ c/const/
33*37da2899SCharles.Forsythw
34*37da2899SCharles.Forsythq
35*37da2899SCharles.Forsyth!
36*37da2899SCharles.Forsythcat xxx.c >> dtoa.c
37*37da2899SCharles.Forsythrm xxx.c
38