| wior = FILEEXIST(w2 == NULL); |
wior = FILEEXIST(w2 == NULL); |
| |
|
| create-file c_addr u ntype -- w2 wior file create_file |
create-file c_addr u ntype -- w2 wior file create_file |
| Cell fd; |
int fd; |
| fd = creat(cstr(c_addr, u, 1), 0644); |
fd = creat(cstr(c_addr, u, 1), 0644); |
| if (fd > -1) { |
if (fd > -1) { |
| #ifdef __osf__ |
#ifdef __osf__ |
| |
|
| represent r c_addr u -- n f1 f2 float |
represent r c_addr u -- n f1 f2 float |
| char *sig; |
char *sig; |
| Cell flag; |
int flag; |
| Cell decpt; |
int decpt; |
| sig=ecvt(r, u, &decpt, &flag); |
sig=ecvt(r, u, &decpt, &flag); |
| n=decpt; |
n=(Cell)(r==0 ? 1 : decpt); |
| f1=FLAG(flag!=0); |
f1=FLAG(flag!=0); |
| f2=FLAG(isdigit(sig[0])!=0); |
f2=FLAG(isdigit(sig[0])!=0); |
| memmove(c_addr,sig,u); |
memmove(c_addr,sig,u); |
| Float r; |
Float r; |
| char *number=cstr(c_addr, u, 1); |
char *number=cstr(c_addr, u, 1); |
| char *endconv; |
char *endconv; |
| while(isspace(number[u-1])) u--; |
while(isspace(number[--u]) && u>0); |
| switch(number[u-1]) |
switch(number[u]) |
| { |
{ |
| case 'd': |
case 'd': |
| case 'D': |
case 'D': |
| case 'e': |
case 'e': |
| case 'E': u--; break; |
case 'E': break; |
| default: break; |
default : u++; break; |
| } |
} |
| number[u]='\0'; |
number[u]='\0'; |
| r=strtod(number,&endconv); |
r=strtod(number,&endconv); |
| |
|
| ftan r1 -- r2 float-ext |
ftan r1 -- r2 float-ext |
| r2 = tan(r1); |
r2 = tan(r1); |
| |
: |
| |
fsincos f/ ; |
| |
|
| fsinh r1 -- r2 float-ext |
fsinh r1 -- r2 float-ext |
| r2 = sinh(r1); |
r2 = sinh(r1); |
| |
: |
| |
fexpm1 fdup fdup 1. d>f f+ f/ f+ f2/ ; |
| |
|
| fcosh r1 -- r2 float-ext |
fcosh r1 -- r2 float-ext |
| r2 = cosh(r1); |
r2 = cosh(r1); |
| |
: |
| |
fexp fdup 1/f f+ f2/ ; |
| |
|
| ftanh r1 -- r2 float-ext |
ftanh r1 -- r2 float-ext |
| r2 = tanh(r1); |
r2 = tanh(r1); |
| |
: |
| |
f2* fexpm1 fdup 2. d>f f+ f/ ; |
| |
|
| fasinh r1 -- r2 float-ext |
fasinh r1 -- r2 float-ext |
| r2 = asinh(r1); |
r2 = asinh(r1); |
| |
: |
| |
fdup fdup f* 1. d>f f+ fsqrt f/ fatanh ; |
| |
|
| facosh r1 -- r2 float-ext |
facosh r1 -- r2 float-ext |
| r2 = acosh(r1); |
r2 = acosh(r1); |
| |
: |
| |
fdup fdup f* 1. d>f f- fsqrt f+ fln ; |
| |
|
| fatanh r1 -- r2 float-ext |
fatanh r1 -- r2 float-ext |
| r2 = atanh(r1); |
r2 = atanh(r1); |
| |
: |
| |
fdup f0< >r fabs 1. d>f fover f- f/ f2* flnp1 f2/ |
| |
r> IF fnegate THEN ; |
| |
|
| \ The following words access machine/OS/installation-dependent ANSI |
\ The following words access machine/OS/installation-dependent ANSI |
| \ figForth internals |
\ figForth internals |