flt 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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