Class: Udb::XlenTerm
- Inherits:
-
Object
- Object
- Udb::XlenTerm
- Extended by:
- T::Sig
- Includes:
- Comparable
- Defined in:
- lib/udb/logic.rb
Instance Attribute Summary collapse
-
#xlen ⇒ Object
readonly
Returns the value of attribute xlen.
Instance Method Summary collapse
- #<=>(other) ⇒ Object
- #eql?(other) ⇒ Boolean
- #hash ⇒ Object
-
#initialize(xlen) ⇒ XlenTerm
constructor
A new instance of XlenTerm.
- #to_asciidoc ⇒ Object
- #to_condition(cfg_arch) ⇒ Object
- #to_h ⇒ Object
- #to_idl(cfg_arch) ⇒ Object
- #to_s ⇒ Object
- #to_s_pretty ⇒ Object
- #to_z3(solver) ⇒ Object
Constructor Details
#initialize(xlen) ⇒ XlenTerm
Returns a new instance of XlenTerm.
47 48 49 50 51 52 53 54 |
# File 'lib/udb/logic.rb', line 47 def initialize(xlen) @xlen = xlen @to_s = "xlen=#{@xlen}".freeze @to_h = { "xlen" => @xlen }.freeze @hash = to_s.hash end |
Instance Attribute Details
#xlen ⇒ Object (readonly)
Returns the value of attribute xlen.
44 45 46 |
# File 'lib/udb/logic.rb', line 44 def xlen @xlen end |
Instance Method Details
#<=>(other) ⇒ Object
93 94 95 96 97 |
# File 'lib/udb/logic.rb', line 93 def <=>(other) return nil unless other.is_a?(XlenTerm) @xlen <=> other.xlen end |
#eql?(other) ⇒ Boolean
109 110 111 |
# File 'lib/udb/logic.rb', line 109 def eql?(other) (self <=> other) == 0 end |
#hash ⇒ Object
101 |
# File 'lib/udb/logic.rb', line 101 def hash = @hash |
#to_asciidoc ⇒ Object
75 |
# File 'lib/udb/logic.rb', line 75 def to_asciidoc = "xlen+++()+++ == #{@xlen}" |
#to_condition(cfg_arch) ⇒ Object
57 58 59 |
# File 'lib/udb/logic.rb', line 57 def to_condition(cfg_arch) Condition.new({ "xlen" => @xlen }, cfg_arch) end |
#to_h ⇒ Object
78 79 80 |
# File 'lib/udb/logic.rb', line 78 def to_h @to_h end |
#to_idl(cfg_arch) ⇒ Object
83 84 85 |
# File 'lib/udb/logic.rb', line 83 def to_idl(cfg_arch) "(xlen() == #{@xlen})" end |
#to_s ⇒ Object
62 63 64 |
# File 'lib/udb/logic.rb', line 62 def to_s @to_s end |
#to_s_pretty ⇒ Object
72 |
# File 'lib/udb/logic.rb', line 72 def to_s_pretty = to_s |
#to_z3(solver) ⇒ Object
67 68 69 |
# File 'lib/udb/logic.rb', line 67 def to_z3(solver) solver.xlen == @xlen end |