File tree Expand file tree Collapse file tree 3 files changed +16
-10
lines changed Expand file tree Collapse file tree 3 files changed +16
-10
lines changed Original file line number Diff line number Diff line change 11= BinData Changelog
22
3+ == Version 2.4.10 (2021-05-18)
4+
5+ * Improve speed of dynamic object creation. Reported by Charlie Ablett.
6+
37== Version 2.4.9 (2021-04-22)
48
59* 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)
115115 end
116116
117117 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)"
120120 else
121- min = 0
122- max = ( 1 << nbits ) - 1
121+ min = "min = 0"
122+ max = "max = (1 << #{ nbits } ) - 1"
123123 end
124124
125- clamp = "(val < #{ min } ) ? #{ min } : (val > #{ max } ) ? #{ max } : val"
125+ clamp = "(#{ max } ; #{ min } ; val = (val < min ) ? min : (val > max) ? max : val) "
126126
127127 if nbits == 1
128128 # 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)
5959
6060 def create_clamp_code ( nbits , signed )
6161 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)"
6464 else
65- max = ( 1 << nbits ) - 1
66- min = 0
65+ max = "max = (1 << #{ nbits } ) - 1"
66+ min = "min = 0"
6767 end
6868
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 } "
7072 end
7173
7274 def create_read_code ( nbits , endian , signed )
You can’t perform that action at this time.
0 commit comments