leon 1.0.9 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/io.rb +6 -5
  2. metadata +1 -1
data/lib/io.rb CHANGED
@@ -214,16 +214,17 @@ module LEON
214
214
  return Constants::DOUBLE
215
215
  elsif v.is_a? Float
216
216
  v = v.abs
217
- log = Math::log(v)/Math::log(2) - 23
218
- if log < -128 or log > 127
219
- return Constants::DOUBLE
220
- end
217
+ log = Math::log(v)/Math::log(2)
221
218
  if log < 0
222
219
  log = log.ceil
223
220
  else
224
221
  log = log.floor
225
222
  end
226
- v *= 2**(-log)
223
+ exp = 103 + log
224
+ if exp < 0 or exp > 255
225
+ return Constants::DOUBLE
226
+ end
227
+ v *= 2**(-log + 24)
227
228
  if v.floor != v
228
229
  return Constants::DOUBLE
229
230
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leon
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: