Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
Math.Number.Units
Contents
Description
This module contains auxiliary definitions related to dimensional analysis. This is based on the SI system of units. This module supports compile-time checking for dimensional units. This is accomplished by a set of newtype wrappers of Double.
It is not necessarily a good idea to make the checking in compile-time. In particular, this can prevent operations to be available, e.g. Num class is not supported for compile-time checked quantities. Num because it has wrong type for the multiplication and division. Instead of Num, VectorSpace operations and operations defined in this module should be used.
However, these types can distinguish quantities even in cases where the dimensions match, e.g. radians and steradians. Explicit conversions are nonetheless available when dimensions match.
Read operations are pretty strict in that they require exactly
the syntax "double unit", where unit is the result of
unitOf (fromAmount 0 :: T)
. Example: (read "3 m^2" :: SquareLength)
This can sometimes be unintuitive and is sensitive to the algorithm
used to print units.
For example: unitOf (fromAmount 0 :: Mass :/ Length) == "m^-1 kg"
.
If in doubt, it's possible to use the read algorithm handling all units
from DimensionalAnalysis module.
However, it's very much likely that compile-time checked newtypes are faster at run-time than using the run-time checked quantities. This is probably the primary reason for wanting this module instead of run-time checked version.
Also it's not possible to cast input data directly without run-time check to a compile-time checked quantity.
See "Barton&Nackman: Scientific and Engineering C++" for C++ approach to dimensional analysis.
Synopsis
- type UnitName u = Scalar u -> u
- (*%%) :: Scalar u ~ Scalar u' => UnitName u -> UnitName u' -> UnitName (u :* u')
- (/%%) :: Scalar u ~ Scalar u' => UnitName u -> UnitName u' -> UnitName (u :/ u')
- (*%) :: (LiteralUnit u, LiteralUnit w, Num (Scalar u), Scalar u ~ Scalar w) => u -> w -> u :* w
- (/%) :: (Fractional (Scalar u), LiteralUnit u, LiteralUnit w, Scalar u ~ Scalar w) => u -> w -> u :/ w
- unitNameToDimension :: (Num (Scalar u), Unit u) => UnitName u -> Dimension
- mapAmount :: LiteralUnit a => (Scalar a -> Scalar a) -> a -> a
- mapAmount2 :: LiteralUnit a => (Scalar a -> Scalar a -> Scalar a) -> a -> a -> a
- asUnit :: (MonadFail m, Show (Scalar u), Show u, LiteralUnit u, Fractional (Scalar u)) => Quantity (Scalar u) -> UnitName u -> m u
- quantity :: LiteralUnit u => u -> Quantity (Scalar u)
- data a :/ b = QDivide {
- qdivideAmount :: !(Scalar a)
- qdivideDividendUnit :: UnitName a
- qdivideDivisorUnit :: UnitName b
- data a :* b = QProduct {
- qproductAmount :: !(Scalar a)
- qproduct_firstUnit :: UnitName a
- qproduct_secondUnit :: UnitName b
- newtype Dimensionless a = Dimensionless {
- dimensionlessValue :: a
- newtype Information a = Bits {
- numberOfBits :: a
- newtype SoundLevel a = SoundAmplitude {
- soundAmplitude :: a
- newtype Angle a = Radians {
- radians :: a
- class Functor angle => DimensionalFloating angle where
- halfRotation :: angle Double
- fullRotation :: angle Double
- fractionOfRotation :: Rational -> angle Double
- dimSin :: Floating a => angle a -> a
- dimCos :: Floating a => angle a -> a
- dimTan :: Floating a => angle a -> a
- dimAsin :: Floating a => a -> angle a
- dimAcos :: Floating a => a -> angle a
- dimAtan :: Floating a => a -> angle a
- dimLog :: RealFloat a => Complex a -> angle a
- dimExp :: RealFloat a => angle a -> Complex a
- dimFromPolar :: RealFloat a => a -> angle a -> Complex a
- dimToPolar :: RealFloat a => Complex a -> (a, angle a)
- piAngle :: Angle Double
- fraction_of_circle :: Rational -> Angle Double
- asinAngle :: Floating a => a -> Angle a
- acosAngle :: Floating a => a -> Angle a
- atanAngle :: Floating a => a -> Angle a
- sinAngle :: Floating a => Angle a -> a
- cosAngle :: Floating a => Angle a -> a
- tanAngle :: Floating a => Angle a -> a
- logAngle :: RealFloat a => Complex a -> Angle a
- expAngle :: Floating a => Angle a -> Complex a
- fromPolar :: (Unit u, Floating (Scalar u)) => u -> Angle (Scalar u) -> Complex u
- toPolar :: (LiteralUnit u, RealFloat (Scalar u)) => Complex u -> (u, Angle (Scalar u))
- newtype DegreesAngle a = Degrees {
- degrees :: a
- degreesAngle :: Floating a => DegreesAngle a -> Angle a
- angleDegrees :: Floating a => Angle a -> DegreesAngle a
- isoDegreesToAngle :: Floating a => DegreesAngle a :==: Angle a
- newtype SolidAngle a = Steradians {
- steradians :: a
- showUnit :: (Unit u, Show (Scalar u)) => u -> String
- readUnit :: (Unit u, Read (Scalar u)) => UnitName u -> ReadPrec u
- newtype Percentage a = Percentages {
- percentages :: a
- newtype Acceleration a = MetersPerSquareSecond {}
- newtype Velocity a = MetersPerSecond {
- metersPerSecond :: a
- newtype SquareLength a = SquareMeters {
- squaremeters :: a
- newtype CubicLength a = CubicMeters {
- cubicmeters :: a
- sqrt_length :: Floating a => SquareLength a -> Length a
- square_length :: Num a => Length a -> SquareLength a
- times_length :: Num a => Length a -> Length a -> SquareLength a
- newtype Length a = Meters {
- meters :: a
- newtype Mass a = Kilograms {
- kilograms :: a
- newtype Time a = Seconds {
- seconds :: a
- newtype Current a = Amperes {
- amperes :: a
- newtype DegreesFahrenheit a = DegreesFahrenheit {
- fahrenheits :: a
- newtype DegreesRankine a = DegreesRankine {
- rankines :: a
- newtype DegreesTemperature a = DegreesCelcius {
- celciuses :: a
- newtype Temperature a = DegreesKelvin {
- kelvins :: a
- isoCelciusToKelvin :: Fractional a => DegreesTemperature a :==: Temperature a
- celciusToKelvin :: Fractional a => DegreesTemperature a -> Temperature a
- kelvinToCelcius :: Fractional a => Temperature a -> DegreesTemperature a
- newtype Substance a = Moles {
- moles :: a
- newtype Intensity a = Candelas {
- candelas :: a
- newtype Frequency a = Hertzes {
- hertzes :: a
- newtype Force a = Newtons {
- newtons :: a
- newtype Torque a = NewtonMeters {
- newtonmeters :: a
- newtype Pressure a = Pascals {
- pascals :: a
- newtype Energy a = Joules {
- joules :: a
- newtype Power a = Watts {
- watts :: a
- newtype Charge a = Coulombs {
- coulombs :: a
- newtype Voltage a = Volts {
- volts :: a
- newtype Capacitance a = Farads {
- farads :: a
- newtype Resistance a = Ohms {
- ohms :: a
- newtype Conductance a = Siemenses {
- siemenses :: a
- newtype Flux a = Webers {
- webers :: a
- newtype FluxDensity a = Teslas {
- teslas :: a
- newtype Inductance a = Henrys {
- henrys :: a
- newtype LuminousFlux a = Lumens {
- lumens :: a
- newtype Illuminance a = Luxes {
- luxes :: a
- newtype Radioactivity a = Becquerels {
- becquerels :: a
- newtype AbsorbedDose a = Grays {
- grays :: a
- newtype EquivalentDose a = Sieverts {
- sieverts :: a
- newtype CatalyticActivity a = Katals {
- katals :: a
Documentation
type UnitName u = Scalar u -> u Source #
Notice that fromAmount
from Unit class
has type (Unit u) => UnitName u
.
However usually a concrete constructor of one of the newtypes is used as value.
(*%) :: (LiteralUnit u, LiteralUnit w, Num (Scalar u), Scalar u ~ Scalar w) => u -> w -> u :* w Source #
heterogeneous product respecting units
It may be necessary to use quantity
operation
to convert to run-time representation after using this, because the result type
accumulates new parts with each use without considering what the total
dimension of the result is. This can produce excessively complicated types, because
the type represents the structure of the expression rather than structure of
the result.
(/%) :: (Fractional (Scalar u), LiteralUnit u, LiteralUnit w, Scalar u ~ Scalar w) => u -> w -> u :/ w Source #
heterogeneous division respecting units.
These simply accumulate type information about the units.
It may be necessary to use quantity
operation
to convert to run-time representation after using this, because the result type
accumulates new parts with each use without considering what the total
dimension of the result is. This can produce excessively complicated types, because
the type represents the structure of the expression rather than the structure of
the result.
mapAmount2 :: LiteralUnit a => (Scalar a -> Scalar a -> Scalar a) -> a -> a -> a Source #
asUnit :: (MonadFail m, Show (Scalar u), Show u, LiteralUnit u, Fractional (Scalar u)) => Quantity (Scalar u) -> UnitName u -> m u Source #
quantity :: LiteralUnit u => u -> Quantity (Scalar u) Source #
Converts a compile-time checked dimensional unit to run-time checked version This often has the effect of reducing the complexity in types.
Constructors
QDivide | |
Fields
|
Instances
Constructors
QProduct | |
Fields
|
Instances
newtype Dimensionless a Source #
Constructors
Dimensionless | |
Fields
|
Instances
newtype Information a Source #
Constructors
Bits | |
Fields
|
Instances
newtype SoundLevel a Source #
Constructors
SoundAmplitude | |
Fields
|
Instances
Instances
Functor Angle Source # | |
DimensionalFloating Angle Source # | |
Defined in Math.Number.Units Methods halfRotation :: Angle Double Source # fullRotation :: Angle Double Source # fractionOfRotation :: Rational -> Angle Double Source # dimSin :: Floating a => Angle a -> a Source # dimCos :: Floating a => Angle a -> a Source # dimTan :: Floating a => Angle a -> a Source # dimAsin :: Floating a => a -> Angle a Source # dimAcos :: Floating a => a -> Angle a Source # dimAtan :: Floating a => a -> Angle a Source # dimLog :: RealFloat a => Complex a -> Angle a Source # dimExp :: RealFloat a => Angle a -> Complex a Source # dimFromPolar :: RealFloat a => a -> Angle a -> Complex a Source # dimToPolar :: RealFloat a => Complex a -> (a, Angle a) Source # | |
Data a => Data (Angle a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Angle a -> c (Angle a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Angle a) # toConstr :: Angle a -> Constr # dataTypeOf :: Angle a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Angle a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Angle a)) # gmapT :: (forall b. Data b => b -> b) -> Angle a -> Angle a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Angle a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Angle a -> r # gmapQ :: (forall d. Data d => d -> u) -> Angle a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Angle a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Angle a -> m (Angle a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Angle a -> m (Angle a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Angle a -> m (Angle a) # | |
Generic (Angle a) Source # | |
Num a => Num (Angle a) Source # | |
(Floating a, Read a, Show a) => Read (Angle a) Source # | |
Fractional a => Fractional (Angle a) Source # | |
(Show a, Num a) => Show (Angle a) Source # | |
Binary a => Binary (Angle a) Source # | |
Num a => NormedSpace (Angle a) Source # | |
Num a => VectorSpace (Angle a) Source # | |
(Num a, Show a) => LiteralUnit (Angle a) Source # | |
(Num a, Show a) => Unit (Angle a) Source # | |
Eq a => Eq (Angle a) Source # | |
Ord a => Ord (Angle a) Source # | |
type Rep (Angle a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Angle a) Source # | |
Defined in Math.Number.Units |
class Functor angle => DimensionalFloating angle where Source #
Minimal complete definition
fractionOfRotation, dimSin, dimCos, dimTan, dimAsin, dimAcos, dimAtan, dimLog, dimExp, dimFromPolar, dimToPolar
Methods
halfRotation :: angle Double Source #
fullRotation :: angle Double Source #
fractionOfRotation :: Rational -> angle Double Source #
dimSin :: Floating a => angle a -> a Source #
dimCos :: Floating a => angle a -> a Source #
dimTan :: Floating a => angle a -> a Source #
dimAsin :: Floating a => a -> angle a Source #
dimAcos :: Floating a => a -> angle a Source #
dimAtan :: Floating a => a -> angle a Source #
dimLog :: RealFloat a => Complex a -> angle a Source #
dimExp :: RealFloat a => angle a -> Complex a Source #
dimFromPolar :: RealFloat a => a -> angle a -> Complex a Source #
dimToPolar :: RealFloat a => Complex a -> (a, angle a) Source #
Instances
DimensionalFloating Angle Source # | |
Defined in Math.Number.Units Methods halfRotation :: Angle Double Source # fullRotation :: Angle Double Source # fractionOfRotation :: Rational -> Angle Double Source # dimSin :: Floating a => Angle a -> a Source # dimCos :: Floating a => Angle a -> a Source # dimTan :: Floating a => Angle a -> a Source # dimAsin :: Floating a => a -> Angle a Source # dimAcos :: Floating a => a -> Angle a Source # dimAtan :: Floating a => a -> Angle a Source # dimLog :: RealFloat a => Complex a -> Angle a Source # dimExp :: RealFloat a => Angle a -> Complex a Source # dimFromPolar :: RealFloat a => a -> Angle a -> Complex a Source # dimToPolar :: RealFloat a => Complex a -> (a, Angle a) Source # |
newtype DegreesAngle a Source #
Instances
degreesAngle :: Floating a => DegreesAngle a -> Angle a Source #
angleDegrees :: Floating a => Angle a -> DegreesAngle a Source #
isoDegreesToAngle :: Floating a => DegreesAngle a :==: Angle a Source #
newtype SolidAngle a Source #
Constructors
Steradians | |
Fields
|
Instances
newtype Percentage a Source #
Constructors
Percentages | |
Fields
|
Instances
newtype Acceleration a Source #
Constructors
MetersPerSquareSecond | |
Fields |
Instances
Constructors
MetersPerSecond | |
Fields
|
Instances
Data a => Data (Velocity a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Velocity a -> c (Velocity a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Velocity a) # toConstr :: Velocity a -> Constr # dataTypeOf :: Velocity a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Velocity a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Velocity a)) # gmapT :: (forall b. Data b => b -> b) -> Velocity a -> Velocity a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Velocity a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Velocity a -> r # gmapQ :: (forall d. Data d => d -> u) -> Velocity a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Velocity a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Velocity a -> m (Velocity a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Velocity a -> m (Velocity a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Velocity a -> m (Velocity a) # | |
Generic (Velocity a) Source # | |
(Show a, Num a, Read a) => Read (Velocity a) Source # | |
(Num a, Show a) => Show (Velocity a) Source # | |
Binary a => Binary (Velocity a) Source # | |
MetricSpace a => MetricSpace (Velocity a) Source # | |
Num a => NormedSpace (Velocity a) Source # | |
Num a => VectorSpace (Velocity a) Source # | |
(Show a, Num a) => LiteralUnit (Velocity a) Source # | |
(Num a, Show a) => Unit (Velocity a) Source # | |
Eq a => Eq (Velocity a) Source # | |
Ord a => Ord (Velocity a) Source # | |
type Rep (Velocity a) Source # | |
Defined in Math.Number.Units | |
type Distance (Velocity a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Velocity a) Source # | |
Defined in Math.Number.Units |
newtype SquareLength a Source #
Constructors
SquareMeters | |
Fields
|
Instances
newtype CubicLength a Source #
Constructors
CubicMeters | |
Fields
|
Instances
sqrt_length :: Floating a => SquareLength a -> Length a Source #
square_length :: Num a => Length a -> SquareLength a Source #
times_length :: Num a => Length a -> Length a -> SquareLength a Source #
Instances
Data a => Data (Length a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Length a -> c (Length a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Length a) # toConstr :: Length a -> Constr # dataTypeOf :: Length a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Length a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Length a)) # gmapT :: (forall b. Data b => b -> b) -> Length a -> Length a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Length a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Length a -> r # gmapQ :: (forall d. Data d => d -> u) -> Length a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Length a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Length a -> m (Length a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Length a -> m (Length a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Length a -> m (Length a) # | |
Generic (Length a) Source # | |
(Show a, Num a, Read a) => Read (Length a) Source # | |
(Num a, Show a) => Show (Length a) Source # | |
Binary a => Binary (Length a) Source # | |
MetricSpace a => MetricSpace (Length a) Source # | |
Num a => NormedSpace (Length a) Source # | |
Num a => VectorSpace (Length a) Source # | |
(Show a, Num a) => LiteralUnit (Length a) Source # | |
(Num a, Show a) => Unit (Length a) Source # | |
Eq a => Eq (Length a) Source # | |
Ord a => Ord (Length a) Source # | |
Defined in Math.Number.Units | |
type Rep (Length a) Source # | |
Defined in Math.Number.Units | |
type Distance (Length a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Length a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Mass a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Mass a -> c (Mass a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Mass a) # toConstr :: Mass a -> Constr # dataTypeOf :: Mass a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Mass a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Mass a)) # gmapT :: (forall b. Data b => b -> b) -> Mass a -> Mass a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Mass a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Mass a -> r # gmapQ :: (forall d. Data d => d -> u) -> Mass a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Mass a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Mass a -> m (Mass a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Mass a -> m (Mass a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Mass a -> m (Mass a) # | |
Generic (Mass a) Source # | |
(Show a, Num a, Read a) => Read (Mass a) Source # | |
(Num a, Show a) => Show (Mass a) Source # | |
Binary a => Binary (Mass a) Source # | |
MetricSpace a => MetricSpace (Mass a) Source # | |
Num a => NormedSpace (Mass a) Source # | |
Num a => VectorSpace (Mass a) Source # | |
(Show a, Num a) => LiteralUnit (Mass a) Source # | |
(Num a, Show a) => Unit (Mass a) Source # | |
Eq a => Eq (Mass a) Source # | |
Ord a => Ord (Mass a) Source # | |
type Rep (Mass a) Source # | |
Defined in Math.Number.Units | |
type Distance (Mass a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Mass a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Time a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Time a -> c (Time a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Time a) # toConstr :: Time a -> Constr # dataTypeOf :: Time a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Time a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Time a)) # gmapT :: (forall b. Data b => b -> b) -> Time a -> Time a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Time a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Time a -> r # gmapQ :: (forall d. Data d => d -> u) -> Time a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Time a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Time a -> m (Time a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Time a -> m (Time a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Time a -> m (Time a) # | |
Generic (Time a) Source # | |
(Show a, Num a, Read a) => Read (Time a) Source # | |
(Num a, Show a) => Show (Time a) Source # | |
Binary a => Binary (Time a) Source # | |
MetricSpace a => MetricSpace (Time a) Source # | |
Num a => NormedSpace (Time a) Source # | |
Num a => VectorSpace (Time a) Source # | |
(Show a, Num a) => LiteralUnit (Time a) Source # | |
(Num a, Show a) => Unit (Time a) Source # | |
Eq a => Eq (Time a) Source # | |
Ord a => Ord (Time a) Source # | |
type Rep (Time a) Source # | |
Defined in Math.Number.Units | |
type Distance (Time a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Time a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Current a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Current a -> c (Current a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Current a) # toConstr :: Current a -> Constr # dataTypeOf :: Current a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Current a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Current a)) # gmapT :: (forall b. Data b => b -> b) -> Current a -> Current a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Current a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Current a -> r # gmapQ :: (forall d. Data d => d -> u) -> Current a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Current a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Current a -> m (Current a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Current a -> m (Current a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Current a -> m (Current a) # | |
Generic (Current a) Source # | |
(Show a, Num a, Read a) => Read (Current a) Source # | |
(Num a, Show a) => Show (Current a) Source # | |
Binary a => Binary (Current a) Source # | |
MetricSpace a => MetricSpace (Current a) Source # | |
Num a => NormedSpace (Current a) Source # | |
Num a => VectorSpace (Current a) Source # | |
(Show a, Num a) => LiteralUnit (Current a) Source # | |
(Num a, Show a) => Unit (Current a) Source # | |
Eq a => Eq (Current a) Source # | |
Ord a => Ord (Current a) Source # | |
type Rep (Current a) Source # | |
Defined in Math.Number.Units | |
type Distance (Current a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Current a) Source # | |
Defined in Math.Number.Units |
newtype DegreesFahrenheit a Source #
Constructors
DegreesFahrenheit | |
Fields
|
Instances
newtype DegreesRankine a Source #
Constructors
DegreesRankine | |
Fields
|
Instances
newtype DegreesTemperature a Source #
Constructors
DegreesCelcius | |
Fields
|
Instances
newtype Temperature a Source #
Constructors
DegreesKelvin | |
Fields
|
Instances
isoCelciusToKelvin :: Fractional a => DegreesTemperature a :==: Temperature a Source #
celciusToKelvin :: Fractional a => DegreesTemperature a -> Temperature a Source #
kelvinToCelcius :: Fractional a => Temperature a -> DegreesTemperature a Source #
Instances
Data a => Data (Substance a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Substance a -> c (Substance a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Substance a) # toConstr :: Substance a -> Constr # dataTypeOf :: Substance a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Substance a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Substance a)) # gmapT :: (forall b. Data b => b -> b) -> Substance a -> Substance a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Substance a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Substance a -> r # gmapQ :: (forall d. Data d => d -> u) -> Substance a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Substance a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Substance a -> m (Substance a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Substance a -> m (Substance a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Substance a -> m (Substance a) # | |
Generic (Substance a) Source # | |
(Show a, Num a, Read a) => Read (Substance a) Source # | |
(Num a, Show a) => Show (Substance a) Source # | |
Binary a => Binary (Substance a) Source # | |
MetricSpace a => MetricSpace (Substance a) Source # | |
Num a => NormedSpace (Substance a) Source # | |
Num a => VectorSpace (Substance a) Source # | |
(Show a, Num a) => LiteralUnit (Substance a) Source # | |
(Num a, Show a) => Unit (Substance a) Source # | |
Eq a => Eq (Substance a) Source # | |
Ord a => Ord (Substance a) Source # | |
Defined in Math.Number.Units | |
type Rep (Substance a) Source # | |
Defined in Math.Number.Units | |
type Distance (Substance a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Substance a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Intensity a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Intensity a -> c (Intensity a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Intensity a) # toConstr :: Intensity a -> Constr # dataTypeOf :: Intensity a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Intensity a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Intensity a)) # gmapT :: (forall b. Data b => b -> b) -> Intensity a -> Intensity a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Intensity a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Intensity a -> r # gmapQ :: (forall d. Data d => d -> u) -> Intensity a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Intensity a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Intensity a -> m (Intensity a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Intensity a -> m (Intensity a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Intensity a -> m (Intensity a) # | |
Generic (Intensity a) Source # | |
(Show a, Num a, Read a) => Read (Intensity a) Source # | |
(Num a, Show a) => Show (Intensity a) Source # | |
Binary a => Binary (Intensity a) Source # | |
MetricSpace a => MetricSpace (Intensity a) Source # | |
Num a => NormedSpace (Intensity a) Source # | |
Num a => VectorSpace (Intensity a) Source # | |
(Show a, Num a) => LiteralUnit (Intensity a) Source # | |
(Num a, Show a) => Unit (Intensity a) Source # | |
Eq a => Eq (Intensity a) Source # | |
Ord a => Ord (Intensity a) Source # | |
Defined in Math.Number.Units | |
type Rep (Intensity a) Source # | |
Defined in Math.Number.Units | |
type Distance (Intensity a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Intensity a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Frequency a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Frequency a -> c (Frequency a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Frequency a) # toConstr :: Frequency a -> Constr # dataTypeOf :: Frequency a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Frequency a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Frequency a)) # gmapT :: (forall b. Data b => b -> b) -> Frequency a -> Frequency a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Frequency a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Frequency a -> r # gmapQ :: (forall d. Data d => d -> u) -> Frequency a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Frequency a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Frequency a -> m (Frequency a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Frequency a -> m (Frequency a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Frequency a -> m (Frequency a) # | |
Generic (Frequency a) Source # | |
(Show a, Num a, Read a) => Read (Frequency a) Source # | |
(Num a, Show a) => Show (Frequency a) Source # | |
Binary a => Binary (Frequency a) Source # | |
MetricSpace a => MetricSpace (Frequency a) Source # | |
Num a => NormedSpace (Frequency a) Source # | |
Num a => VectorSpace (Frequency a) Source # | |
(Show a, Num a) => LiteralUnit (Frequency a) Source # | |
(Num a, Show a) => Unit (Frequency a) Source # | |
Eq a => Eq (Frequency a) Source # | |
Ord a => Ord (Frequency a) Source # | |
Defined in Math.Number.Units | |
type Rep (Frequency a) Source # | |
Defined in Math.Number.Units | |
type Distance (Frequency a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Frequency a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Force a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Force a -> c (Force a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Force a) # toConstr :: Force a -> Constr # dataTypeOf :: Force a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Force a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Force a)) # gmapT :: (forall b. Data b => b -> b) -> Force a -> Force a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Force a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Force a -> r # gmapQ :: (forall d. Data d => d -> u) -> Force a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Force a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Force a -> m (Force a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Force a -> m (Force a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Force a -> m (Force a) # | |
Generic (Force a) Source # | |
(Show a, Num a, Read a) => Read (Force a) Source # | |
(Num a, Show a) => Show (Force a) Source # | |
Binary a => Binary (Force a) Source # | |
MetricSpace a => MetricSpace (Force a) Source # | |
Num a => NormedSpace (Force a) Source # | |
Num a => VectorSpace (Force a) Source # | |
(Show a, Num a) => LiteralUnit (Force a) Source # | |
(Num a, Show a) => Unit (Force a) Source # | |
Eq a => Eq (Force a) Source # | |
Ord a => Ord (Force a) Source # | |
type Rep (Force a) Source # | |
Defined in Math.Number.Units | |
type Distance (Force a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Force a) Source # | |
Defined in Math.Number.Units |
Constructors
NewtonMeters | |
Fields
|
Instances
Data a => Data (Torque a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Torque a -> c (Torque a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Torque a) # toConstr :: Torque a -> Constr # dataTypeOf :: Torque a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Torque a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Torque a)) # gmapT :: (forall b. Data b => b -> b) -> Torque a -> Torque a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Torque a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Torque a -> r # gmapQ :: (forall d. Data d => d -> u) -> Torque a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Torque a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Torque a -> m (Torque a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Torque a -> m (Torque a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Torque a -> m (Torque a) # | |
Generic (Torque a) Source # | |
(Show a, Num a, Read a) => Read (Torque a) Source # | |
(Num a, Show a) => Show (Torque a) Source # | |
Binary a => Binary (Torque a) Source # | |
MetricSpace a => MetricSpace (Torque a) Source # | |
Num a => NormedSpace (Torque a) Source # | |
Num a => VectorSpace (Torque a) Source # | |
(Show a, Num a) => LiteralUnit (Torque a) Source # | |
(Num a, Show a) => Unit (Torque a) Source # | |
Eq a => Eq (Torque a) Source # | |
Ord a => Ord (Torque a) Source # | |
Defined in Math.Number.Units | |
type Rep (Torque a) Source # | |
Defined in Math.Number.Units | |
type Distance (Torque a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Torque a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Pressure a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Pressure a -> c (Pressure a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Pressure a) # toConstr :: Pressure a -> Constr # dataTypeOf :: Pressure a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Pressure a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Pressure a)) # gmapT :: (forall b. Data b => b -> b) -> Pressure a -> Pressure a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pressure a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pressure a -> r # gmapQ :: (forall d. Data d => d -> u) -> Pressure a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Pressure a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pressure a -> m (Pressure a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pressure a -> m (Pressure a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pressure a -> m (Pressure a) # | |
Generic (Pressure a) Source # | |
(Show a, Num a, Read a) => Read (Pressure a) Source # | |
(Num a, Show a) => Show (Pressure a) Source # | |
Binary a => Binary (Pressure a) Source # | |
MetricSpace a => MetricSpace (Pressure a) Source # | |
Num a => NormedSpace (Pressure a) Source # | |
Num a => VectorSpace (Pressure a) Source # | |
(Show a, Num a) => LiteralUnit (Pressure a) Source # | |
(Num a, Show a) => Unit (Pressure a) Source # | |
Eq a => Eq (Pressure a) Source # | |
Ord a => Ord (Pressure a) Source # | |
type Rep (Pressure a) Source # | |
Defined in Math.Number.Units | |
type Distance (Pressure a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Pressure a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Energy a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Energy a -> c (Energy a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Energy a) # toConstr :: Energy a -> Constr # dataTypeOf :: Energy a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Energy a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Energy a)) # gmapT :: (forall b. Data b => b -> b) -> Energy a -> Energy a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Energy a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Energy a -> r # gmapQ :: (forall d. Data d => d -> u) -> Energy a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Energy a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Energy a -> m (Energy a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Energy a -> m (Energy a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Energy a -> m (Energy a) # | |
Generic (Energy a) Source # | |
(Show a, Num a, Read a) => Read (Energy a) Source # | |
(Num a, Show a) => Show (Energy a) Source # | |
Binary a => Binary (Energy a) Source # | |
MetricSpace a => MetricSpace (Energy a) Source # | |
Num a => NormedSpace (Energy a) Source # | |
Num a => VectorSpace (Energy a) Source # | |
(Show a, Num a) => LiteralUnit (Energy a) Source # | |
(Num a, Show a) => Unit (Energy a) Source # | |
Eq a => Eq (Energy a) Source # | |
Ord a => Ord (Energy a) Source # | |
Defined in Math.Number.Units | |
type Rep (Energy a) Source # | |
Defined in Math.Number.Units | |
type Distance (Energy a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Energy a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Power a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Power a -> c (Power a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Power a) # toConstr :: Power a -> Constr # dataTypeOf :: Power a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Power a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Power a)) # gmapT :: (forall b. Data b => b -> b) -> Power a -> Power a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Power a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Power a -> r # gmapQ :: (forall d. Data d => d -> u) -> Power a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Power a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Power a -> m (Power a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Power a -> m (Power a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Power a -> m (Power a) # | |
Generic (Power a) Source # | |
(Show a, Num a, Read a) => Read (Power a) Source # | |
(Num a, Show a) => Show (Power a) Source # | |
Binary a => Binary (Power a) Source # | |
MetricSpace a => MetricSpace (Power a) Source # | |
Num a => NormedSpace (Power a) Source # | |
Num a => VectorSpace (Power a) Source # | |
(Show a, Num a) => LiteralUnit (Power a) Source # | |
(Num a, Show a) => Unit (Power a) Source # | |
Eq a => Eq (Power a) Source # | |
Ord a => Ord (Power a) Source # | |
type Rep (Power a) Source # | |
Defined in Math.Number.Units | |
type Distance (Power a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Power a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Charge a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Charge a -> c (Charge a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Charge a) # toConstr :: Charge a -> Constr # dataTypeOf :: Charge a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Charge a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Charge a)) # gmapT :: (forall b. Data b => b -> b) -> Charge a -> Charge a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Charge a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Charge a -> r # gmapQ :: (forall d. Data d => d -> u) -> Charge a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Charge a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Charge a -> m (Charge a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Charge a -> m (Charge a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Charge a -> m (Charge a) # | |
Generic (Charge a) Source # | |
(Show a, Num a, Read a) => Read (Charge a) Source # | |
(Num a, Show a) => Show (Charge a) Source # | |
Binary a => Binary (Charge a) Source # | |
MetricSpace a => MetricSpace (Charge a) Source # | |
Num a => NormedSpace (Charge a) Source # | |
Num a => VectorSpace (Charge a) Source # | |
(Show a, Num a) => LiteralUnit (Charge a) Source # | |
(Num a, Show a) => Unit (Charge a) Source # | |
Eq a => Eq (Charge a) Source # | |
Ord a => Ord (Charge a) Source # | |
Defined in Math.Number.Units | |
type Rep (Charge a) Source # | |
Defined in Math.Number.Units | |
type Distance (Charge a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Charge a) Source # | |
Defined in Math.Number.Units |
Instances
Data a => Data (Voltage a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Voltage a -> c (Voltage a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Voltage a) # toConstr :: Voltage a -> Constr # dataTypeOf :: Voltage a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Voltage a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Voltage a)) # gmapT :: (forall b. Data b => b -> b) -> Voltage a -> Voltage a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Voltage a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Voltage a -> r # gmapQ :: (forall d. Data d => d -> u) -> Voltage a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Voltage a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Voltage a -> m (Voltage a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Voltage a -> m (Voltage a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Voltage a -> m (Voltage a) # | |
Generic (Voltage a) Source # | |
(Show a, Num a, Read a) => Read (Voltage a) Source # | |
(Num a, Show a) => Show (Voltage a) Source # | |
Binary a => Binary (Voltage a) Source # | |
MetricSpace a => MetricSpace (Voltage a) Source # | |
Num a => NormedSpace (Voltage a) Source # | |
Num a => VectorSpace (Voltage a) Source # | |
(Show a, Num a) => LiteralUnit (Voltage a) Source # | |
(Num a, Show a) => Unit (Voltage a) Source # | |
Eq a => Eq (Voltage a) Source # | |
Ord a => Ord (Voltage a) Source # | |
type Rep (Voltage a) Source # | |
Defined in Math.Number.Units | |
type Distance (Voltage a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Voltage a) Source # | |
Defined in Math.Number.Units |
newtype Capacitance a Source #
Instances
newtype Resistance a Source #
Instances
newtype Conductance a Source #
Instances
Instances
Data a => Data (Flux a) Source # | |
Defined in Math.Number.Units Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Flux a -> c (Flux a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Flux a) # toConstr :: Flux a -> Constr # dataTypeOf :: Flux a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Flux a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Flux a)) # gmapT :: (forall b. Data b => b -> b) -> Flux a -> Flux a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Flux a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Flux a -> r # gmapQ :: (forall d. Data d => d -> u) -> Flux a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Flux a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Flux a -> m (Flux a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Flux a -> m (Flux a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Flux a -> m (Flux a) # | |
Generic (Flux a) Source # | |
(Show a, Num a, Read a) => Read (Flux a) Source # | |
(Num a, Show a) => Show (Flux a) Source # | |
Binary a => Binary (Flux a) Source # | |
MetricSpace a => MetricSpace (Flux a) Source # | |
Num a => NormedSpace (Flux a) Source # | |
Num a => VectorSpace (Flux a) Source # | |
(Show a, Num a) => LiteralUnit (Flux a) Source # | |
(Num a, Show a) => Unit (Flux a) Source # | |
Eq a => Eq (Flux a) Source # | |
Ord a => Ord (Flux a) Source # | |
type Rep (Flux a) Source # | |
Defined in Math.Number.Units | |
type Distance (Flux a) Source # | |
Defined in Math.Number.Units | |
type Scalar (Flux a) Source # | |
Defined in Math.Number.Units |
newtype FluxDensity a Source #
Instances
newtype Inductance a Source #
Instances
newtype LuminousFlux a Source #
Instances
newtype Illuminance a Source #
Instances
newtype Radioactivity a Source #
Constructors
Becquerels | |
Fields
|
Instances
newtype AbsorbedDose a Source #
Instances
newtype EquivalentDose a Source #
Instances
newtype CatalyticActivity a Source #