obliczenia_naukowe/l1/2.jl
2024-11-08 10:54:40 +01:00

23 lines
509 B
Julia
Executable file

#!/usr/bin/env julia
# Jacek Poziemski 272389
"""
kahanmacheps(T::Type{<: AbstractFloat})::T
Calculate the Kahan machine epsilon
using the following expression: `3(4/3 - 1) - 1`.
# Arguments
- `T`: the floating point type
"""
function kahanmacheps(T::Type{<: AbstractFloat})::T
return T(3) * ((T(4) / T(3)) - one(T)) - one(T)
end
for T::Type{<: AbstractFloat} in [Float16, Float32, Float64]
println("kahanmacheps($T): $(kahanmacheps(T))")
println("eps($T): $(eps(T))")
println()
end