aboutsummaryrefslogtreecommitdiffstats
path: root/func.go
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2023-07-29 13:38:17 -0230
committerSam Anthony <sam@samanthony.xyz>2023-07-29 13:38:17 -0230
commit0f33f929104263a72ec386474658761a70cca90d (patch)
treea2b7b50499ad947682972bec46241a4073544b6b /func.go
parentb9ec5c2436a4f765948a80aa881494a24996f990 (diff)
downloadpfc-0f33f929104263a72ec386474658761a70cca90d.zip
degree/radian conversion functionsv1.0.0
Diffstat (limited to 'func.go')
-rw-r--r--func.go16
1 files changed, 16 insertions, 0 deletions
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