﻿:: {s:s, b:b, qb:b?, d:d, qd:d?, r8:r8, qr8:r8?, r4:r4, qr4:r4?, i:i, qi:i?, i8:i8, qi8:i8?, i4:i4, qi4:i4?, i2:i2, qi2:i2?, i1:i1, qi1:i1?, u8:u8, qu8:u8?, u4:u4, qu4:u4?, u2:u2, qu2:u2?, u1:u1, qu1:u1?}

Int.Hex(s)
Int.Hex(d)
Int.Hex(r8)
Int.Hex(r4)
Int.Hex(i)
Int.Hex(i8)
Int.Hex(i4)
Int.Hex(i2)
Int.Hex(i1)
Int.Hex(u8)
Int.Hex(u4)
Int.Hex(u2)
Int.Hex(u1)
Int.Hex(b)
Int.Hex(qd)
Int.Hex(qr8)
Int.Hex(qr4)
Int.Hex(qi)
Int.Hex(qi8)
Int.Hex(qi4)
Int.Hex(qi2)
Int.Hex(qi1)
Int.Hex(qu8)
Int.Hex(qu4)
Int.Hex(qu2)
Int.Hex(qu1)
Int.Hex(qb)

i.Hex
i8.Hex
i4.Hex
i2.Hex
i1.Hex
u8.Hex
u4.Hex
u2.Hex
u1.Hex
b.Hex
qi.Hex
qi8.Hex
qi4.Hex
qi2.Hex
qi1.Hex
qu8.Hex
qu4.Hex
qu2.Hex
qu1.Hex
qb.Hex

// Reduction.

123ia.Hex
123i8.Hex
123i4.Hex
123i2.Hex
123i1.Hex
123u8.Hex
123u4.Hex
123u2.Hex
123u1.Hex
true.Hex
false.Hex

(-123ia).Hex
(-123i8).Hex
(-123i4).Hex
(-123i2).Hex
(-123i1).Hex

0x1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF.Hex
(-0x1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF).Hex

// Lifting.
:: {s:s*, b:b*, qb:b?*, d:d*, qd:d?*, n:n*, qn:n?*, r8:r8*, qr8:r8?*, r4:r4*, qr4:r4?*, i:i*, qi:i?*, i8:i8*, qi8:i8?*, i4:i4*, qi4:i4?*, i2:i2*, qi2:i2?*, i1:i1*, qi1:i1?*, u8:u8*, qu8:u8?*, u4:u4*, qu4:u4?*, u2:u2*, qu2:u2?*, u1:u1*, qu1:u1?*}

Int.Hex(s)
Int.Hex(d)
Int.Hex(r8)
Int.Hex(r4)
Int.Hex(i)
Int.Hex(i8)
Int.Hex(i4)
Int.Hex(i2)
Int.Hex(i1)
Int.Hex(u8)
Int.Hex(u4)
Int.Hex(u2)
Int.Hex(u1)
Int.Hex(b)
Int.Hex(qd)
Int.Hex(qr8)
Int.Hex(qr4)
Int.Hex(qi)
Int.Hex(qi8)
Int.Hex(qi4)
Int.Hex(qi2)
Int.Hex(qi1)
Int.Hex(qu8)
Int.Hex(qu4)
Int.Hex(qu2)
Int.Hex(qu1)
Int.Hex(qb)

i.Hex
i8.Hex
i4.Hex
i2.Hex
i1.Hex
u8.Hex
u4.Hex
u2.Hex
u1.Hex
b.Hex
qi.Hex
qi8.Hex
qi4.Hex
qi2.Hex
qi1.Hex
qu8.Hex
qu4.Hex
qu2.Hex
qu1.Hex
qb.Hex
