| |
|
| -trailing c_addr u1 -- c_addr u2 string dash_trailing |
-trailing c_addr u1 -- c_addr u2 string dash_trailing |
| u2 = u1; |
u2 = u1; |
| while (u2>0 && c_addr[u2-1] == ' ') |
while (c_addr[u2-1] == ' ') |
| u2--; |
u2--; |
| : |
: |
| BEGIN 1- 2dup + c@ bl = WHILE |
BEGIN 1- 2dup + c@ bl = WHILE |
| fexpm1 r1 -- r2 float-ext |
fexpm1 r1 -- r2 float-ext |
| ""@i{r2}=@i{e}**@i{r1}@minus{}1"" |
""@i{r2}=@i{e}**@i{r1}@minus{}1"" |
| #ifdef HAVE_EXPM1 |
#ifdef HAVE_EXPM1 |
| extern double expm1(double); |
extern double |
| |
#ifdef NeXT |
| |
const |
| |
#endif |
| |
expm1(double); |
| r2 = expm1(r1); |
r2 = expm1(r1); |
| #else |
#else |
| r2 = exp(r1)-1.; |
r2 = exp(r1)-1.; |
| flnp1 r1 -- r2 float-ext |
flnp1 r1 -- r2 float-ext |
| ""@i{r2}=ln(@i{r1}+1)"" |
""@i{r2}=ln(@i{r1}+1)"" |
| #ifdef HAVE_LOG1P |
#ifdef HAVE_LOG1P |
| extern double log1p(double); |
extern double |
| |
#ifdef NeXT |
| |
const |
| |
#endif |
| |
log1p(double); |
| r2 = log1p(r1); |
r2 = log1p(r1); |
| #else |
#else |
| r2 = log(r1+1.); |
r2 = log(r1+1.); |