A
Anton Hörnquist
Hi,
In order to learn a bit of ruby I'm trying to make a module for reading
and writing audio files in WAV format. First and foremost I'd like to
read and write files with 32-bit float bitdepth.
I'm using Array#pack and String#unpack but run into trouble with
precision.
The following of code..
arr = [ 1.0, 0.75, 0.5, 0.1, 0.025, 0.01 ]
p arr.pack("e*").unpack("e*")
p arr.pack("E*").unpack("E*")
...will output this:
[1.0, 0.75, 0.5, 0.100000001490116, 0.025000000372529,
0.00999999977648258]
[1.0, 0.75, 0.5, 0.1, 0.025, 0.01]
How come?
/Anton
In order to learn a bit of ruby I'm trying to make a module for reading
and writing audio files in WAV format. First and foremost I'd like to
read and write files with 32-bit float bitdepth.
I'm using Array#pack and String#unpack but run into trouble with
precision.
The following of code..
arr = [ 1.0, 0.75, 0.5, 0.1, 0.025, 0.01 ]
p arr.pack("e*").unpack("e*")
p arr.pack("E*").unpack("E*")
...will output this:
[1.0, 0.75, 0.5, 0.100000001490116, 0.025000000372529,
0.00999999977648258]
[1.0, 0.75, 0.5, 0.1, 0.025, 0.01]
How come?
/Anton