Login
7 branches 0 tags
Ben (Win10) Fixed using [yield] within a yielded callback 9a54b1e 3 years ago 420 Commits
nujel / stdlib / math / math.nuj
; Nujel - Copyright (C) 2020-2021 - Benjamin Vincent Schulenburg
; This project uses the MIT license, a copy should be included under /LICENSE

[def PI 3.14159]
[def π  3.14159]

[defmacro ++ [i]
          "Increment I by 1 and store the result in I"
          `[set! ~i [+ 1 ~i]]]

[defmacro -- [i]
          "Decrement I by 1 and store the result in I"
          `[set! ~i [+ -1 ~i]]]

[defun +x [α]
       "Return a function that adds α to it's argument, useful for mapping"
       [\ [β] [+ α β]]]

[defun >> [val amount]
       "Shifts VAL by AMOUNT bits to the right"
       [ash val [- amount]]]

[defun fib [i]
           "Terribly inefficient, but, useful for testing the GC"
           [if [< i 2] i
               [+ [fib [- i 2]] [fib [- i 1]]]]]

[defun wrap-value [val min max] "Constrains VAL to be within MIN and MAX, wrapping it around"
        [+ min [% [- val min] [- max min]]]]

[defmacro +1 [v]
          `[+ 1 ~v]]