aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/constraint/Inequality.scala
blob: 91c989d5f7f28b277badd26299cb7768f9c1cdef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// SPDX-License-Identifier: Apache-2.0

package firrtl.constraint

/** Represents either greater or equal to or less than or equal to
  * Is passed to the constraint solver to resolve
  */
trait Inequality {
  def left:  String
  def right: Constraint
  def geq:   Boolean
}

case class GreaterOrEqual(left: String, right: Constraint) extends Inequality {
  val geq = true
  override def toString: String = s"$left >= ${right.serialize}"
}

case class LesserOrEqual(left: String, right: Constraint) extends Inequality {
  val geq = false
  override def toString: String = s"$left <= ${right.serialize}"
}