Skip to content

Instantly share code, notes, and snippets.

@guest271314
Last active March 10, 2024 00:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guest271314/15f027b20e2eaa082976f3a931cc5d2b to your computer and use it in GitHub Desktop.
Save guest271314/15f027b20e2eaa082976f3a931cc5d2b to your computer and use it in GitHub Desktop.
Float32Array to Int32Array
// https://stackoverflow.com/q/78133607/2801559
// https://codegolf.stackexchange.com/q/271654/31257
var floats = new Float32Array([-0.1, 1.0])
var i0 = new Int32Array(floats.buffer);
var i1 = Int32Array.from(floats, f => f < 0 ? f * 32768 : f * 32767);
var i2 = Int32Array.from(floats, f => f * 32768);
var i3 = Int32Array.from(floats, f => (f<<15)-(f<0)*f);
var i4 = Int32Array.from(floats, f => f * 1<<15);
var i5 = Int32Array.from(floats, f => f * 32767.5);
console.log(i0, i1, i2, i3, i4);
// [-1110651699, 1065353216]
// [-3276, 32767]
// [-3276, 32768]
// [0, 32768]
// [0, 32768]
// [-3276, 32767
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment