login

<     >

2021-04-26 19:11:42 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

cache value of pi

diff --git a/poly.lua b/poly.lua
index 72d1305..4f97ba5 100644
--- a/poly.lua
+++ b/poly.lua
@@ -5,6 +5,7 @@ double hypot(double x, double y);
 ]]
 local hypot = ffi.C.hypot
 
+local pi = math.pi
 local sqrt2 = math.sqrt(2)
 
 local function dashed(points, pattern)
@@ -145,8 +146,8 @@ end
 -- regular polygon
 local function ngon(x, y, r, n, mina, maxa)
     mina = mina or 0
-    maxa = maxa or 2 * math.pi
-    local a = 2 * math.pi / n -- angle between points
+    maxa = maxa or 2 * pi
+    local a = 2 * pi / n -- angle between points
     local pgon = {}
     local px, py
     local pa = mina
@@ -165,13 +166,13 @@ end
 -- approximate an arc between angles mina and maxa
 local function parc(x, y, r, mina, maxa)
     local h = 0.5 -- maximum radius-apothem allowed
-    local n = math.ceil(math.pi / math.acos(1 - h/r)) -- # of sides
+    local n = math.ceil(pi / math.acos(1 - h/r)) -- # of sides
     return ngon(x, y, r, n, mina, maxa)
 end
 
 -- regular polygon that approximates a circle
 local function pcircle(x, y, r)
-    return parc(x, y, r, 0, 2 * math.pi)
+    return parc(x, y, r, 0, 2 * pi)
 end
 
 local function arrow_head(x0, y0, x1, y1, w, h)