aboutsummaryrefslogtreecommitdiffstats
path: root/mass.go
diff options
context:
space:
mode:
authorsam-anthony <samanthony6@protonmail.com>2022-03-31 20:27:39 -0230
committersam-anthony <samanthony6@protonmail.com>2022-03-31 20:27:39 -0230
commit6634b3ff6bcdffbab38a049460ae6ea3cd68944f (patch)
tree4cbcb7829060883afe074854a2ffc82b4ab2e31b /mass.go
parentcc0d171c5cd1057693960b7f63aee29e7f70ee8e (diff)
downloadvolute-6634b3ff6bcdffbab38a049460ae6ea3cd68944f.zip
refactor and compressor map image widget
Diffstat (limited to 'mass.go')
-rw-r--r--mass.go86
1 files changed, 0 insertions, 86 deletions
diff --git a/mass.go b/mass.go
deleted file mode 100644
index 0b97020..0000000
--- a/mass.go
+++ /dev/null
@@ -1,86 +0,0 @@
-package main
-
-import (
- "errors"
- "fmt"
- "time"
-)
-
-type massUnit float32
-
-const (
- gram massUnit = 1
- kilogram massUnit = 1_000
- pound massUnit = 453.5924
-)
-
-type mass struct {
- val float32
- unit massUnit
-}
-
-func (m mass) asUnit(u massUnit) float32 {
- g := m.val * float32(m.unit) // Convert to grams.
- return g / float32(u) // Convert to desired unit.
-}
-
-type massFlowRateUnit float32
-
-const (
- kilogramsPerSecond massFlowRateUnit = 1
- poundsPerMinute massFlowRateUnit = 0.007_559_872_833
-)
-
-// massFlowRateUnitStrings returns a slice of strings, each representing a
-// massFlowRateUnit.
-// This is necessary because giu.Combo only works with strings.
-func massFlowRateUnitStrings() []string {
- return []string{"kg/s", "lb/min"}
-}
-
-const (
- defaultMassFlowRateUnit massFlowRateUnit = kilogramsPerSecond
- //Used to index massFlowRateUnitStrings
- defaultMassFlowRateUnitIndex int32 = 0 // kg/s
-)
-
-func massFlowRateUnitFromString(s string) (massFlowRateUnit, error) {
- // Each case corresponds to a value in massFlowRateUnitStrings.
- switch s {
- case "kg/s":
- return kilogramsPerSecond, nil
- case "lb/min":
- return poundsPerMinute, nil
- default:
- return *new(massFlowRateUnit), errors.New(
- fmt.Sprintf("invalid massFlowRateUnit: '%s'", s))
- }
-}
-
-type massFlowRate struct {
- val float32
- unit massFlowRateUnit
-}
-
-func newMassFlowRate(m mass, t time.Duration, u massFlowRateUnit) (massFlowRate, error) {
- switch u {
- case kilogramsPerSecond:
- return massFlowRate{
- m.asUnit(kilogram) / float32(t.Seconds()),
- u,
- }, nil
- case poundsPerMinute:
- return massFlowRate{
- m.asUnit(pound) / float32(t.Minutes()),
- u,
- }, nil
- default:
- return *new(massFlowRate), errors.New(
- fmt.Sprintf("invalid massFlowRateUnit: '%v'", u))
- }
-}
-
-func (fr massFlowRate) asUnit(u massFlowRateUnit) float32 {
- kgps := fr.val * float32(fr.unit) // Convert to kilogramsPerSecond.
- return kgps / float32(u) // Convert to desired unit.
-}