th7/temperature/temperature.go
2022-11-12 14:20:29 +00:00

69 lines
1.1 KiB
Go

package temperature
import (
"th7/data/temperature"
)
func c_to_k(val float64) float64 {
return val + 273.15
}
func c_to_f(val float64) float64 {
return (val * 9 / 5) + 32.0
}
func f_to_c(val float64) float64 {
return (val - 32.0) * 5 / 9
}
func f_to_k(val float64) float64 {
return (val-32.0)*5/9 + 273.15
}
func k_to_c(val float64) float64 {
return val - 273.15
}
func k_to_f(val float64) float64 {
return (val-273.15)*9/5 + 32.0
}
func C(unit temperature.Unit, value float64) float64 {
switch unit {
case temperature.C:
return value
case temperature.F:
return c_to_f(value)
case temperature.K:
return c_to_k(value)
}
return 0
}
func F(unit temperature.Unit, value float64) float64 {
switch unit {
case temperature.F:
return value
case temperature.C:
return f_to_c(value)
case temperature.K:
return f_to_k(value)
}
return 0
}
func K(unit temperature.Unit, value float64) float64 {
switch unit {
case temperature.K:
return value
case temperature.F:
return k_to_f(value)
case temperature.C:
return k_to_c(value)
}
return 0
}