Skip to content

Instantly share code, notes, and snippets.

@AyaMorisawa
Last active August 29, 2015 14:16
Show Gist options
  • Save AyaMorisawa/b0ba557fe3b739cc8ce1 to your computer and use it in GitHub Desktop.
Save AyaMorisawa/b0ba557fe3b739cc8ce1 to your computer and use it in GitHub Desktop.
Num.ls
# Number -> Number -> Number
triangle-area = (base, height) --> base * height |> half
# Number -> Number -> Number
rectangle-area = (width, height) --> width * height
# Number -> Number
square-area = (side) -> side * side
# Number -> Number -> Number
parallelogram-area = (base, height) --> base * height
# Number -> Number -> Number -> Number
trapezoid-area = (upper-base, lower-base, height) --> (upper-base + lower-base) * height |> half
# Number -> Number
circle-area = (radius) -> pi * radius * radius
# Number -> Number -> Number
C = (n, r) -->
| r == 0 => 1
| r == 1 => n
| n == r => 1
| (half n) < r => C n, n - r
| _ => (P n, r) / (factorial r)
# Number -> Number -> Number
distance1 = (x1, x2) --> x1 - x2 |> abs
# Number -> Number -> Number -> Number -> Number
distance2 = (x1, y1, x2, y2) --> (distance1 x1, x2) ^ 2 + (distance1 y1, y2) ^ 2 |> sqrt
# Number -> Number -> Number -> Number -> Number -> Number -> Number
distance3 = (x1, y1, z1, x2, y2, z2) --> (distance2 x1 y1 x2 y2) ^ 2 + (distance1 z1 z2) ^ 2 |> sqrt
# Number -> Number -> Boolean
divisible-by = (x, n) --> x % n == 0
# Number -> String
exponential = (.toExponential!)
# Number -> Number
factorial = (n) -> [1 to n] |> product
# Number -> [Number]
factors = (n) -> [x for x from 1 to n when n `divisible-by` x]
# Number -> Number
half = (/ 2)
# Number -> Number -> Number -> Number
herons-formula = (a, b, c) -->
s = a + b + c |> half
s * (s - a) * (s - b) * (s - c) |> sqrt
# Number -> Number -> Number
P = (n, r) --> [n - r + 1 to n] |> product
# Number -> Number -> Number
random = (from, to) --> floor(Math.random! * (to - from + 1)) + from
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment