Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- pattern M_E :: (Eq a, Fractional a) => Fractional a => a
- pattern M_LOG2E :: (Eq a, Fractional a) => Fractional a => a
- pattern M_LOG10E :: (Eq a, Fractional a) => Fractional a => a
- pattern M_LN2 :: (Eq a, Fractional a) => Fractional a => a
- pattern M_LN10 :: (Eq a, Fractional a) => Fractional a => a
- pattern M_SQRT2 :: (Eq a, Fractional a) => Fractional a => a
- pattern M_SQRT1_2 :: (Eq a, Fractional a) => Fractional a => a
- pattern M_PI :: (Eq a, Fractional a) => Fractional a => a
- pattern M_PI_2 :: (Eq a, Fractional a) => Fractional a => a
- pattern M_PI_3 :: (Eq a, Fractional a) => Fractional a => a
- pattern M_PI_4 :: (Eq a, Fractional a) => Fractional a => a
- pattern M_1_PI :: (Eq a, Fractional a) => Fractional a => a
- pattern M_2_PI :: (Eq a, Fractional a) => Fractional a => a
- pattern M_2_SQRTPI :: (Eq a, Fractional a) => Fractional a => a
- class (Eq a, Floating a) => Epsilon a where
- epsilon :: a
- pattern M_EPS :: Epsilon a => a
- class (Real a, PrimBytes a) => RealExtras a where
- copysign :: a -> a -> a
- class (Epsilon a, RealExtras a, RealFloat a) => RealFloatExtras a where
- negateUnless :: Num t => Bool -> t -> t
- type IterativeMethod = HasCallStack
- data TooManyIterations
- tooManyIterations :: IterativeMethod => String -> a
Constants
pattern M_E :: (Eq a, Fractional a) => Fractional a => a Source #
\( e \)
pattern M_LOG2E :: (Eq a, Fractional a) => Fractional a => a Source #
\( \log_2 e \)
pattern M_LOG10E :: (Eq a, Fractional a) => Fractional a => a Source #
\( \log_{10} e \)
pattern M_LN2 :: (Eq a, Fractional a) => Fractional a => a Source #
\( \log_e 2 \)
pattern M_LN10 :: (Eq a, Fractional a) => Fractional a => a Source #
\( \log_e 10 \)
pattern M_SQRT2 :: (Eq a, Fractional a) => Fractional a => a Source #
\( \sqrt{2} \)
pattern M_SQRT1_2 :: (Eq a, Fractional a) => Fractional a => a Source #
\( \frac{1}{\sqrt{2}} \)
pattern M_PI :: (Eq a, Fractional a) => Fractional a => a Source #
\( \pi \)
pattern M_PI_2 :: (Eq a, Fractional a) => Fractional a => a Source #
\( \frac{\pi}{2} \)
pattern M_PI_3 :: (Eq a, Fractional a) => Fractional a => a Source #
\( \frac{\pi}{3} \)
pattern M_PI_4 :: (Eq a, Fractional a) => Fractional a => a Source #
\( \frac{\pi}{4} \)
pattern M_1_PI :: (Eq a, Fractional a) => Fractional a => a Source #
\( \frac{1}{\pi} \)
pattern M_2_PI :: (Eq a, Fractional a) => Fractional a => a Source #
\( \frac{2}{\pi} \)
pattern M_2_SQRTPI :: (Eq a, Fractional a) => Fractional a => a Source #
\( \frac{2}{\sqrt{\pi}} \)
class (Eq a, Floating a) => Epsilon a where Source #
Define a meaningful precision for complex floating-point operations.
A small positive number that depends on the type of a
.
Compare your values to epsilon
to tell if they are near zero.
Instances
Epsilon Double Source # | |
Defined in Numeric.Basics | |
Epsilon Float Source # | |
Defined in Numeric.Basics | |
Epsilon (DFBackend t ds) => Epsilon (DataFrame t ds) Source # | |
Defined in Numeric.DataFrame.Type | |
(Epsilon (DataFrame ts ('[] :: [Nat])), KnownBackends ts ('[] :: [Nat]), Eq (DataFrame ts ('[] :: [XNat]))) => Epsilon (DataFrame ts ('[] :: [XNat])) Source # | |
Defined in Numeric.DataFrame.Type |
Functions
class (Real a, PrimBytes a) => RealExtras a where Source #
Extra functions for Real
types.
Nothing
copysign :: a -> a -> a Source #
copysign x y
returns a value with the magnitude of x and the sign of y.
NB: in future, this function is to reimplemented using primops and should behave the same way as its C analogue.
Instances
RealExtras Double Source # | |
RealExtras Float Source # | |
RealExtras Int Source # | |
RealExtras Int8 Source # | |
RealExtras Int16 Source # | |
RealExtras Int32 Source # | |
RealExtras Int64 Source # | |
RealExtras Word Source # | |
RealExtras Word8 Source # | |
RealExtras Word16 Source # | |
RealExtras Word32 Source # | |
RealExtras Word64 Source # | |
RealExtras (DFBackend t ds) => RealExtras (DataFrame t ds) Source # | |
(RealExtras (DataFrame t ('[] :: [Nat])), KnownBackend t ('[] :: [Nat]), Eq t) => RealExtras (DataFrame t ('[] :: [XNat])) Source # | |
class (Epsilon a, RealExtras a, RealFloat a) => RealFloatExtras a where Source #
Extra functions for RealFrac
types.
\( \sqrt{ x^2 + y^2 } \).
NB: in future, this function is to reimplemented using primops and should behave the same way as its C analogue.
Maximum finite number representable by this FP type.
Instances
RealFloatExtras Double Source # | |
RealFloatExtras Float Source # | |
RealFloatExtras (DFBackend t ds) => RealFloatExtras (DataFrame t ds) Source # | |
(RealFloatExtras (DataFrame t ('[] :: [Nat])), KnownBackend t ('[] :: [Nat]), Eq t) => RealFloatExtras (DataFrame t ('[] :: [XNat])) Source # | |
negateUnless :: Num t => Bool -> t -> t Source #
Negate if False
.
This is a useful alternative to signum
,
when signum 0 == 0
causing some troubles.
Exceptions
type IterativeMethod = HasCallStack Source #
This is just an alias for the HasCallStack
constraint.
It servers two goals:
- Document functions that use iterative methods and can fail (supposedly in extremely rare cases).
- Provide a call stack in case of failure.
Use tooManyIterations
function where necessary if you implement an iterative
algorithm and annotate your implementation function with IterativeMethod
constraint.
data TooManyIterations Source #
Typically, this exception can occur in an iterative algorithm; when the number of iterations exceeds a pre-defined limit, but the stop condition is not fulfilled.
Use the IterativeMethod
constraint to annotate functions that throw this exception.
Instances
Eq TooManyIterations Source # | Note, this instance ignores |
Defined in Numeric.Basics (==) :: TooManyIterations -> TooManyIterations -> Bool # (/=) :: TooManyIterations -> TooManyIterations -> Bool # | |
Ord TooManyIterations Source # | Note, this instance ignores |
Defined in Numeric.Basics compare :: TooManyIterations -> TooManyIterations -> Ordering # (<) :: TooManyIterations -> TooManyIterations -> Bool # (<=) :: TooManyIterations -> TooManyIterations -> Bool # (>) :: TooManyIterations -> TooManyIterations -> Bool # (>=) :: TooManyIterations -> TooManyIterations -> Bool # max :: TooManyIterations -> TooManyIterations -> TooManyIterations # min :: TooManyIterations -> TooManyIterations -> TooManyIterations # | |
Show TooManyIterations Source # | |
Defined in Numeric.Basics showsPrec :: Int -> TooManyIterations -> ShowS # show :: TooManyIterations -> String # showList :: [TooManyIterations] -> ShowS # | |
Exception TooManyIterations Source # | |
Defined in Numeric.Basics |
:: IterativeMethod | |
=> String | Label (e.g. function name) |
-> a |
Throw a TooManyIterations
exception.