toy-lib-0.1.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Core.SegmentAction

Description

Right semigroup action, specialized for the lazily propagated segment tree.

Algebra

\(s_2 * (s_1 * a) == (s_2 \diamond s_1) * a\)

Synopsis

Documentation

class SegmentAction op a where #

Right semigroup action, specialized for the lazily propagated segment tree.

Minimal complete definition

Nothing

Methods

segAct :: op -> a -> a #

Right semigroup aciton, limited to the lazily propagated segment tree.

segActWithLength :: Int -> op -> a -> a #

Right semigroup aciton with the segment length.

Instances

Instances details
Semigroup a => SegmentAction a a #

Target self

Instance details

Defined in Data.Core.SegmentAction

Methods

segAct :: a -> a -> a #

segActWithLength :: Int -> a -> a -> a #

Integral a => SegmentAction (Affine2d a) a # 
Instance details

Defined in Data.Instances.Affine2d

Methods

segAct :: Affine2d a -> a -> a #

segActWithLength :: Int -> Affine2d a -> a -> a #

Integral a => SegmentAction (Affine2d a) (Product a) # 
Instance details

Defined in Data.Instances.Affine2d

Methods

segAct :: Affine2d a -> Product a -> Product a #

segActWithLength :: Int -> Affine2d a -> Product a -> Product a #

Integral a => SegmentAction (Affine2d a) (Sum a) # 
Instance details

Defined in Data.Instances.Affine2d

Methods

segAct :: Affine2d a -> Sum a -> Sum a #

segActWithLength :: Int -> Affine2d a -> Sum a -> Sum a #

Num a => SegmentAction (Affine2d a) (V2 a) # 
Instance details

Defined in Data.Instances.Affine2d

Methods

segAct :: Affine2d a -> V2 a -> V2 a #

segActWithLength :: Int -> Affine2d a -> V2 a -> V2 a #

(Num a, Ord a, Bounded a) => SegmentAction (AddChminChmax a) (SumMinMax a) # 
Instance details

Defined in Data.SegmentTree.Beats.SumMinMax