@pragma(once)
@feature(conv, math)
@author(Sven Vogel)
floor(x:rat) = rat {
to_rat(to_int(x))
}
round(x:rat) = rat {
to_rat(to_int(x + 0.5))
ceil(x:rat) = rat {
to_rat(to_int(x + 1.0))
fract(x:rat) = rat {
x - floor(x)
log(x:rat, b:rat) = rat {
log(x) / log(b)