arrays.js 965 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. const createTypedArray = (function () {
  2. function createRegularArray(type, len) {
  3. var i = 0;
  4. var arr = [];
  5. var value;
  6. switch (type) {
  7. case 'int16':
  8. case 'uint8c':
  9. value = 1;
  10. break;
  11. default:
  12. value = 1.1;
  13. break;
  14. }
  15. for (i = 0; i < len; i += 1) {
  16. arr.push(value);
  17. }
  18. return arr;
  19. }
  20. function createTypedArrayFactory(type, len) {
  21. if (type === 'float32') {
  22. return new Float32Array(len);
  23. } if (type === 'int16') {
  24. return new Int16Array(len);
  25. } if (type === 'uint8c') {
  26. return new Uint8ClampedArray(len);
  27. }
  28. return createRegularArray(type, len);
  29. }
  30. if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {
  31. return createTypedArrayFactory;
  32. }
  33. return createRegularArray;
  34. }());
  35. function createSizedArray(len) {
  36. return Array.apply(null, { length: len });
  37. }
  38. export {
  39. createTypedArray,
  40. createSizedArray,
  41. };