camfort-0.902: CamFort - Cambridge Fortran infrastructure

Safe HaskellNone
LanguageHaskell2010

Camfort.Specification.Units.InferenceBackend

Synopsis

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 -> [(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.

rref :: Matrix Double -> Matrix Double Source #

Returns given matrix transformed into Reduced Row Echelon Form

isInconsistentRREF :: (Field t, Eq t) => Matrix t -> Bool Source #

Returns True iff the given matrix in reduced row echelon form represents an inconsistent system of linear equations

genUnitAssignments :: [Constraint] -> [([UnitInfo], UnitInfo)] Source #

Raw units-assignment pairs.