# LinearSystem

Artifact: [androidx.constraintlayout:constraintlayout-core](https://developer.android.com/jetpack/androidx/releases/constraintlayout) [View Source](https://cs.android.com/search?q=file:androidx/constraintlayout/core/LinearSystem.java+class:androidx.constraintlayout.core.LinearSystem) Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

*** ** * ** ***


```
class LinearSystem
```

<br />

*** ** * ** ***

Represents and solves a system of linear equations.

## Summary

| ### Constants |
|---|---|
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#DEBUG() = false` |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#FULL_DEBUG() = false` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#LinearSystem()()` |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addCenterPoint(androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintWidget,float,int)( widget: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/widgets/ConstraintWidget!, target: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/widgets/ConstraintWidget!, angle: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, radius: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Add the equations constraining a widget center to another widget center, positioned on a circle, following an angle and radius |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addCentering(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,float,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,int)( a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, m1: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, bias: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, c: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, d: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, m2: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Add an equation of the form (1 - bias) \* (a - b) = bias \* (c - d) |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addConstraint(androidx.constraintlayout.core.ArrayRow)(row: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/ArrayRow!)` Add the equation to the system |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addEquality(androidx.constraintlayout.core.SolverVariable,int)(a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Add an equation of the form a = value |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/ArrayRow!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addEquality(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,int)(a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, margin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Add an equation of the form a = b + margin |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addGreaterBarrier(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,boolean)( a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, margin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, hasMatchConstraintWidgets: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addGreaterThan(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,int)( a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, margin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Add an equation of the form a \>= b + margin |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addLowerBarrier(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,boolean)( a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, margin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, hasMatchConstraintWidgets: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addLowerThan(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,int)( a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, margin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` Add an equation of the form a \<= b + margin |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addRatio(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,float,int)( a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, c: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, d: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, ratio: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html )` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#addSynonym(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int)(a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, margin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#createErrorVariable(int,java.lang.String)(strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, prefix: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#createExtraVariable()()` |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#createObjectVariable(java.lang.Object)(anchor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!)` |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/ArrayRow!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#createRow()()` |
| `java-static https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/ArrayRow!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#createRowDimensionPercent(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,float)( linearSystem: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem!, variableA: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, variableC: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!, percent: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` Create a constraint to express A = C \* percent |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#createSlackVariable()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#displayReadableRows()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#displayVariablesReadableRows()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#fillMetrics(androidx.constraintlayout.core.Metrics)(metrics: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/Metrics!)` |
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/Cache!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#getCache()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#getMemoryUsed()()` |
| `java-static https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/Metrics!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#getMetrics()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#getNumEquations()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#getNumVariables()()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#getObjectVariableValue(java.lang.Object)(object: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#minimize()()` Minimize the current goal of the system. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#removeRow(androidx.constraintlayout.core.ArrayRow)(row: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/ArrayRow!)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#reset()()` Reset the LinearSystem object so that it can be reused. |

| ### Public properties |
|---|---|
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#ARRAY_ROW_CREATION()` |
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#OPTIMIZED_ARRAY_ROW_CREATION()` |
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#OPTIMIZED_ENGINE()` |
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#SIMPLIFY_SYNONYMS()` |
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#SKIP_COLUMNS()` |
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#USE_BASIC_SYNONYMS()` |
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#USE_DEPENDENCY_ORDERING()` |
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#USE_SYNONYMS()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#graphOptimizer()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#hasSimpleDefinition()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#newgraphOptimizer()` |
| `java-static https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/Metrics!` | `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem#sMetrics()` |

## Constants

### DEBUG

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
const val DEBUG = false: Boolean
```

### FULL_DEBUG

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
const val FULL_DEBUG = false: Boolean
```

## Public constructors

### LinearSystem

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
LinearSystem()
```

## Public functions

### addCenterPoint

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addCenterPoint(
    widget: ConstraintWidget!,
    target: ConstraintWidget!,
    angle: Float,
    radius: Int
): Unit
```

Add the equations constraining a widget center to another widget center, positioned on a circle, following an angle and radius

| Parameters |
|---|---|
| `angle: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | from 0 to 360 |
| `radius: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the distance between the two centers |

### addCentering

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addCentering(
    a: SolverVariable!,
    b: SolverVariable!,
    m1: Int,
    bias: Float,
    c: SolverVariable!,
    d: SolverVariable!,
    m2: Int,
    strength: Int
): Unit
```

Add an equation of the form (1 - bias) \* (a - b) = bias \* (c - d)

| Parameters |
|---|---|
| `a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable a |
| `b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable b |
| `m1: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | margin 1 |
| `bias: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | bias between ab - cd |
| `c: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable c |
| `d: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable d |
| `m2: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | margin 2 |
| `strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | strength used |

### addConstraint

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addConstraint(row: ArrayRow!): Unit
```

Add the equation to the system

| Parameters |
|---|---|
| `row: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/ArrayRow!` | the equation we want to add expressed as a system row. |

### addEquality

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addEquality(a: SolverVariable!, value: Int): Unit
```

Add an equation of the form a = value

| Parameters |
|---|---|
| `a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable a |
| `value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | the value we set |

### addEquality

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addEquality(a: SolverVariable!, b: SolverVariable!, margin: Int, strength: Int): ArrayRow!
```

Add an equation of the form a = b + margin

| Parameters |
|---|---|
| `a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable a |
| `b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable b |
| `margin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | margin used |
| `strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | strength used |

### addGreaterBarrier

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addGreaterBarrier(
    a: SolverVariable!,
    b: SolverVariable!,
    margin: Int,
    hasMatchConstraintWidgets: Boolean
): Unit
```

### addGreaterThan

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addGreaterThan(
    a: SolverVariable!,
    b: SolverVariable!,
    margin: Int,
    strength: Int
): Unit
```

Add an equation of the form a \>= b + margin

| Parameters |
|---|---|
| `a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable a |
| `b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable b |
| `margin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | margin |
| `strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | strength used |

### addLowerBarrier

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addLowerBarrier(
    a: SolverVariable!,
    b: SolverVariable!,
    margin: Int,
    hasMatchConstraintWidgets: Boolean
): Unit
```

### addLowerThan

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addLowerThan(
    a: SolverVariable!,
    b: SolverVariable!,
    margin: Int,
    strength: Int
): Unit
```

Add an equation of the form a \<= b + margin

| Parameters |
|---|---|
| `a: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable a |
| `b: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable b |
| `margin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | margin |
| `strength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | strength used |

### addRatio

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addRatio(
    a: SolverVariable!,
    b: SolverVariable!,
    c: SolverVariable!,
    d: SolverVariable!,
    ratio: Float,
    strength: Int
): Unit
```

### addSynonym

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun addSynonym(a: SolverVariable!, b: SolverVariable!, margin: Int): Unit
```

### createErrorVariable

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun createErrorVariable(strength: Int, prefix: String!): SolverVariable!
```

### createExtraVariable

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun createExtraVariable(): SolverVariable!
```

### createObjectVariable

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun createObjectVariable(anchor: Any!): SolverVariable!
```

### createRow

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun createRow(): ArrayRow!
```

### createRowDimensionPercent

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static fun createRowDimensionPercent(
    linearSystem: LinearSystem!,
    variableA: SolverVariable!,
    variableC: SolverVariable!,
    percent: Float
): ArrayRow!
```

Create a constraint to express A = C \* percent

| Parameters |
|---|---|
| `linearSystem: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/LinearSystem!` | the system we create the row on |
| `variableA: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable a |
| `variableC: https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/SolverVariable!` | variable c |
| `percent: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | the percent used |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/constraintlayout/core/ArrayRow!` | the created row |

### createSlackVariable

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun createSlackVariable(): SolverVariable!
```

### displayReadableRows

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun displayReadableRows(): Unit
```

### displayVariablesReadableRows

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun displayVariablesReadableRows(): Unit
```

### fillMetrics

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun fillMetrics(metrics: Metrics!): Unit
```

### getCache

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun getCache(): Cache!
```

### getMemoryUsed

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun getMemoryUsed(): Int
```

### getMetrics

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static fun getMetrics(): Metrics!
```

### getNumEquations

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun getNumEquations(): Int
```

### getNumVariables

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun getNumVariables(): Int
```

### getObjectVariableValue

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun getObjectVariableValue(object: Any!): Int
```

### minimize

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun minimize(): Unit
```

Minimize the current goal of the system.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/Exception.html` |   |

### removeRow

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun removeRow(row: ArrayRow!): Unit
```

### reset

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
fun reset(): Unit
```

Reset the LinearSystem object so that it can be reused.

## Public properties

### ARRAY_ROW_CREATION

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static val ARRAY_ROW_CREATION: Long
```

### OPTIMIZED_ARRAY_ROW_CREATION

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static val OPTIMIZED_ARRAY_ROW_CREATION: Long
```

### OPTIMIZED_ENGINE

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static val OPTIMIZED_ENGINE: Boolean
```

### SIMPLIFY_SYNONYMS

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static val SIMPLIFY_SYNONYMS: Boolean
```

### SKIP_COLUMNS

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static val SKIP_COLUMNS: Boolean
```

### USE_BASIC_SYNONYMS

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static val USE_BASIC_SYNONYMS: Boolean
```

### USE_DEPENDENCY_ORDERING

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static val USE_DEPENDENCY_ORDERING: Boolean
```

### USE_SYNONYMS

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static val USE_SYNONYMS: Boolean
```

### graphOptimizer

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
val graphOptimizer: Boolean
```

### hasSimpleDefinition

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
val hasSimpleDefinition: Boolean
```

### newgraphOptimizer

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
val newgraphOptimizer: Boolean
```

### sMetrics

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
java-static val sMetrics: Metrics!
```