proc main()
{
var scl = 2047;
var vec = [511,1023,2047,4095];
var mat = [[511,1023],[2047,4095]];
var bscl = 16;
var bvec = [16,16,16,16];
var bmat = [[16,10],[16,10],[16,10],[16,10]];
"scl enc scl:\n", bscl.encode(scl), '\n';
"\nscl enc vec:\n", bscl.encode(vec), '\n';
"\nscl enc mat:\n", bscl.encode(mat), '\n';
"\nvec enc scl:\n", bvec.encode(scl), '\n';
"\nvec enc vec:\n", bvec.encode(vec), '\n';
"\nvec enc mat:\n", bvec.encode(mat), '\n';
"\nmat enc scl:\n", bmat.encode(scl), '\n';
"\nmat enc vec:\n", bmat.encode(vec), '\n';
"\nmat enc mat:\n", bmat.encode(mat), '\n';
}