logic_tools 0.3.4 → 0.3.5

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: 84eda2845101b1b4e6e59e9ad408f4d2e246e930
4
- data.tar.gz: f2b8eaa53ef5b7f14e7a93240a12acc122021d92
3
+ metadata.gz: 70d95a4f55c418f319f6757dcd33238a96e29942
4
+ data.tar.gz: 41b8969baf1766988bfbd87d49ac42bda2c70b95
5
5
  SHA512:
6
- metadata.gz: b13d4bb1a6227c6abc413296077d374dbbf833b701830ebf5a5d2ad24ef7c13e9a8561367a7ccd67db7bcfb1044c1bfdd5b1755142858ea082d704f6e54a91ca
7
- data.tar.gz: 57e5fd61601d088914c024c812b5310474dbd6c526c70169ddacb16098f47e40bf798aa40697156bae67b16c81d9bfb4194180a4192ccd07ed728c2da11e5455
6
+ metadata.gz: 26fe17b9471050c15cc5df53bc49cc87a4e280954853871845706d84317e2c3b76c79d83efe94257a3536048b6cfb09c1e68414d3cd0e1e1f3f160a26866ca00
7
+ data.tar.gz: 07e758d9512566bd492b8644fd074769be0e2db6ee7b18d8df1f713c21aadf8dbdec2beeeb842e8a6512a5b1adc513efcb9d7d319f72f16581081160d256d8a4
data/exe/complement ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+ ######################################################################
3
+ # Computes (quickly) the complement of a logic expression #
4
+ ######################################################################
5
+
6
+ begin
7
+ require 'rubygems'
8
+ gem 'logic_tools'
9
+ rescue LoadError
10
+ end
11
+
12
+ load "logic_tools/complement.rb"
@@ -9,9 +9,10 @@ require "logic_tools/traces.rb"
9
9
  module LogicTools
10
10
 
11
11
 
12
-
12
+ #--
13
13
  # Enhances the Cube class with methods for applying the
14
- # Espresso algorithm
14
+ # Espresso algorithm.
15
+ #++
15
16
  class Cube
16
17
 
17
18
  ## Computes the blocking matrix relatively to an +off+ cover.
@@ -530,8 +531,10 @@ module LogicTools
530
531
  end
531
532
 
532
533
 
534
+ #--
533
535
  # Enhances the Cover class with simplifying using the Espresso
534
536
  # algorithm.
537
+ #++
535
538
  class Cover
536
539
 
537
540
  include LogicTools::Traces
@@ -713,8 +716,10 @@ module LogicTools
713
716
  end
714
717
 
715
718
 
719
+ #--
716
720
  # Enhances the Node class with expression simplifying using the
717
721
  # Espresso algorithm.
722
+ #++
718
723
  class Node
719
724
 
720
725
  ## Generates an equivalent but simplified representation of the
@@ -13,7 +13,7 @@ module LogicTools
13
13
 
14
14
 
15
15
  ## Converts the array of variables +var+ to a bit vector according to
16
- # their values
16
+ # their values.
17
17
  def vars2int(vars)
18
18
  res = ""
19
19
  vars.each_with_index do |var,i|
@@ -27,7 +27,7 @@ module LogicTools
27
27
 
28
28
 
29
29
  ##
30
- # Represents a logic implicant
30
+ # Represents a logic implicant.
31
31
  class Implicant
32
32
  include Enumerable
33
33
 
@@ -76,7 +76,7 @@ module LogicTools
76
76
  @bits
77
77
  end
78
78
 
79
- def inspect #:nodoc:
79
+ def inspect # :nodoc:
80
80
  @bits.dup
81
81
  end
82
82
 
@@ -217,35 +217,37 @@ module LogicTools
217
217
  end
218
218
  end
219
219
 
220
- ##
221
- # Describes a pseudo variable associated to an implicant.
222
- #
223
- # Used for the Petrick's method.
224
- class VarImp < Variable
225
- @@base = 0 # The index of the VarImp for building the variable names
226
-
227
- ## The implicant the pseudo variable is associated to.
228
- attr_reader :implicant
229
-
230
- ## Creates a pseudo variable assoctiated to an +implicant+.
231
- def initialize(implicant)
232
- # Create the name of the variable
233
- name = nil
234
- begin
235
- name = "P" + @@base.to_s
236
- @@base += 1
237
- end while Variable.exists?(name)
238
- # Create the variable
239
- super(name)
240
- # Associate it with the implicant
241
- @implicant = implicant
242
- implicant.var = self
243
- end
244
- end
245
-
246
-
247
-
248
- ## Enhances the Node class with expression simplifying.
220
+ # ##
221
+ # # Describes a pseudo variable associated to an implicant.
222
+ # #
223
+ # # Used for the Petrick's method.
224
+ # class VarImp < Variable
225
+ # @@base = 0 # The index of the VarImp for building the variable names
226
+
227
+ # ## The implicant the pseudo variable is associated to.
228
+ # attr_reader :implicant
229
+
230
+ # ## Creates a pseudo variable assoctiated to an +implicant+.
231
+ # def initialize(implicant)
232
+ # # Create the name of the variable
233
+ # name = nil
234
+ # begin
235
+ # name = "P" + @@base.to_s
236
+ # @@base += 1
237
+ # end while Variable.exists?(name)
238
+ # # Create the variable
239
+ # super(name)
240
+ # # Associate it with the implicant
241
+ # @implicant = implicant
242
+ # implicant.var = self
243
+ # end
244
+ # end
245
+
246
+
247
+
248
+ #--
249
+ # Enhances the Node class with expression simplifying.
250
+ #++
249
251
  class Node
250
252
 
251
253
  ## Generates an equivalent but simplified representation of the
@@ -1,3 +1,3 @@
1
1
  module LogicTools
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logic_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lovic Gauthier
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-17 00:00:00.000000000 Z
11
+ date: 2017-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -76,6 +76,7 @@ description: "LogicTools is a set of command-line tools for processing logic exp
76
76
  email:
77
77
  - lovic@ariake-nct.ac.jp
78
78
  executables:
79
+ - complement
79
80
  - is_tautology
80
81
  - simplify_es
81
82
  - simplify_qm
@@ -93,6 +94,7 @@ files:
93
94
  - Rakefile
94
95
  - bin/console
95
96
  - bin/setup
97
+ - exe/complement
96
98
  - exe/is_tautology
97
99
  - exe/simplify_es
98
100
  - exe/simplify_qm