Carp/core/Long.carp

32 lines
1.0 KiB
Plaintext
Raw Normal View History

2017-10-25 20:17:53 +03:00
(defmodule Long
(register + (λ [Long Long] Long))
(register - (λ [Long Long] Long))
(register * (λ [Long Long] Long))
(register / (λ [Long Long] Long))
(register < (λ [Long Long] Bool))
(register > (λ [Long Long] Bool))
(register = (λ [Long Long] Bool))
(register mod (λ [Long Long] Long))
(register seed (λ [Long] ()))
(register random (λ [] Long))
(register random-between (λ [Long Long] Long))
(register str (λ [Long] String))
(register from-string (λ [&String] Long))
(register mask (λ [Long Long] Bool))
(register inc (λ [Long] Long))
(register dec (λ [Long] Long))
(register copy (λ [&Long] Long)) ;; TODO: Should not be needed when refs to value types are auto-converted to non-refs.
2017-11-14 20:07:35 +03:00
(defn /= [x y]
(not (Long.= x y)))
2017-11-16 23:19:39 +03:00
(register safe-add (λ [Long Long (Ref Long)] Bool))
(register safe-sub (λ [Long Long (Ref Long)] Bool))
(register safe-mul (λ [Long Long (Ref Long)] Bool))
2017-11-17 14:26:01 +03:00
(register abs (λ [Long] Long))
(defn max [a b] (if (> a b) a b))
(defn min [a b] (if (< a b) a b))
2017-11-14 20:07:35 +03:00
)