Handbook
Glossary
enable-float-intrinsics ( -- )
Vocabulary
compiler
.
cfg
.
intrinsics
Inputs
None
Outputs
None
Definition
USING:
alien.accessors
compiler.cfg.comparisons
compiler.cfg.hats
compiler.cfg.intrinsics.alien
compiler.cfg.intrinsics.float
compiler.cfg.stacks
cpu.architecture
kernel
math.floats.private
math.private
;
IN:
compiler.cfg.intrinsics
:
enable-float-intrinsics
( -- )
{
{
float+
[
drop
[
^^add-float
]
binary-op
]
}
{
float-
[
drop
[
^^sub-float
]
binary-op
]
}
{
float*
[
drop
[
^^mul-float
]
binary-op
]
}
{
float/f
[
drop
[
^^div-float
]
binary-op
]
}
{
float<
[
drop
cc<
emit-float-ordered-comparison
]
}
{
float<=
[
drop
cc<=
emit-float-ordered-comparison
]
}
{
float>=
[
drop
cc>=
emit-float-ordered-comparison
]
}
{
float>
[
drop
cc>
emit-float-ordered-comparison
]
}
{
float-u<
[
drop
cc<
emit-float-unordered-comparison
]
}
{
float-u<=
[
drop
cc<=
emit-float-unordered-comparison
]
}
{
float-u>=
[
drop
cc>=
emit-float-unordered-comparison
]
}
{
float-u>
[
drop
cc>
emit-float-unordered-comparison
]
}
{
float=
[
drop
cc=
emit-float-unordered-comparison
]
}
{
float>fixnum
[
drop
[
^^float>integer
]
unary-op
]
}
{
fixnum>float
[
drop
[
^^integer>float
]
unary-op
]
}
{
float-unordered?
[
drop
cc/<>=
emit-float-unordered-comparison
]
}
{
alien-float
[
float-rep
f
emit-load-memory
]
}
{
set-alien-float
[
float-rep
f
emit-store-memory
]
}
{
alien-double
[
double-rep
f
emit-load-memory
]
}
{
set-alien-double
[
double-rep
f
emit-store-memory
]
}
}
enable-intrinsics
;