diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2023-07-29 13:38:17 -0230 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2023-07-29 13:38:17 -0230 |
| commit | 0f33f929104263a72ec386474658761a70cca90d (patch) | |
| tree | a2b7b50499ad947682972bec46241a4073544b6b | |
| parent | b9ec5c2436a4f765948a80aa881494a24996f990 (diff) | |
| download | pfc-0f33f929104263a72ec386474658761a70cca90d.zip | |
degree/radian conversion functionsv1.0.0
| -rw-r--r-- | func.go | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -12,6 +12,10 @@ func parseFunction(fn string) func(Calculator) { return trig(fn) case "asin", "acos", "atan": return invTrig(fn) + case "deg": + return deg + case "rad": + return rad } return nil } @@ -65,6 +69,18 @@ func invTrig(fn string) func(Calculator) { } } +func deg(c Calculator) { + if len(c.stack) > 0 { + c.stack[len(c.stack)-1] = degrees(c.stack[len(c.stack)-1]) + } +} + +func rad(c Calculator) { + if len(c.stack) > 0 { + c.stack[len(c.stack)-1] = radians(c.stack[len(c.stack)-1]) + } +} + // radians converts degrees to radians. func radians(deg float64) float64 { return deg * math.Pi / 180.0 |