69 lines
1.1 KiB
Go
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
|
|
}
|