1
0
mirror of https://github.com/janet-lang/janet synced 2024-11-28 11:09:54 +00:00

Merge pull request #198 from andrewchambers/intprint

Integers convert to plain number strings.
This commit is contained in:
Calvin Rose 2019-12-01 13:00:09 -05:00 committed by GitHub
commit fc53445d08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -49,13 +49,13 @@ static void int64_unmarshal(void *p, JanetMarshalContext *ctx) {
static void it_s64_tostring(void *p, JanetBuffer *buffer) { static void it_s64_tostring(void *p, JanetBuffer *buffer) {
char str[32]; char str[32];
sprintf(str, "<core/s64 %" PRId64 ">", *((int64_t *)p)); sprintf(str, "%" PRId64, *((int64_t *)p));
janet_buffer_push_cstring(buffer, str); janet_buffer_push_cstring(buffer, str);
} }
static void it_u64_tostring(void *p, JanetBuffer *buffer) { static void it_u64_tostring(void *p, JanetBuffer *buffer) {
char str[32]; char str[32];
sprintf(str, "<core/u64 %" PRIu64 ">", *((uint64_t *)p)); sprintf(str, "%" PRIu64, *((uint64_t *)p));
janet_buffer_push_cstring(buffer, str); janet_buffer_push_cstring(buffer, str);
} }

View File

@ -65,6 +65,9 @@
(assert (:== (:/ (u64 "0xffff_ffff_ffff_ffff") 8 2) "0xfffffffffffffff") "bigint operations") (assert (:== (:/ (u64 "0xffff_ffff_ffff_ffff") 8 2) "0xfffffffffffffff") "bigint operations")
(assert (let [a (u64 0xff)] (:== (:+ a a a a) (:* a 2 2))) "bigint operations") (assert (let [a (u64 0xff)] (:== (:+ a a a a) (:* a 2 2))) "bigint operations")
(assert (= (string (i64 -123)) "-123") "i64 prints reasonably")
(assert (= (string (u64 123)) "123") "u64 prints reasonably")
(assert-error (assert-error
"trap INT64_MIN / -1" "trap INT64_MIN / -1"
(:/ (int/s64 "-0x8000_0000_0000_0000") -1)) (:/ (int/s64 "-0x8000_0000_0000_0000") -1))