flt 1.5.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4944139b67630d8b78c7f29d004a71b79003e757
4
- data.tar.gz: '0290ba88b15d6b1b0d050fe62cbd4cdaeb4cc856'
3
+ metadata.gz: c18be258a5dc6896076ab223a87ccd74c6d434ca
4
+ data.tar.gz: 15a5156ede421d3ff6c4643d2e7b45afee19b154
5
5
  SHA512:
6
- metadata.gz: c7c630691b5ca086da656641ca04a7ef3f163c16661bb2be6cd32785980c5facbf3fdf2779bce955f72e6352ad43d95435497b74428f0abe30eb745b6559e364
7
- data.tar.gz: 071b9592aec3c4edc7994f922722c7cd81cfd96d06430569432df8de135500c459842eba8d98e20705120ed913aabe5f3ef69a02e56ac43c6320be90f68cfd71
6
+ metadata.gz: 9fc44a8e1334f94a9f9d78893cccaf3783fa236eb162bc0745b54f97226bf1a2e8ed8391012453495adc4a1bd4a95e470a5769d6c4ee21c82e694b21177a03a4
7
+ data.tar.gz: 8a14074a6d969fefc1eb9a3927eded29ec0d8e175df29197361ef9787966fcf0ec3ecb6e6c6a3cef448b788b2eba8e799b0cd0ea731b04a7df89c0bf24187318
@@ -1,3 +1,8 @@
1
+ == 1.5.2 2018-04-10
2
+
3
+ * Bugfix
4
+ - BinNum#to_f overflow
5
+
1
6
  == 1.5.1 2017-02-28
2
7
 
3
8
  * Bugfix & optimizations
@@ -202,11 +202,16 @@ class BinNum < Num
202
202
 
203
203
  # Specific to_f conversion TODO: check if it represents an optimization
204
204
  if Float::RADIX==2
205
+ MAX_LDEXP_COEFF = 2**Float::MAX_EXP - 2**(Float::MAX_EXP - Float::MANT_DIG)
205
206
  def to_f
206
207
  if special? || zero?
207
208
  super
208
209
  else
209
- ::Math.ldexp(@sign*@coeff, @exp)
210
+ if @coeff < MAX_LDEXP_COEFF
211
+ ::Math.ldexp(@sign*@coeff, @exp)
212
+ else
213
+ super
214
+ end
210
215
  end
211
216
  end
212
217
  end
@@ -1,3 +1,3 @@
1
1
  module Flt
2
- VERSION = "1.5.1"
2
+ VERSION = "1.5.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Goizueta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-04 00:00:00.000000000 Z
11
+ date: 2018-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler