(buffer, dataType)
| 65 | } |
| 66 | |
| 67 | export function convertToFloat32(buffer, dataType) { |
| 68 | if (dataType === 'ci8_le' || dataType === 'ci8' || dataType === 'i8') { |
| 69 | let samples = Float32Array.from(new Int8Array(buffer)); |
| 70 | for (let i = 0; i < samples.length; i++) samples[i] = samples[i] / 255.0; |
| 71 | return samples; |
| 72 | } else if (dataType === 'cu8_le' || dataType === 'cu8' || dataType === 'u8') { |
| 73 | let samples = Float32Array.from(new Uint8Array(buffer)); |
| 74 | for (let i = 0; i < samples.length; i++) samples[i] = (samples[i] - 255.0) / 255.0; |
| 75 | return samples; |
| 76 | } else if (dataType === 'ci16_le' || dataType === 'ci16') { |
| 77 | let samples = Float32Array.from(new Int16Array(buffer)); |
| 78 | for (let i = 0; i < samples.length; i++) samples[i] = samples[i] / 32768.0; |
| 79 | return samples; |
| 80 | } else if (dataType === 'cu16_le' || dataType === 'cu16') { |
| 81 | let samples = Float32Array.from(new Uint16Array(buffer)); |
| 82 | for (let i = 0; i < samples.length; i++) samples[i] = (samples[i] - 32768.0) / 32768.0; |
| 83 | return samples; |
| 84 | } else if (dataType === 'ci32_le' || dataType === 'ci32') { |
| 85 | let samples = Float32Array.from(new Int32Array(buffer)); |
| 86 | for (let i = 0; i < samples.length; i++) samples[i] = samples[i] / 2147483647.0; |
| 87 | return samples; |
| 88 | } else if (dataType === 'cu32_le' || dataType === 'cu32') { |
| 89 | let samples = Float32Array.from(new Uint32Array(buffer)); |
| 90 | for (let i = 0; i < samples.length; i++) samples[i] = (samples[i] - 2147483647.0) / 2147483647.0; |
| 91 | return samples; |
| 92 | } else if (dataType === 'cf32_le' || dataType === 'cf32') { |
| 93 | return new Float32Array(buffer); |
| 94 | } else if (dataType === 'cf64_le' || dataType === 'cf64') { |
| 95 | return Float32Array.from(new Float64Array(buffer)); |
| 96 | } else { |
| 97 | console.error('Unknown data type: ' + dataType); |
| 98 | return new Float32Array(buffer); |
| 99 | } |
| 100 | } |
no outgoing calls
no test coverage detected