random-tree-0.6.0.5: Create random trees
Safe HaskellSafe-Inferred
LanguageHaskell2010

Math.RandomTree.Label

Description

Collects all functions pertaining to the labeling of a tree

Synopsis

Documentation

modifyLabel :: Eq a => a -> a -> a -> a Source #

Modify the label of a tree

getNeighbors :: Ord a => Int -> a -> Tree (SuperNode a) -> [a] Source #

Get the neighbors of a label in a fast, theoretically efficient way

clumpIt :: (Ord a, Eq b) => Int -> Tree (SuperNode a) -> a -> b -> MaybePropertyMap a b -> MaybePropertyMap a b Source #

Assign clumps to the label list. Takes an old label and reassigns it to the new label in the labelmap, but looks at all neighbors defined by the distanceMap and the neighborDistance. If the reassigned nodes have already been reassigned (in the propertyList), then ignore.

assignRandomClumpedProperties :: (Ord a, Eq b) => [b] -> Int -> Tree (SuperNode a) -> StdGen -> MaybePropertyMap a b -> MaybePropertyMap a b Source #

Assign random labels to the leaves of a tree in a clumped fashion

assignRandomProperties :: Ord a => [b] -> StdGen -> MaybePropertyMap a b -> MaybePropertyMap a b Source #

Assign random labels to the leaves of a tree

emptyPropertyMap :: Ord a => [a] -> MaybePropertyMap a b Source #

Return the empty propertyMap

getPropertyMap :: Ord a => [a] -> PropertyMap a a Source #

Return the propertyMap