measures-0.1.0.2: An abstraction for (tuples of) measured quantities
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Measure.Class

Contents

Description

Synopsis

Documentation

class Measure a ⇒ BoundedMeasure a where Source #

A unique maximal measurement

Methods

maxBound ∷ a Source #

A unique maximal measurement

See BoundedMeasure for laws.

Instances

Instances details
BoundedMeasure Word16 Source # 
Instance details

Defined in Data.Measure.Class

Methods

maxBound ∷ Word16 Source #

BoundedMeasure Word32 Source # 
Instance details

Defined in Data.Measure.Class

Methods

maxBound ∷ Word32 Source #

BoundedMeasure Word64 Source # 
Instance details

Defined in Data.Measure.Class

Methods

maxBound ∷ Word64 Source #

BoundedMeasure Word8 Source # 
Instance details

Defined in Data.Measure.Class

Methods

maxBound ∷ Word8 Source #

(Eq a, Generic a, GBoundedMeasure (Rep a), GMeasure (Rep a)) ⇒ BoundedMeasure (InstantiatedAt Generic a) Source # 
Instance details

Defined in Data.Measure.Class

Methods

maxBoundInstantiatedAt Generic a Source #

(Bounded a, Monoid a, Ord a) ⇒ BoundedMeasure (InstantiatedAt Ord a) Source # 
Instance details

Defined in Data.Measure.Class

Methods

maxBoundInstantiatedAt Ord a Source #

class Eq a ⇒ Measure a where Source #

Core combinators for a possibly-multidimensional measurement

a is a fixed set of measurements of a single object. It is not the measurements from multiple objects.

Note that the bounded join-semilattice precludes negative (components of) measurements.

Methods

zero ∷ a Source #

The measurement of nothing

See Measure for laws.

plus ∷ a → a → a Source #

Combine two measurements

If a consists of multiple measurements, this is componentwise.

See Measure for laws.

min ∷ a → a → a Source #

The lesser of two measurements

If a consists of multiple measurements, this is componentwise.

See Measure for laws.

max ∷ a → a → a Source #

The greater of two measurements

If a consists of multiple measurements, this is componentwise.

See Measure for laws.

Instances

Instances details
Measure Word16 Source #

plus throws DataMeasureClassOverflowException

Instance details

Defined in Data.Measure.Class

Methods

zero ∷ Word16 Source #

plus ∷ Word16 → Word16 → Word16 Source #

min ∷ Word16 → Word16 → Word16 Source #

max ∷ Word16 → Word16 → Word16 Source #

Measure Word32 Source #

plus throws DataMeasureClassOverflowException

Instance details

Defined in Data.Measure.Class

Methods

zero ∷ Word32 Source #

plus ∷ Word32 → Word32 → Word32 Source #

min ∷ Word32 → Word32 → Word32 Source #

max ∷ Word32 → Word32 → Word32 Source #

Measure Word64 Source #

plus throws DataMeasureClassOverflowException

Instance details

Defined in Data.Measure.Class

Methods

zero ∷ Word64 Source #

plus ∷ Word64 → Word64 → Word64 Source #

min ∷ Word64 → Word64 → Word64 Source #

max ∷ Word64 → Word64 → Word64 Source #

Measure Word8 Source #

plus throws DataMeasureClassOverflowException

Instance details

Defined in Data.Measure.Class

Methods

zero ∷ Word8 Source #

plus ∷ Word8 → Word8 → Word8 Source #

min ∷ Word8 → Word8 → Word8 Source #

max ∷ Word8 → Word8 → Word8 Source #

Measure Natural Source # 
Instance details

Defined in Data.Measure.Class

Methods

zero ∷ Natural Source #

plus ∷ Natural → Natural → Natural Source #

min ∷ Natural → Natural → Natural Source #

max ∷ Natural → Natural → Natural Source #

Measure a ⇒ Monoid (InstantiatedAt Measure a) Source #

The (zero, plus) monoid

Instance details

Defined in Data.Measure.Class

Measure a ⇒ Semigroup (InstantiatedAt Measure a) Source #

The (zero, plus) monoid

Instance details

Defined in Data.Measure.Class

(Eq a, Generic a, GMeasure (Rep a)) ⇒ Measure (InstantiatedAt Generic a) Source # 
Instance details

Defined in Data.Measure.Class

Methods

zeroInstantiatedAt Generic a Source #

plusInstantiatedAt Generic a → InstantiatedAt Generic a → InstantiatedAt Generic a Source #

minInstantiatedAt Generic a → InstantiatedAt Generic a → InstantiatedAt Generic a Source #

maxInstantiatedAt Generic a → InstantiatedAt Generic a → InstantiatedAt Generic a Source #

(Monoid a, Ord a) ⇒ Measure (InstantiatedAt Ord a) Source # 
Instance details

Defined in Data.Measure.Class

Methods

zeroInstantiatedAt Ord a Source #

plusInstantiatedAt Ord a → InstantiatedAt Ord a → InstantiatedAt Ord a Source #

minInstantiatedAt Ord a → InstantiatedAt Ord a → InstantiatedAt Ord a Source #

maxInstantiatedAt Ord a → InstantiatedAt Ord a → InstantiatedAt Ord a Source #

(Measure a, Measure b) ⇒ Measure (a, b) Source # 
Instance details

Defined in Data.Measure.Class

Methods

zero ∷ (a, b) Source #

plus ∷ (a, b) → (a, b) → (a, b) Source #

min ∷ (a, b) → (a, b) → (a, b) Source #

max ∷ (a, b) → (a, b) → (a, b) Source #

(Measure a, Measure b, Measure c) ⇒ Measure (a, b, c) Source # 
Instance details

Defined in Data.Measure.Class

Methods

zero ∷ (a, b, c) Source #

plus ∷ (a, b, c) → (a, b, c) → (a, b, c) Source #

min ∷ (a, b, c) → (a, b, c) → (a, b, c) Source #

max ∷ (a, b, c) → (a, b, c) → (a, b, c) Source #

(Measure a, Measure b, Measure c, Measure d) ⇒ Measure (a, b, c, d) Source # 
Instance details

Defined in Data.Measure.Class

Methods

zero ∷ (a, b, c, d) Source #

plus ∷ (a, b, c, d) → (a, b, c, d) → (a, b, c, d) Source #

min ∷ (a, b, c, d) → (a, b, c, d) → (a, b, c, d) Source #

max ∷ (a, b, c, d) → (a, b, c, d) → (a, b, c, d) Source #

(Measure a, Measure b, Measure c, Measure d, Measure e) ⇒ Measure (a, b, c, d, e) Source # 
Instance details

Defined in Data.Measure.Class

Methods

zero ∷ (a, b, c, d, e) Source #

plus ∷ (a, b, c, d, e) → (a, b, c, d, e) → (a, b, c, d, e) Source #

min ∷ (a, b, c, d, e) → (a, b, c, d, e) → (a, b, c, d, e) Source #

max ∷ (a, b, c, d, e) → (a, b, c, d, e) → (a, b, c, d, e) Source #

(Measure a, Measure b, Measure c, Measure d, Measure e, Measure f) ⇒ Measure (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Measure.Class

Methods

zero ∷ (a, b, c, d, e, f) Source #

plus ∷ (a, b, c, d, e, f) → (a, b, c, d, e, f) → (a, b, c, d, e, f) Source #

min ∷ (a, b, c, d, e, f) → (a, b, c, d, e, f) → (a, b, c, d, e, f) Source #

max ∷ (a, b, c, d, e, f) → (a, b, c, d, e, f) → (a, b, c, d, e, f) Source #

(Measure a, Measure b, Measure c, Measure d, Measure e, Measure f, Measure g) ⇒ Measure (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Measure.Class

Methods

zero ∷ (a, b, c, d, e, f, g) Source #

plus ∷ (a, b, c, d, e, f, g) → (a, b, c, d, e, f, g) → (a, b, c, d, e, f, g) Source #

min ∷ (a, b, c, d, e, f, g) → (a, b, c, d, e, f, g) → (a, b, c, d, e, f, g) Source #

max ∷ (a, b, c, d, e, f, g) → (a, b, c, d, e, f, g) → (a, b, c, d, e, f, g) Source #

Exceptions

data DataMeasureClassOverflowException Source #

An exception thrown by plus on overflow, since overflow violates lattice-ordered monoid