vp-tree-0.1.0.1: Vantage Point Trees
Safe HaskellNone
LanguageHaskell2010

Data.VPTree.Internal

Synopsis

Documentation

data VPTree d a Source #

Vantage point trees

Constructors

VPT 

Fields

Instances

Instances details
Foldable (VPTree d) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

fold :: Monoid m => VPTree d m -> m #

foldMap :: Monoid m => (a -> m) -> VPTree d a -> m #

foldMap' :: Monoid m => (a -> m) -> VPTree d a -> m #

foldr :: (a -> b -> b) -> b -> VPTree d a -> b #

foldr' :: (a -> b -> b) -> b -> VPTree d a -> b #

foldl :: (b -> a -> b) -> b -> VPTree d a -> b #

foldl' :: (b -> a -> b) -> b -> VPTree d a -> b #

foldr1 :: (a -> a -> a) -> VPTree d a -> a #

foldl1 :: (a -> a -> a) -> VPTree d a -> a #

toList :: VPTree d a -> [a] #

null :: VPTree d a -> Bool #

length :: VPTree d a -> Int #

elem :: Eq a => a -> VPTree d a -> Bool #

maximum :: Ord a => VPTree d a -> a #

minimum :: Ord a => VPTree d a -> a #

sum :: Num a => VPTree d a -> a #

product :: Num a => VPTree d a -> a #

(Eq d, Eq a) => Eq (VPTree d a) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

(==) :: VPTree d a -> VPTree d a -> Bool #

(/=) :: VPTree d a -> VPTree d a -> Bool #

(Show d, Show a) => Show (VPTree d a) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

showsPrec :: Int -> VPTree d a -> ShowS #

show :: VPTree d a -> String #

showList :: [VPTree d a] -> ShowS #

Generic (VPTree d a) Source # 
Instance details

Defined in Data.VPTree.Internal

Associated Types

type Rep (VPTree d a) :: Type -> Type #

Methods

from :: VPTree d a -> Rep (VPTree d a) x #

to :: Rep (VPTree d a) x -> VPTree d a #

(NFData d, NFData a) => NFData (VPTree d a) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

rnf :: VPTree d a -> () #

type Rep (VPTree d a) Source # 
Instance details

Defined in Data.VPTree.Internal

type Rep (VPTree d a) = D1 ('MetaData "VPTree" "Data.VPTree.Internal" "vp-tree-0.1.0.1-EcwP6uYkoBw2ZyJEMHHmtu" 'False) (C1 ('MetaCons "VPT" 'PrefixI 'True) (S1 ('MetaSel ('Just "vpTree") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (VT d a)) :*: S1 ('MetaSel ('Just "vptDistFun") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a -> a -> d))))

data VT d a Source #

Vantage point tree (internal representation)

Constructors

Bin 

Fields

  • _mu :: !d

    median distance to vantage point

  • _vp :: !a

    vantage point

  • _near :: !(VT d a)

    points at a distance < mu

  • _far :: !(VT d a)

    points farther than mu

Tip (Vector a) 

Instances

Instances details
Functor (VT d) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

fmap :: (a -> b) -> VT d a -> VT d b #

(<$) :: a -> VT d b -> VT d a #

Foldable (VT d) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

fold :: Monoid m => VT d m -> m #

foldMap :: Monoid m => (a -> m) -> VT d a -> m #

foldMap' :: Monoid m => (a -> m) -> VT d a -> m #

foldr :: (a -> b -> b) -> b -> VT d a -> b #

foldr' :: (a -> b -> b) -> b -> VT d a -> b #

foldl :: (b -> a -> b) -> b -> VT d a -> b #

foldl' :: (b -> a -> b) -> b -> VT d a -> b #

foldr1 :: (a -> a -> a) -> VT d a -> a #

foldl1 :: (a -> a -> a) -> VT d a -> a #

toList :: VT d a -> [a] #

null :: VT d a -> Bool #

length :: VT d a -> Int #

elem :: Eq a => a -> VT d a -> Bool #

maximum :: Ord a => VT d a -> a #

minimum :: Ord a => VT d a -> a #

sum :: Num a => VT d a -> a #

product :: Num a => VT d a -> a #

Traversable (VT d) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

traverse :: Applicative f => (a -> f b) -> VT d a -> f (VT d b) #

sequenceA :: Applicative f => VT d (f a) -> f (VT d a) #

mapM :: Monad m => (a -> m b) -> VT d a -> m (VT d b) #

sequence :: Monad m => VT d (m a) -> m (VT d a) #

(Eq d, Eq a) => Eq (VT d a) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

(==) :: VT d a -> VT d a -> Bool #

(/=) :: VT d a -> VT d a -> Bool #

(Show d, Show a) => Show (VT d a) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

showsPrec :: Int -> VT d a -> ShowS #

show :: VT d a -> String #

showList :: [VT d a] -> ShowS #

Generic (VT d a) Source # 
Instance details

Defined in Data.VPTree.Internal

Associated Types

type Rep (VT d a) :: Type -> Type #

Methods

from :: VT d a -> Rep (VT d a) x #

to :: Rep (VT d a) x -> VT d a #

(NFData d, NFData a) => NFData (VT d a) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

rnf :: VT d a -> () #

(Serialise d, Serialise a) => Serialise (VT d a) Source # 
Instance details

Defined in Data.VPTree.Internal

Methods

encode :: VT d a -> Encoding #

decode :: Decoder s (VT d a) #

encodeList :: [VT d a] -> Encoding #

decodeList :: Decoder s [VT d a] #

type Rep (VT d a) Source # 
Instance details

Defined in Data.VPTree.Internal

type Rep (VT d a) = D1 ('MetaData "VT" "Data.VPTree.Internal" "vp-tree-0.1.0.1-EcwP6uYkoBw2ZyJEMHHmtu" 'False) (C1 ('MetaCons "Bin" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_mu") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 d) :*: S1 ('MetaSel ('Just "_vp") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel ('Just "_near") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VT d a)) :*: S1 ('MetaSel ('Just "_far") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VT d a)))) :+: C1 ('MetaCons "Tip" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector a))))

withIO Source #

Arguments

:: (GenIO -> IO a)

Memory bracket for the PRNG

-> IO a 

Runs a PRNG action in IO

NB : uses withSystemRandom internally

withST_ Source #

Arguments

:: (forall s. Gen s -> ST s a)

Memory bracket for the PRNG

-> a 

Runs a PRNG action in the ST monad, using a fixed seed

NB : uses create internally

withST Source #

Arguments

:: Vector v Word32 
=> v Word32

Random seed

-> (forall s. Gen s -> ST s a)

Memory bracket for the PRNG

-> a 

Runs a PRNG action in the ST monad, using a given random seed

NB : uses initialize internally