mixed-types-num-0.6.2: Alternative Prelude with numeric and logic expressions typed bottom-up
Copyright(c) Michal Konecny
LicenseBSD3
Maintainer[email protected]
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Numeric.MixedTypes.MinMaxAbs

Description

 
Synopsis

Minimum and maximum

class CanMinMaxAsymmetric t1 t2 where Source #

A replacement for Prelude's min and max. If t1 = t2 and Ord t1, then one can use the default implementation to mirror Prelude's min and max.

Minimal complete definition

Nothing

Associated Types

type MinMaxType t1 t2 Source #

type MinMaxType t1 t2 = t1

Methods

min :: t1 -> t2 -> MinMaxType t1 t2 Source #

default min :: (MinMaxType t1 t2 ~ t1, t1 ~ t2, Ord t1) => t1 -> t2 -> MinMaxType t1 t2 Source #

max :: t1 -> t2 -> MinMaxType t1 t2 Source #

default max :: (MinMaxType t1 t2 ~ t1, t1 ~ t2, Ord t1) => t1 -> t2 -> MinMaxType t1 t2 Source #

Instances

Instances details
CanMinMaxAsymmetric Rational Rational Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Rational Rational 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Rational Integer Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Rational Integer 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Rational Double Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Rational Double 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Rational Int Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Rational Int 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Integer Rational Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Integer Rational 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Integer Integer Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Integer Integer 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Integer Double Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Integer Double 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Integer Int Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Integer Int 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Double Rational Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Double Rational 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Double Integer Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Double Integer 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Double Double Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Double Double 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Double Int Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Double Int 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Int Rational Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Int Rational 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Int Integer Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Int Integer 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Int Double Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Int Double 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric Int Int Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Int Int 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

(CanMinMaxAsymmetric Rational b, CanBeErrors es) => CanMinMaxAsymmetric Rational (CollectErrors es b) Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Rational (CollectErrors es b) 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

(CanMinMaxAsymmetric Integer b, CanBeErrors es) => CanMinMaxAsymmetric Integer (CollectErrors es b) Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Integer (CollectErrors es b) 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

(CanMinMaxAsymmetric Double b, CanBeErrors es) => CanMinMaxAsymmetric Double (CollectErrors es b) Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Double (CollectErrors es b) 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

(CanMinMaxAsymmetric Int b, CanBeErrors es) => CanMinMaxAsymmetric Int (CollectErrors es b) Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType Int (CollectErrors es b) 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanMinMaxAsymmetric a b => CanMinMaxAsymmetric (Maybe a) (Maybe b) Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType (Maybe a) (Maybe b) 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

type MinMaxType (Maybe a) (Maybe b) = Maybe (MinMaxType a b)

Methods

min :: Maybe a -> Maybe b -> MinMaxType (Maybe a) (Maybe b) Source #

max :: Maybe a -> Maybe b -> MinMaxType (Maybe a) (Maybe b) Source #

CanMinMaxAsymmetric a b => CanMinMaxAsymmetric [a] [b] Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType [a] [b] 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

type MinMaxType [a] [b] = [MinMaxType a b]

Methods

min :: [a] -> [b] -> MinMaxType [a] [b] Source #

max :: [a] -> [b] -> MinMaxType [a] [b] Source #

(CanMinMaxAsymmetric a Rational, CanBeErrors es) => CanMinMaxAsymmetric (CollectErrors es a) Rational Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType (CollectErrors es a) Rational 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

(CanMinMaxAsymmetric a Integer, CanBeErrors es) => CanMinMaxAsymmetric (CollectErrors es a) Integer Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType (CollectErrors es a) Integer 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

(CanMinMaxAsymmetric a Double, CanBeErrors es) => CanMinMaxAsymmetric (CollectErrors es a) Double Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType (CollectErrors es a) Double 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

(CanMinMaxAsymmetric a Int, CanBeErrors es) => CanMinMaxAsymmetric (CollectErrors es a) Int Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType (CollectErrors es a) Int 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

(CanMinMaxAsymmetric a b, CanBeErrors es) => CanMinMaxAsymmetric (CollectErrors es a) (CollectErrors es b) Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type MinMaxType (CollectErrors es a) (CollectErrors es b) 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

type CanMinMaxThis t1 t2 = (CanMinMax t1 t2, MinMaxType t1 t2 ~ t1) Source #

Tests

Absolute value

class CanAbs t where Source #

A replacement for Prelude's abs. If Num t, then one can use the default implementation to mirror Prelude's abs.

Minimal complete definition

Nothing

Associated Types

type AbsType t Source #

type AbsType t = t

Methods

abs :: t -> AbsType t Source #

default abs :: (AbsType t ~ t, Num t) => t -> AbsType t Source #

Instances

Instances details
CanAbs Rational Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type AbsType Rational 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanAbs Integer Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type AbsType Integer 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanAbs Double Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type AbsType Double 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanAbs Int Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type AbsType Int 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

type AbsType Int = Int

Methods

abs :: Int -> AbsType Int Source #

(CanMulAsymmetric t t, CanAddSameType (MulType t t), CanSqrt (MulType t t)) => CanAbs (Complex t) Source # 
Instance details

Defined in Numeric.MixedTypes.Complex

Associated Types

type AbsType (Complex t) 
Instance details

Defined in Numeric.MixedTypes.Complex

type AbsType (Complex t) = SqrtType (MulType t t)

Methods

abs :: Complex t -> AbsType (Complex t) Source #

(CanAbs a, CanBeErrors es) => CanAbs (CollectErrors es a) Source # 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Associated Types

type AbsType (CollectErrors es a) 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

Methods

abs :: CollectErrors es a -> AbsType (CollectErrors es a) Source #

Tests

Orphan instances

CanNeg Rational Source # 
Instance details

Associated Types

type NegType Rational 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanNeg Integer Source # 
Instance details

Associated Types

type NegType Integer 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanNeg Double Source # 
Instance details

Associated Types

type NegType Double 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

CanNeg Int Source # 
Instance details

Associated Types

type NegType Int 
Instance details

Defined in Numeric.MixedTypes.MinMaxAbs

type NegType Int = Int

Methods

negate :: Int -> NegType Int Source #