# TermOrder

### Related Docs: class TermOrder | package terfor

#### object TermOrder

Class for representing total orderings on constants (and variables), and their extension to arbitrary terms. For the time being, we do not consider arbitrary (non-nullary) functions apart from the pre-defined arithmetic operations.

`constantSeq` is the list of constants that are totally ordered by this `TermOrder`, starting with the biggest constant. In addition, variable terms are by default ordered as bigger as all constants. We use the `List` datatype for the constant order, so that new large constants can efficiently be added.

Linear Supertypes
AnyRef, Any
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. TermOrder
2. AnyRef
3. Any
1. Hide All
2. Show all
Visibility
1. Public
2. All

### Type Members

1. #### case class CoeffWeight(coefficient: IdealInt, baseWeight: NonCoeffWeight) extends Weight with Product with Serializable

Attributes
protected[ap.terfor]
2. #### case class ConstantWeight(value: Int) extends NonCoeffWeight with Product with Serializable

Attributes
protected[ap.terfor]
3. #### abstract class NonCoeffWeight extends Weight

Attributes
protected[ap.terfor]
4. #### case class VariableWeight(value: Int) extends NonCoeffWeight with Product with Serializable

Attributes
protected[ap.terfor]
5. #### abstract class Weight extends Ordered[Weight]

Weight objects that are used to abstract from the concrete terms.

Weight objects that are used to abstract from the concrete terms. There are three types of weights: for variables, and for constants, and for the literal 1. Variables are heavier that constants are heavier than literals.

Attributes
protected[ap.terfor]

### Value Members

1. #### final def !=(arg0: Any): Boolean

Definition Classes
AnyRef → Any
2. #### final def ##(): Int

Definition Classes
AnyRef → Any
3. #### final def ==(arg0: Any): Boolean

Definition Classes
AnyRef → Any

5. #### val EMPTY: TermOrder

The term order that cannot sort anything apart from `Constant.ONE` and variables

The term order that cannot sort anything apart from `Constant.ONE` and variables

6. #### object OneWeight extends NonCoeffWeight with Product with Serializable

Attributes
protected[ap.terfor]
7. #### final def asInstanceOf[T0]: T0

Definition Classes
Any
8. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
9. #### final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
10. #### def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
11. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
12. #### final def getClass(): Class[_]

Definition Classes
AnyRef → Any
13. #### def hashCode(): Int

Definition Classes
AnyRef → Any
14. #### final def isInstanceOf[T0]: Boolean

Definition Classes
Any
15. #### final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
16. #### final def notify(): Unit

Definition Classes
AnyRef
17. #### final def notifyAll(): Unit

Definition Classes
AnyRef
18. #### final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
19. #### def toString(): String

Definition Classes
AnyRef → Any
20. #### final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
21. #### final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
22. #### final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )