data-sketches-0.3.0.1
Safe HaskellNone
LanguageHaskell2010

DataSketches.Quantiles.RelativeErrorQuantile.Internal.InequalitySearch

Documentation

data (:<) Source #

Constructors

(:<) 

Instances

Instances details
InequalitySearch (:<) Source # 
Instance details

Defined in DataSketches.Quantiles.RelativeErrorQuantile.Internal.InequalitySearch

Methods

inequalityCompare :: Ord a => (:<) -> a -> a -> a -> Ordering Source #

getIndex :: (PrimMonad m, MVector v a, Ord a) => (:<) -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve :: (:<) -> Int -> (Int, Int) -> (Int, Int) -> Int Source #

data (:<=) Source #

Constructors

(:<=) 

Instances

Instances details
InequalitySearch (:<=) Source # 
Instance details

Defined in DataSketches.Quantiles.RelativeErrorQuantile.Internal.InequalitySearch

Methods

inequalityCompare :: Ord a => (:<=) -> a -> a -> a -> Ordering Source #

getIndex :: (PrimMonad m, MVector v a, Ord a) => (:<=) -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve :: (:<=) -> Int -> (Int, Int) -> (Int, Int) -> Int Source #

data (:>) Source #

Constructors

(:>) 

Instances

Instances details
InequalitySearch (:>) Source # 
Instance details

Defined in DataSketches.Quantiles.RelativeErrorQuantile.Internal.InequalitySearch

Methods

inequalityCompare :: Ord a => (:>) -> a -> a -> a -> Ordering Source #

getIndex :: (PrimMonad m, MVector v a, Ord a) => (:>) -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve :: (:>) -> Int -> (Int, Int) -> (Int, Int) -> Int Source #

data (:>=) Source #

Constructors

(:>=) 

Instances

Instances details
InequalitySearch (:>=) Source # 
Instance details

Defined in DataSketches.Quantiles.RelativeErrorQuantile.Internal.InequalitySearch

Methods

inequalityCompare :: Ord a => (:>=) -> a -> a -> a -> Ordering Source #

getIndex :: (PrimMonad m, MVector v a, Ord a) => (:>=) -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve :: (:>=) -> Int -> (Int, Int) -> (Int, Int) -> Int Source #

class InequalitySearch s where Source #

Methods

inequalityCompare Source #

Arguments

:: Ord a 
=> s 
-> a

V

-> a

A

-> a

B

-> Ordering

GT means we must search higher in the array, LT means we must search lower in the array, or EQ, which means we have found the correct bounding pair.

getIndex :: (PrimMonad m, MVector v a, Ord a) => s -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve Source #

Arguments

:: s 
-> Int 
-> (Int, Int)

Final low index, high index (lo, hi)

-> (Int, Int)

Initial search region (low, high)

-> Int

A thing

Instances

Instances details
InequalitySearch (:>=) Source # 
Instance details

Defined in DataSketches.Quantiles.RelativeErrorQuantile.Internal.InequalitySearch

Methods

inequalityCompare :: Ord a => (:>=) -> a -> a -> a -> Ordering Source #

getIndex :: (PrimMonad m, MVector v a, Ord a) => (:>=) -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve :: (:>=) -> Int -> (Int, Int) -> (Int, Int) -> Int Source #

InequalitySearch (:>) Source # 
Instance details

Defined in DataSketches.Quantiles.RelativeErrorQuantile.Internal.InequalitySearch

Methods

inequalityCompare :: Ord a => (:>) -> a -> a -> a -> Ordering Source #

getIndex :: (PrimMonad m, MVector v a, Ord a) => (:>) -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve :: (:>) -> Int -> (Int, Int) -> (Int, Int) -> Int Source #

InequalitySearch (:<=) Source # 
Instance details

Defined in DataSketches.Quantiles.RelativeErrorQuantile.Internal.InequalitySearch

Methods

inequalityCompare :: Ord a => (:<=) -> a -> a -> a -> Ordering Source #

getIndex :: (PrimMonad m, MVector v a, Ord a) => (:<=) -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve :: (:<=) -> Int -> (Int, Int) -> (Int, Int) -> Int Source #

InequalitySearch (:<) Source # 
Instance details

Defined in DataSketches.Quantiles.RelativeErrorQuantile.Internal.InequalitySearch

Methods

inequalityCompare :: Ord a => (:<) -> a -> a -> a -> Ordering Source #

getIndex :: (PrimMonad m, MVector v a, Ord a) => (:<) -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve :: (:<) -> Int -> (Int, Int) -> (Int, Int) -> Int Source #

InequalitySearch Criterion Source # 
Instance details

Defined in DataSketches.Quantiles.RelativeErrorQuantile.Types

Methods

inequalityCompare :: Ord a => Criterion -> a -> a -> a -> Ordering Source #

getIndex :: (PrimMonad m, MVector v a, Ord a) => Criterion -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #

resolve :: Criterion -> Int -> (Int, Int) -> (Int, Int) -> Int Source #

find :: (InequalitySearch s, PrimMonad m, MVector v a, Ord a) => s -> v (PrimState m) a -> Int -> Int -> a -> m Int Source #