From 0f33f929104263a72ec386474658761a70cca90d Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 29 Jul 2023 13:38:17 -0230 Subject: degree/radian conversion functions --- func.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/func.go b/func.go index 8fe3f0d..fee20da 100644 --- a/func.go +++ b/func.go @@ -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 -- cgit v1.2.3