Safe Haskell | None |
---|---|
Language | Haskell2010 |
Util
Synopsis
- mulBR :: Balance -> Rate -> Balance
- mulBIR :: Balance -> IRate -> Balance
- mulBI :: Balance -> IRate -> Amount
- mulBInt :: Balance -> Int -> Rational
- mulBInteger :: Balance -> Integer -> Rational
- lastN :: Int -> [a] -> [a]
- getValByDate :: Ts -> CutoffType -> Date -> Rational
- getValByDates :: Ts -> CutoffType -> [Date] -> [Rational]
- scaleUpToOne :: [Rational] -> [Rational]
- divideBB :: Balance -> Balance -> Rational
- getIntervalFactorsDc :: DayCount -> [Date] -> [Rate]
- multiplyTs :: CutoffType -> Ts -> Ts -> Ts
- zipTs :: [Date] -> [Rational] -> Ts
- getTsVals :: Ts -> [Rational]
- getTsSize :: Ts -> Int
- divideBI :: Balance -> Int -> Balance
- mulIR :: Int -> Rational -> Rational
- daysInterval :: [Date] -> [Integer]
- replace :: [a] -> Int -> a -> [a]
- paddingDefault :: a -> [a] -> Int -> [a]
- capWith :: Ord a => a -> [a] -> [a]
- getTsDates :: Ts -> [Date]
- shiftTsByAmt :: Ts -> Rational -> Ts
- calcWeightBalanceByDates :: DayCount -> [Balance] -> [Date] -> Balance
- maximum' :: Ord a => [a] -> a
- minimum' :: Ord a => [a] -> a
- roundingBy :: (Num a, Fractional a, RealFrac a) => RoundingBy a -> a -> a
- roundingByM :: (Fractional a, RealFrac a) => Maybe (RoundingBy a) -> a -> a
- floorWith :: Ord a => a -> [a] -> [a]
- slice :: Int -> Int -> [a] -> [a]
- toPeriodRateByInterval :: Rate -> Int -> Rate
- dropLastN :: Int -> [a] -> [a]
- zipBalTs :: [Date] -> [Balance] -> Ts
- lastOf :: [a] -> (a -> Bool) -> Maybe a
- findBox :: (Ord a, Num a) => (CutoffType, CutoffType) -> a -> [(a, a)] -> Maybe (a, a)
- safeDivide' :: (Eq a, Fractional a, Real a) => a -> a -> Rational
- safeDiv :: Rational -> Rational -> Maybe Rational
- safeDivide :: RealFloat a => a -> a -> a
- lstToMapByFn :: (a -> String) -> [a] -> Map String a
- paySequentially :: Date -> Amount -> (a -> Balance) -> (Amount -> a -> a) -> [a] -> [a] -> ([a], Amount)
- payProRata :: Date -> Amount -> (a -> Balance) -> (Amount -> a -> a) -> [a] -> ([a], Amount)
- mapWithinMap :: Ord k => (a -> a) -> [k] -> Map k a -> Map k a
- payInMap :: Date -> Balance -> (a -> Balance) -> (Balance -> a -> a) -> [String] -> HowToPay -> Map String a -> Map String a
- adjustM :: (Ord k, Applicative m) => (a -> m a) -> k -> Map k a -> m (Map k a)
- lookupAndApply :: Ord k => (a -> b) -> String -> k -> Map k a -> Either String b
- lookupAndUpdate :: (Show k, Ord k) => (a -> a) -> String -> [k] -> Map k a -> Either String (Map k a)
- lookupAndApplies :: Ord k => (a -> b) -> String -> [k] -> Map k a -> Either String [b]
- lookupInMap :: (Show k, Ord k) => String -> [k] -> Map k a -> Either String (Map k a)
- selectInMap :: (Show k, Ord k) => String -> [k] -> Map k a -> Either String (Map k a)
- scaleByFstElement :: Fractional a => a -> [a] -> [a]
- lookupTuple6 :: Ord k => (k, k, k, k, k, k) -> Map k v -> (Maybe v, Maybe v, Maybe v, Maybe v, Maybe v, Maybe v)
- lookupTuple7 :: Ord k => (k, k, k, k, k, k, k) -> Map k v -> (Maybe v, Maybe v, Maybe v, Maybe v, Maybe v, Maybe v, Maybe v)
- diffNum :: Num a => [a] -> [a]
- debugOnDate :: Date -> Date -> Date -> String
- paySeqM :: Date -> Amount -> (a -> Balance) -> (Amount -> a -> Either String a) -> Either String [a] -> [a] -> Either String ([a], Amount)
- splitByLengths :: Num a => [a] -> [Int] -> [[a]]
Documentation
getValByDate :: Ts -> CutoffType -> Date -> Rational Source #
getValByDates :: Ts -> CutoffType -> [Date] -> [Rational] Source #
scaleUpToOne :: [Rational] -> [Rational] Source #
multiplyTs :: CutoffType -> Ts -> Ts -> Ts Source #
daysInterval :: [Date] -> [Integer] Source #
replace :: [a] -> Int -> a -> [a] Source #
swap a value in list with index supplied
padding default value to end of list ,make it length with N
paddingDefault :: a -> [a] -> Int -> [a] Source #
getTsDates :: Ts -> [Date] Source #
roundingBy :: (Num a, Fractional a, RealFrac a) => RoundingBy a -> a -> a Source #
roundingByM :: (Fractional a, RealFrac a) => Maybe (RoundingBy a) -> a -> a Source #
dropLastN :: Int -> [a] -> [a] Source #
convert annual rate (in 365 days) to period rate by interval days
findBox :: (Ord a, Num a) => (CutoffType, CutoffType) -> a -> [(a, a)] -> Maybe (a, a) Source #
safeDivide' :: (Eq a, Fractional a, Real a) => a -> a -> Rational Source #
safeDivide :: RealFloat a => a -> a -> a Source #
paySequentially :: Date -> Amount -> (a -> Balance) -> (Amount -> a -> a) -> [a] -> [a] -> ([a], Amount) Source #
payProRata :: Date -> Amount -> (a -> Balance) -> (Amount -> a -> a) -> [a] -> ([a], Amount) Source #
payInMap :: Date -> Balance -> (a -> Balance) -> (Balance -> a -> a) -> [String] -> HowToPay -> Map String a -> Map String a Source #
adjustM :: (Ord k, Applicative m) => (a -> m a) -> k -> Map k a -> m (Map k a) Source #
lookup and apply a function to a single value in a map ,return a value
lookupAndApply :: Ord k => (a -> b) -> String -> k -> Map k a -> Either String b Source #
lookup and apply a function to values in a map ,return a list
lookupAndUpdate :: (Show k, Ord k) => (a -> a) -> String -> [k] -> Map k a -> Either String (Map k a) Source #
scaleByFstElement :: Fractional a => a -> [a] -> [a] Source #
lookupTuple6 :: Ord k => (k, k, k, k, k, k) -> Map k v -> (Maybe v, Maybe v, Maybe v, Maybe v, Maybe v, Maybe v) Source #
lookupTuple7 :: Ord k => (k, k, k, k, k, k, k) -> Map k v -> (Maybe v, Maybe v, Maybe v, Maybe v, Maybe v, Maybe v, Maybe v) Source #
paySeqM :: Date -> Amount -> (a -> Balance) -> (Amount -> a -> Either String a) -> Either String [a] -> [a] -> Either String ([a], Amount) Source #
splitByLengths :: Num a => [a] -> [Int] -> [[a]] Source #