diff options
| author | Shagun Agrawal <agrawalshagun07@gmail.com> | 2024-12-12 00:07:27 +0530 |
|---|---|---|
| committer | Shagun Agrawal <agrawalshagun07@gmail.com> | 2024-12-12 00:07:27 +0530 |
| commit | 837d5c5d0a2704ebfe48de3799936bf98330e134 (patch) | |
| tree | 706af2879ddbf823e97715a04516e2b3bc32f258 /src/cljcc/util.clj | |
| parent | f2a60f486821118d11ab2bb7f496450176193411 (diff) | |
Assembly codeden for long type
Used clojure core match
Added assembly phase
Diffstat (limited to 'src/cljcc/util.clj')
| -rw-r--r-- | src/cljcc/util.clj | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/cljcc/util.clj b/src/cljcc/util.clj index 6ced120..01eabd4 100644 --- a/src/cljcc/util.clj +++ b/src/cljcc/util.clj @@ -87,7 +87,7 @@ _ (-> strip-l-or-L Long/parseLong Long/toString)] - s) + s) (catch Exception _e false))) @@ -102,3 +102,17 @@ (exc/lex-error {:line line :col col}))) +(defn round-away-from-zero [num div] + (let [div (abs div)] + (cond + (= (mod num div) 0) num + (< num 0) (- num (- div (mod num div))) + :else (+ num (- div (mod num div)))))) + +(defn in-int-range? + "Verifies whether -2^31 <= x <= 2^31." + [v] + (and (>= v Integer/MIN_VALUE) + (<= v Integer/MAX_VALUE))) + +(not (in-int-range? Long/MAX_VALUE)) |
