giles
cb14a07413
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
ocaml: phase 6 Printf %i/%u/%x/%X/%o + int_to_hex/octal host primitives (+5 tests, 533 total)
Three new host primitives in eval.sx:
_int_to_hex_lower n -> string of hex digits (lowercase)
_int_to_hex_upper n -> string of hex digits (uppercase)
_int_to_octal n -> string of octal digits
Each builds the digit string by repeated floor(n / base) + mod,
prepending the digit at each step. Negative numbers prefix '-' so the
output round-trips through int_of_string with a sign.
Printf walker now fans out:
%d, %i, %u -> _string_of_int
%f -> _string_of_float
%x -> _int_to_hex_lower
%X -> _int_to_hex_upper
%o -> _int_to_octal
%s, %c, %b -> existing handling
Printf.sprintf '%x' 255 = 'ff'
Printf.sprintf '%X' 4096 = '1000'
Printf.sprintf '%o' 8 = '10'
Printf.sprintf '%x %X %o' 255 4096 8 = 'ff 1000 10'
2026-05-09 03:12:28 +00:00
..
2026-05-07 19:33:09 +00:00
2026-05-06 23:00:12 +00:00
2026-05-06 22:01:51 +00:00
2026-05-01 23:30:48 +00:00
2026-05-07 19:45:10 +00:00
2026-05-06 22:46:48 +00:00
2026-05-07 01:20:32 +00:00
2026-05-01 22:33:27 +00:00
2026-05-07 17:17:17 +00:00
2026-05-09 03:12:28 +00:00
2026-05-07 17:35:49 +00:00
2026-05-01 23:18:04 +00:00
2026-05-06 22:01:51 +00:00
2026-05-07 18:29:26 +00:00
2026-04-02 12:50:35 +00:00
2026-04-03 21:48:54 +00:00
2026-04-03 21:48:54 +00:00
2026-05-07 02:38:47 +00:00
2026-04-03 21:48:54 +00:00
2026-05-06 16:58:18 +00:00
2026-04-04 20:49:02 +00:00
2026-04-22 09:08:00 +00:00
2026-04-22 09:08:00 +00:00
2026-04-04 20:49:02 +00:00
2026-04-11 08:03:45 +00:00
2026-05-01 21:00:22 +00:00
2026-04-03 21:48:54 +00:00
2026-04-11 08:19:16 +00:00
2026-04-03 21:48:54 +00:00
2026-04-04 20:49:02 +00:00
2026-04-12 18:31:34 +00:00
2026-04-04 20:49:02 +00:00
2026-04-04 20:49:02 +00:00
2026-04-08 10:12:57 +00:00