A module containing barriers.
The PhasedBarrier
type remains, but currently syncBarrier
has been changed
so that it only works on Barrier
, i.e. PhasedBarrier ()
. This is because
phases haven't been modelled yet.
- type Barrier = PhasedBarrier ()
- type EnrolledBarrier = Enrolled PhasedBarrier ()
- newBarrier :: CHP Barrier
- newBarrierPri :: Int -> CHP Barrier
- newBarrierWithLabel :: String -> CHP Barrier
- data PhasedBarrier phase
- newPhasedBarrier :: (Enum phase, Bounded phase, Eq phase, Show phase) => phase -> CHP (PhasedBarrier phase)
- newPhasedBarrier' :: phase -> BarOpts phase -> CHP (PhasedBarrier phase)
- data BarOpts phase = BarOpts {
- barIncPhase :: phase -> phase
- barPriority :: Int
- barOptsShow :: phase -> String
- barOptsLabel :: Maybe String
- defaultIncPhase :: (Enum phase, Bounded phase, Eq phase) => phase -> phase
- defaultBarOpts :: (Enum phase, Bounded phase, Eq phase) => BarOpts phase
- barLabel :: (Enum phase, Bounded phase, Eq phase, Show phase) => String -> BarOpts phase
- syncBarrier :: EnrolledBarrier -> CHP ()
Documentation
type Barrier = PhasedBarrier ()Source
newBarrierPri :: Int -> CHP BarrierSource
data PhasedBarrier phase Source
Typeable1 PhasedBarrier | |
Enrollable PhasedBarrier phase | |
Eq (PhasedBarrier phase) |
newPhasedBarrier :: (Enum phase, Bounded phase, Eq phase, Show phase) => phase -> CHP (PhasedBarrier phase)Source
newPhasedBarrier' :: phase -> BarOpts phase -> CHP (PhasedBarrier phase)Source
BarOpts | |
|
defaultIncPhase :: (Enum phase, Bounded phase, Eq phase) => phase -> phaseSource
syncBarrier :: EnrolledBarrier -> CHP ()Source
Unlike normal CHP, this function only works on barriers with the unit type for a phase.