proc main() { var lscl = 16; var lvec = [16].reshape(4); var lmat = [16].reshape(4,4); var scl = 15; var vec = [0,7,15,15]; var mat = [16,16,16,16].encode([511,1023,2047,4095]); "scl dec scl:\n", lscl.decode(scl), '\n'; "\nvec dec scl:\n", lvec.decode(scl), '\n'; "\nmat dec scl:\n", lmat.decode(scl), '\n'; "\nscl dec vec:\n", lscl.decode(vec), '\n'; "\nvec dec vec:\n", lvec.decode(vec), '\n'; "\nmat dec vec:\n", lmat.decode(vec), '\n'; "\nscl dec mat:\n", lscl.decode(mat), '\n'; "\nvec dec mat:\n", lvec.decode(mat), '\n'; "\nmat dec mat:\n", lmat.decode(mat), '\n'; "\nexample 1 (3269):\n", 10 .decode([3,2,6,9]), '\n'; "\nexample 2 (25):\n", 8 .decode([3,1]), '\n'; "\nexample 3 (68):\n", [1760,3,12].decode([1,2,8]), '\n'; "\nexample 4 (7):\n", [2,2,2].decode(1), '\n'; "\nexample 5 (2667):\n", [0,20,12,4].decode([2,15,6,3]), '\n'; "\nexample 6 (60 37 80):\n", [1760,3,12].decode([[1,1,1],[2,0,3],[0,1,8]]), '\n'; }