projects
/
unix-history
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
Bell 32V development
[unix-history]
/
usr
/
src
/
libc
/
gen
/
modf.c
double
modf
(
arg
,
ent
)
double
arg
;
double
*
ent
;
{
int
neg
;
int
i
;
double
two30
=
1073741824
.;
double
big
=
72057594037927936
.;
/*2^56*/
double
x
,
temp
;
double
ldexp
();
double
frexp
();
long
l
;
neg
=
1
;
if
(
arg
<
0
){
neg
= -
1
;
arg
= -
arg
;
}
if
(
arg
>
big
){
*
ent
=
neg
*
arg
;
return
(
0
);
}
if
(
arg
<
1
){
*
ent
=
0
;
return
(
neg
*
arg
);
}
temp
=
0
;
while
(
arg
>
two30
){
x
=
frexp
(
arg
,&
i
);
if
(
arg
<
0.5
){
arg
=
2
*
arg
;
i
=
i
-
1
;
}
x
=
ldexp
(
0.5
,
i
);
arg
=
arg
-
x
;
temp
=
temp
+
x
;
}
l
=
arg
;
arg
=
arg
-
l
;
temp
=
temp
+
l
;
*
ent
=
neg
*
temp
;
return
(
neg
*
arg
);
}