Safe Haskell | None |
---|---|

Language | Haskell2010 |

- inconsistentConstraints :: Constraints -> Maybe Constraints
- criticalVariables :: Constraints -> [UnitInfo]
- inferVariables :: Constraints -> [(String, UnitInfo)]
- shiftTerms :: ([UnitInfo], [UnitInfo]) -> ([UnitInfo], [UnitInfo])
- flattenConstraints :: Constraints -> [([UnitInfo], [UnitInfo])]
- flattenUnits :: UnitInfo -> [UnitInfo]
- constraintsToMatrix :: Constraints -> (Matrix Double, [Int], Array Int UnitInfo)
- rref :: Matrix Double -> Matrix Double
- isInconsistentRREF :: (Field t, Eq t) => Matrix t -> Bool

# Documentation

inconsistentConstraints :: Constraints -> Maybe Constraints Source #

Returns just the list of constraints that were identified as being possible candidates for inconsistency, if there is a problem.

criticalVariables :: Constraints -> [UnitInfo] Source #

Identifies the variables that need to be annotated in order for inference or checking to work.

inferVariables :: Constraints -> [(String, UnitInfo)] Source #

Returns list of formerly-undetermined variables and their units.

shiftTerms :: ([UnitInfo], [UnitInfo]) -> ([UnitInfo], [UnitInfo]) Source #

Shift UnitNames to the RHS, and all else to the LHS.

flattenConstraints :: Constraints -> [([UnitInfo], [UnitInfo])] Source #

Translate all constraints into a LHS, RHS side of units.

flattenUnits :: UnitInfo -> [UnitInfo] Source #

constraintsToMatrix :: Constraints -> (Matrix Double, [Int], Array Int UnitInfo) Source #