File tree 3 files changed +16
-10
lines changed
3 files changed +16
-10
lines changed Original file line number Diff line number Diff line change 1
1
= BinData Changelog
2
2
3
+ == Version 2.4.10 (2021-05-18)
4
+
5
+ * Improve speed of dynamic object creation. Reported by Charlie Ablett.
6
+
3
7
== Version 2.4.9 (2021-04-22)
4
8
5
9
* Change example from Fixnum to Integer. Thanks to Tim Chambers.
Original file line number Diff line number Diff line change @@ -115,14 +115,14 @@ def create_fixed_clamp_code(nbits, signed)
115
115
end
116
116
117
117
if signed == :signed
118
- max = ( 1 << ( nbits - 1 ) ) - 1
119
- min = -( max + 1 )
118
+ max = "max = (1 << (#{ nbits } - 1)) - 1"
119
+ min = "min = -(max + 1)"
120
120
else
121
- min = 0
122
- max = ( 1 << nbits ) - 1
121
+ min = "min = 0"
122
+ max = "max = (1 << #{ nbits } ) - 1"
123
123
end
124
124
125
- clamp = "(val < #{ min } ) ? #{ min } : (val > #{ max } ) ? #{ max } : val"
125
+ clamp = "(#{ max } ; #{ min } ; val = (val < min ) ? min : (val > max) ? max : val) "
126
126
127
127
if nbits == 1
128
128
# allow single bits to be used as booleans
Original file line number Diff line number Diff line change @@ -59,14 +59,16 @@ def read_and_return_value(io)
59
59
60
60
def create_clamp_code ( nbits , signed )
61
61
if signed == :signed
62
- max = ( 1 << ( nbits - 1 ) ) - 1
63
- min = -( max + 1 )
62
+ max = "max = (1 << (#{ nbits } - 1)) - 1"
63
+ min = "min = -(max + 1)"
64
64
else
65
- max = ( 1 << nbits ) - 1
66
- min = 0
65
+ max = "max = (1 << #{ nbits } ) - 1"
66
+ min = "min = 0"
67
67
end
68
68
69
- "val = (val < #{ min } ) ? #{ min } : (val > #{ max } ) ? #{ max } : val"
69
+ clamp = "(#{ max } ; #{ min } ; val = (val < min) ? min : (val > max) ? max : val)"
70
+
71
+ "val = #{ clamp } "
70
72
end
71
73
72
74
def create_read_code ( nbits , endian , signed )
You can’t perform that action at this time.
0 commit comments