math_symbols 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: edc8e9a4edbcb1fc0d04a97a63ed2d5f533d09b62b3c7c36f76359d06bea4908
4
- data.tar.gz: 75bb6cffe3695d599df6700c9666b82d41e37dab6fefe7176e29753e2c7e305b
3
+ metadata.gz: 4d5fe13112df6af6af8ef35c70768dd1f1ec89a5ca4376895ec4e2e169228636
4
+ data.tar.gz: dbb484558aa8ea29c8a10610637fd0d05ea0d0aa438df6b5edd34e37d51f639a
5
5
  SHA512:
6
- metadata.gz: 94026b5b073870d8298f932b69e60fc6f21e10e461aceeabc0586aaedbe7352dad6dc343ccafd9c85d1ab10e74fe0d25f610a61dee9b0232b4ce1d6b87b43795
7
- data.tar.gz: 31f4e73151d8a392919aaa0a4022c6571243f2089afedab3c87741894025869fbc5430ffd6d84969f09e9cf8abb8c60a4b26c8abbafd30449f96ef62920571a9
6
+ metadata.gz: 24887f1adb5e9b1438e485393bf9b074d7d31ec835498f3a0965ea7d4ed1fbe2860a6b1c1793df7b0e1bb8b4a213201def56f840c11142cbbdc828569a60dfa9
7
+ data.tar.gz: fec8a8574e27cc646974caa84ab6315be2f20825aa8af30dec5e0933c8cd7c61ac3c4ccf456af8f1be6da567e1a7d37e7330c58a99c9d22040204c52bde73496
@@ -1,3 +1,3 @@
1
1
  module MathSymbols
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.1.1'.freeze
3
3
  end
data/lib/math_symbols.rb CHANGED
@@ -104,12 +104,17 @@ module MathSymbols # rubocop:disable Metrics/ModuleLength
104
104
  end
105
105
 
106
106
  def ⇔(value)
107
- (self && value) || (!self && !value)
107
+ max_bit_length = value.bit_length
108
+ max_bit_length = bit_length if bit_length > max_bit_length
109
+ mask = (1 << max_bit_length) - 1
110
+
111
+ (self & value) | ((mask ^ self) & (mask ^ value))
108
112
  end
109
113
  alias :↔ :⇔
110
114
 
111
115
  def ⇒(value)
112
- !self || value
116
+ mask = (1 << bit_length) - 1
117
+ (mask ^ self) | value
113
118
  end
114
119
  end
115
120
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: math_symbols
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dalton Pinto