Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- chooseImplicitNames :: [(VV, UnitInfo)] -> [(VV, UnitInfo)]
- criticalVariables :: Constraints -> [UnitInfo]
- inconsistentConstraints :: Constraints -> Maybe Constraints
- inferVariables :: Constraints -> [(VV, UnitInfo)]
- shiftTerms :: ([UnitInfo], [UnitInfo]) -> ([UnitInfo], [UnitInfo])
- flattenConstraints :: Constraints -> [([UnitInfo], [UnitInfo])]
- flattenUnits :: UnitInfo -> [UnitInfo]
- constraintsToMatrix :: Constraints -> (Matrix Double, [Int], Array Int UnitInfo)
- constraintsToMatrices :: Constraints -> (Matrix Double, Matrix Double, [Int], Array Int UnitInfo, Array Int UnitInfo)
- rref :: Matrix Double -> Matrix Double
- genUnitAssignments :: Constraints -> [([UnitInfo], UnitInfo)]
- genUnitAssignments' :: SortFn -> Constraints -> [([UnitInfo], UnitInfo)]
- provenance :: Matrix Double -> (Matrix Double, Provenance)
- splitNormHNF :: Matrix Double -> (Matrix Double, [Int])
Documentation
chooseImplicitNames :: [(VV, UnitInfo)] -> [(VV, UnitInfo)] Source #
Create unique names for all of the inferred implicit polymorphic unit variables.
criticalVariables :: Constraints -> [UnitInfo] Source #
Identifies the variables that need to be annotated in order for inference or checking to work.
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.
inferVariables :: Constraints -> [(VV, UnitInfo)] Source #
Returns list of formerly-undetermined variables and their units.
shiftTerms :: ([UnitInfo], [UnitInfo]) -> ([UnitInfo], [UnitInfo]) Source #
Shift UnitNames/EAPAbs poly units 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 #
constraintsToMatrices :: Constraints -> (Matrix Double, Matrix Double, [Int], Array Int UnitInfo, Array Int UnitInfo) Source #
rref :: Matrix Double -> Matrix Double Source #
Returns given matrix transformed into Reduced Row Echelon Form
genUnitAssignments :: Constraints -> [([UnitInfo], UnitInfo)] Source #
Raw units-assignment pairs.
genUnitAssignments' :: SortFn -> Constraints -> [([UnitInfo], UnitInfo)] Source #
provenance :: Matrix Double -> (Matrix Double, Provenance) Source #