Value rollers
Haskell implementation of fast Practicable Inducers/Value rollers
Sections
Maximum-roll tuple-partition value roller
Excluded-self maximum-roll tuple-partition value roller
Tuple-partition value roller
The application of the tuple-partition value roller $I_{P,U,\mathrm{R}} \in \mathrm{computers}$ is described in Haskell.
The roller is defined in module AlignmentPracticable
,
parametersRoller ::
Integer -> Set.Set ([Set.Set (State,Int)], Histogram, Histogram) -> Maybe (Set.Set [Set.Set (State,Int)])
parametersRoller pmax qq
...
The repa roller is defined in module AlignmentPracticableRepa
,
parametersRollerRepa ::
Integer -> [(Set.Set (Set.Set Variable),(HistogramRepaVec,HistogramRepaVec))] -> Maybe [(Set.Set (Set.Set Variable),V.Vector (UV.Vector Int))]
parametersRollerRepa pmax qq
...
Maximum-roll tuple-partition value roller
The application of the roll tuple-partition value roller $I_{P,U,\mathrm{R,mr}} \in \mathrm{computers}$ is described in Haskell.
The maximum-roll roller is implemented simply by constraining the pmax
argument to be equal to 1
,
parametersRoller 1
:: Set.Set ([Set.Set (State, Int)], Histogram, Histogram) -> Maybe (Set.Set [Set.Set (State, Int)])
The repa roller is defined in module AlignmentPracticableRepa
,
parametersRollerMaximumRollRepa ::
(Set.Set (Set.Set Variable),(HistogramRepaVec,HistogramRepaVec)) ->
[(Set.Set (Set.Set Variable),V.Vector (UV.Vector Int))]
parametersRollerMaximumRollRepa qq
...
Excluded-self maximum-roll tuple-partition value roller
The repa excluded-self maximum-roll tuple-partition value roller $I_{P,U,\mathrm{R,mr,xs}} \in \mathrm{computers}$ is defined in module AlignmentPracticableRepa
,
parametersRollerMaximumRollExcludedSelfRepa ::
(Set.Set (Set.Set Variable),(HistogramRepaVec,HistogramRepaVec)) ->
[(Set.Set (Set.Set Variable),V.Vector (UV.Vector Int))]
parametersRollerMaximumRollExcludedSelfRepa qq
...
A variation also returns the cardinality of the searched,
parametersRollerMaximumRollExcludedSelfRepa_i ::
(Set.Set (Set.Set Variable),(HistogramRepaVec,HistogramRepaVec)) ->
([(Set.Set (Set.Set Variable),V.Vector (UV.Vector Int))],Integer)
parametersRollerMaximumRollExcludedSelfRepa_i qq
...
Note that the repa excluded-self maximum-roll tuple-partition value rollers are partly implemented in C using the Foreign Function Interface.