test-pack.nut 827 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. auto bpack=sqpack.pack
  2. auto bunpack=sqpack.unpack
  3. local function hex(s)
  4. {
  5. s=s.gsub("(.)",function (x) {return format("%02X",x[0]);});
  6. return s;
  7. }
  8. /*
  9. auto a=bpack("Ab8","\027Lua",5*16+1,0,1,4,4,4,8,0);
  10. print(hex(a),a.len());
  11. auto b=string.dump(hex);
  12. b=b.slice(0,a.len());
  13. print(a==b,b.len());
  14. print(bunpack(b,"bA3b8"));
  15. */
  16. auto i=314159265;
  17. auto f="<I>I=I";
  18. auto a=bpack(f,i,i,i);
  19. print(hex(a));
  20. auto up = bunpack(a,f);
  21. print("up", type(up), up.len());
  22. foreach(elm in up) print(elm);
  23. i=3.14159265;
  24. print(i);
  25. f="<d>d=d";
  26. a=bpack(f,i,i,i);
  27. print(hex(a));
  28. up = bunpack(a,f);
  29. print("up", type(up), up.len());
  30. foreach(elm in up) print(format("%.8f", elm));
  31. i=3.14159265;
  32. print(i);
  33. f="<f>f=f";
  34. a=bpack(f,i,i,i);
  35. print(hex(a));
  36. up = bunpack(a,f);
  37. print("up", type(up), up.len());
  38. foreach(elm in up) print(format("%.8f", elm));