Surface rename of the signed integer family: s1..s64 become i1..i64
(u1..u64, usize, isize unchanged). 'string' keeps the s-prefix arm in
name classification; width parsing moves to the i-prefix arm next to
isize.
Internal TypeId tags follow the surface (.s8/.s16/.s32/.s64 ->
.i8/.i16/.i32/.i64), as do mono-key mangle fragments (ptr_i64,
tu_i64_bool) and all display/diagnostic formatting (i{d}).
Migrated in the same sweep: stdlib + examples + issue repros + FFI C
companions (shared symbol names like ffi_id_i64), expected
stdout/stderr/ir snapshots, specs.md, readme.md, CLAUDE.md/AGENTS.md,
implementation_plan.md, docs/, issue writeups. Vendored stb_image and
historical flow state left untouched.
zig build test: 426/426; examples suite: 595/595.
61 lines
741 B
Plaintext
61 lines
741 B
Plaintext
=== 2. Operators ===
|
|
add: 7
|
|
sub: 7
|
|
mul: 42
|
|
div: 5
|
|
mod: 2
|
|
neg: -5
|
|
eq: true
|
|
neq: true
|
|
lt: true
|
|
gt: true
|
|
le: true
|
|
ge: true
|
|
chain: true
|
|
chain-gt: true
|
|
chain-mixed: true
|
|
eq-chain: true
|
|
eq-chain-f: false
|
|
band: 15
|
|
bor: 7
|
|
bxor: 240
|
|
bxor2: 5
|
|
bnot: -1
|
|
bnot2: -2
|
|
shl: 16
|
|
shr: 16
|
|
shl2: 24
|
|
shr2: 127
|
|
band-var: 15
|
|
bor-var: 7
|
|
bxor-var: 240
|
|
shl-var: 16
|
|
shr-var: 15
|
|
bnot-var: -16
|
|
and-assign: 15
|
|
or-assign: 255
|
|
xor-assign: 240
|
|
shl-assign: 256
|
|
shr-assign: 16
|
|
mod-var: 2
|
|
and: true
|
|
and-false: false
|
|
or: true
|
|
or-false: false
|
|
short-and: false
|
|
short-or: true
|
|
ca+=: 15
|
|
ca-=: 12
|
|
ca*=: 24
|
|
ca/=: 4
|
|
prec1: 14
|
|
prec2: 20
|
|
xx-cast: 200
|
|
widen-u8-i64: 200
|
|
widen-i32-f64: 42.000000
|
|
widen-f32-f64: 1.500000
|
|
widen-u8-i16: 100
|
|
xx-i64-i32: 12345
|
|
xx-f64-f32: 1.500000
|
|
xx-f64-i32: 7
|