Functions

RoundingEmulator.add_upFunction
add_up(a, b)

Computes a + b with the rounding mode Base.Rounding.RoundUp.

julia> add_up(0.1, 0.2)
0.30000000000000004

julia> add_up(10.0^308, 10.0^308)
Inf

julia> add_up(-10.0^308, -10.0^308)
-1.7976931348623157e308

julia> add_up(-0.1, 0.1)
0.0

julia> add_up(0.0, 0.0)
0.0

julia> add_up(0.0, -0.0)
0.0

julia> add_up(-0.0, -0.0)
-0.0
source
RoundingEmulator.add_downFunction
add_down(a, b)

Computes a + b with the rounding mode Base.Rounding.RoundDown.

julia> add_down(0.1, 0.2)
0.3

julia> add_down(10.0^308, 10.0^308)
1.7976931348623157e308

julia> add_down(-10.0^308, -10.0^308)
-Inf

julia> add_down(-0.1, 0.1)
-0.0

julia> add_down(0.0, 0.0)
0.0

julia> add_down(0.0, -0.0)
-0.0

julia> add_down(-0.0, -0.0)
-0.0
source
RoundingEmulator.sub_upFunction
sub_up(a, b)

Computes a - b with the rounding mode Base.Rounding.RoundUp.

julia> sub_up(-0.1, 0.2)
-0.3

julia> sub_up(-10.0^308, 10.0^308)
-1.7976931348623157e308

julia> sub_up(10.0^308, -10.0^308)
Inf

julia> sub_up(0.1, 0.1)
0.0

julia> sub_up(0.0, 0.0)
0.0

julia> sub_up(0.0, -0.0)
0.0

julia> sub_up(-0.0, 0.0)
-0.0

julia> sub_up(-0.0, -0.0)
0.0
source
RoundingEmulator.sub_downFunction
sub_down(a, b)

Computes a - b with the rounding mode Base.Rounding.RoundDown.

julia> sub_down(-0.1, 0.2)
-0.30000000000000004

julia> sub_down(-10.0^308, 10.0^308)
-Inf

julia> sub_down(10.0^308, -10.0^308)
1.7976931348623157e308

julia> sub_down(0.1, 0.1)
-0.0

julia> sub_down(0.0, 0.0)
-0.0

julia> sub_down(0.0, -0.0)
0.0

julia> sub_down(-0.0, 0.0)
-0.0

julia> sub_down(-0.0, -0.0)
-0.0
source
RoundingEmulator.mul_upFunction
mul_up(a, b)

Computes a * b with the rounding mode Base.Rounding.RoundUp.

julia> mul_up(0.1, 0.2)
0.020000000000000004

julia> mul_up(10.0^308, 10.0^308)
Inf

julia> mul_up(10.0^308, -10.0^308)
-1.7976931348623157e308

julia> mul_up(5.0e-324, 5.0e-324)
5.0e-324

julia> mul_up(-0.1, 0.1)
-0.01

julia> mul_up(0.0, 0.0)
0.0

julia> mul_up(0.0, -0.0)
-0.0

julia> mul_up(-0.0, -0.0)
0.0
source
RoundingEmulator.mul_downFunction
mul_down(a, b)

Computes a * b with the rounding mode Base.Rounding.RoundDown.

julia> mul_down(0.1, 0.2)
0.02

julia> mul_down(10.0^308, 10.0^308)
1.7976931348623157e308

julia> mul_down(10.0^308, -10.0^308)
-Inf

julia> mul_down(5.0e-324, 5.0e-324)
0.0

julia> mul_down(-0.1, 0.1)
-0.010000000000000002

julia> mul_down(0.0, 0.0)
0.0

julia> mul_down(0.0, -0.0)
-0.0

julia> mul_down(-0.0, -0.0)
0.0
source