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:
commit
fc53445d08
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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))
|
||||||
|
Loading…
Reference in New Issue
Block a user