convert-units-0: Arithmetic and type checked conversions between units.
Copyright(c) Alice Rixte 2025
LicenseBSD 3
Maintaineralice.rixte@u-bordeaux.fr
Stabilityunstable
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Data.Units.SI.Derived.Angle

Description

This module defines radians and steradians as derived dimensionless units.

See Data.Units.AngleSI for radians and steradians in an angle dimension `A`.

Synopsis

Documentation

type Angle = NormalizeDim (Length ./. Length) Source #

The angle derived dimension in SI. Equal to

NoDim

newtype Radian a Source #

An angle in radians.

Constructors

Radian a 

Instances

Instances details
IsUnit Radian Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Associated Types

type DimOf Radian 
Instance details

Defined in Data.Units.SI.Derived.Angle

ShowUnit Radian Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Associated Types

type ShowUnitType Radian 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Radian = 'Text "rad"

Methods

showsUnitPrec :: Int -> ShowS Source #

showUnit :: String Source #

prettysUnitPrec :: Int -> ShowS Source #

prettyUnit :: String Source #

Fractional a => ConversionFactor Radian a Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

factor :: a Source #

Fractional a => ConvertibleUnit Radian a Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Floating a => Floating (Radian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

pi :: Radian a

exp :: Radian a -> Radian a

log :: Radian a -> Radian a

sqrt :: Radian a -> Radian a

(**) :: Radian a -> Radian a -> Radian a

logBase :: Radian a -> Radian a -> Radian a

sin :: Radian a -> Radian a

cos :: Radian a -> Radian a

tan :: Radian a -> Radian a

asin :: Radian a -> Radian a

acos :: Radian a -> Radian a

atan :: Radian a -> Radian a

sinh :: Radian a -> Radian a

cosh :: Radian a -> Radian a

tanh :: Radian a -> Radian a

asinh :: Radian a -> Radian a

acosh :: Radian a -> Radian a

atanh :: Radian a -> Radian a

log1p :: Radian a -> Radian a

expm1 :: Radian a -> Radian a

log1pexp :: Radian a -> Radian a

log1mexp :: Radian a -> Radian a

RealFloat a => RealFloat (Radian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

floatRadix :: Radian a -> Integer

floatDigits :: Radian a -> Int

floatRange :: Radian a -> (Int, Int)

decodeFloat :: Radian a -> (Integer, Int)

encodeFloat :: Integer -> Int -> Radian a

exponent :: Radian a -> Int

significand :: Radian a -> Radian a

scaleFloat :: Int -> Radian a -> Radian a

isNaN :: Radian a -> Bool

isInfinite :: Radian a -> Bool

isDenormalized :: Radian a -> Bool

isNegativeZero :: Radian a -> Bool

isIEEE :: Radian a -> Bool

atan2 :: Radian a -> Radian a -> Radian a

Num a => Num (Radian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(+) :: Radian a -> Radian a -> Radian a

(-) :: Radian a -> Radian a -> Radian a

(*) :: Radian a -> Radian a -> Radian a

negate :: Radian a -> Radian a

abs :: Radian a -> Radian a

signum :: Radian a -> Radian a

fromInteger :: Integer -> Radian a

Fractional a => Fractional (Radian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(/) :: Radian a -> Radian a -> Radian a

recip :: Radian a -> Radian a

fromRational :: Rational -> Radian a

Real a => Real (Radian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

toRational :: Radian a -> Rational

RealFrac a => RealFrac (Radian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

properFraction :: Integral b => Radian a -> (b, Radian a)

truncate :: Integral b => Radian a -> b

round :: Integral b => Radian a -> b

ceiling :: Integral b => Radian a -> b

floor :: Integral b => Radian a -> b

Show a => Show (Radian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

showsPrec :: Int -> Radian a -> ShowS

show :: Radian a -> String

showList :: [Radian a] -> ShowS

Eq a => Eq (Radian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(==) :: Radian a -> Radian a -> Bool

(/=) :: Radian a -> Radian a -> Bool

Ord a => Ord (Radian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

compare :: Radian a -> Radian a -> Ordering

(<) :: Radian a -> Radian a -> Bool

(<=) :: Radian a -> Radian a -> Bool

(>) :: Radian a -> Radian a -> Bool

(>=) :: Radian a -> Radian a -> Bool

max :: Radian a -> Radian a -> Radian a

min :: Radian a -> Radian a -> Radian a

type DimOf Radian Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Radian Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Radian = 'Text "rad"

normalizeRadians :: (RealFrac a, Floating a) => Radian a -> Radian a Source #

Normalize an angle to the range ]-pi, pi]

type SolidAngle = NormalizeDim (Angle .^+ 2) Source #

The solid angle derived dimension in SI. Equal to

NoDim

newtype Steradian a Source #

A solid angle in steradians.

Constructors

Steradian a 

Instances

Instances details
IsUnit Steradian Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Associated Types

type DimOf Steradian 
Instance details

Defined in Data.Units.SI.Derived.Angle

ShowUnit Steradian Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Associated Types

type ShowUnitType Steradian 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

showsUnitPrec :: Int -> ShowS Source #

showUnit :: String Source #

prettysUnitPrec :: Int -> ShowS Source #

prettyUnit :: String Source #

Fractional a => ConversionFactor Steradian a Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

factor :: a Source #

Fractional a => ConvertibleUnit Steradian a Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Floating a => Floating (Steradian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

RealFloat a => RealFloat (Steradian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

floatRadix :: Steradian a -> Integer

floatDigits :: Steradian a -> Int

floatRange :: Steradian a -> (Int, Int)

decodeFloat :: Steradian a -> (Integer, Int)

encodeFloat :: Integer -> Int -> Steradian a

exponent :: Steradian a -> Int

significand :: Steradian a -> Steradian a

scaleFloat :: Int -> Steradian a -> Steradian a

isNaN :: Steradian a -> Bool

isInfinite :: Steradian a -> Bool

isDenormalized :: Steradian a -> Bool

isNegativeZero :: Steradian a -> Bool

isIEEE :: Steradian a -> Bool

atan2 :: Steradian a -> Steradian a -> Steradian a

Num a => Num (Steradian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Fractional a => Fractional (Steradian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(/) :: Steradian a -> Steradian a -> Steradian a

recip :: Steradian a -> Steradian a

fromRational :: Rational -> Steradian a

Real a => Real (Steradian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

toRational :: Steradian a -> Rational

RealFrac a => RealFrac (Steradian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

properFraction :: Integral b => Steradian a -> (b, Steradian a)

truncate :: Integral b => Steradian a -> b

round :: Integral b => Steradian a -> b

ceiling :: Integral b => Steradian a -> b

floor :: Integral b => Steradian a -> b

Show a => Show (Steradian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

showsPrec :: Int -> Steradian a -> ShowS

show :: Steradian a -> String

showList :: [Steradian a] -> ShowS

Eq a => Eq (Steradian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(==) :: Steradian a -> Steradian a -> Bool

(/=) :: Steradian a -> Steradian a -> Bool

Ord a => Ord (Steradian a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

compare :: Steradian a -> Steradian a -> Ordering

(<) :: Steradian a -> Steradian a -> Bool

(<=) :: Steradian a -> Steradian a -> Bool

(>) :: Steradian a -> Steradian a -> Bool

(>=) :: Steradian a -> Steradian a -> Bool

max :: Steradian a -> Steradian a -> Steradian a

min :: Steradian a -> Steradian a -> Steradian a

type DimOf Steradian Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Steradian Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

newtype Lumen a Source #

Luminous flux in lumens

Constructors

Lumen a 

Instances

Instances details
IsUnit Lumen Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Associated Types

type DimOf Lumen 
Instance details

Defined in Data.Units.SI.Derived.Angle

ShowUnit Lumen Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Associated Types

type ShowUnitType Lumen 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Lumen = 'Text "lm"

Methods

showsUnitPrec :: Int -> ShowS Source #

showUnit :: String Source #

prettysUnitPrec :: Int -> ShowS Source #

prettyUnit :: String Source #

Fractional a => ConversionFactor Lumen a Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

factor :: a Source #

Fractional a => ConvertibleUnit Lumen a Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Floating a => Floating (Lumen a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

pi :: Lumen a

exp :: Lumen a -> Lumen a

log :: Lumen a -> Lumen a

sqrt :: Lumen a -> Lumen a

(**) :: Lumen a -> Lumen a -> Lumen a

logBase :: Lumen a -> Lumen a -> Lumen a

sin :: Lumen a -> Lumen a

cos :: Lumen a -> Lumen a

tan :: Lumen a -> Lumen a

asin :: Lumen a -> Lumen a

acos :: Lumen a -> Lumen a

atan :: Lumen a -> Lumen a

sinh :: Lumen a -> Lumen a

cosh :: Lumen a -> Lumen a

tanh :: Lumen a -> Lumen a

asinh :: Lumen a -> Lumen a

acosh :: Lumen a -> Lumen a

atanh :: Lumen a -> Lumen a

log1p :: Lumen a -> Lumen a

expm1 :: Lumen a -> Lumen a

log1pexp :: Lumen a -> Lumen a

log1mexp :: Lumen a -> Lumen a

RealFloat a => RealFloat (Lumen a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

floatRadix :: Lumen a -> Integer

floatDigits :: Lumen a -> Int

floatRange :: Lumen a -> (Int, Int)

decodeFloat :: Lumen a -> (Integer, Int)

encodeFloat :: Integer -> Int -> Lumen a

exponent :: Lumen a -> Int

significand :: Lumen a -> Lumen a

scaleFloat :: Int -> Lumen a -> Lumen a

isNaN :: Lumen a -> Bool

isInfinite :: Lumen a -> Bool

isDenormalized :: Lumen a -> Bool

isNegativeZero :: Lumen a -> Bool

isIEEE :: Lumen a -> Bool

atan2 :: Lumen a -> Lumen a -> Lumen a

Num a => Num (Lumen a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(+) :: Lumen a -> Lumen a -> Lumen a

(-) :: Lumen a -> Lumen a -> Lumen a

(*) :: Lumen a -> Lumen a -> Lumen a

negate :: Lumen a -> Lumen a

abs :: Lumen a -> Lumen a

signum :: Lumen a -> Lumen a

fromInteger :: Integer -> Lumen a

Fractional a => Fractional (Lumen a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(/) :: Lumen a -> Lumen a -> Lumen a

recip :: Lumen a -> Lumen a

fromRational :: Rational -> Lumen a

Real a => Real (Lumen a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

toRational :: Lumen a -> Rational

RealFrac a => RealFrac (Lumen a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

properFraction :: Integral b => Lumen a -> (b, Lumen a)

truncate :: Integral b => Lumen a -> b

round :: Integral b => Lumen a -> b

ceiling :: Integral b => Lumen a -> b

floor :: Integral b => Lumen a -> b

Show a => Show (Lumen a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

showsPrec :: Int -> Lumen a -> ShowS

show :: Lumen a -> String

showList :: [Lumen a] -> ShowS

Eq a => Eq (Lumen a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(==) :: Lumen a -> Lumen a -> Bool

(/=) :: Lumen a -> Lumen a -> Bool

Ord a => Ord (Lumen a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

compare :: Lumen a -> Lumen a -> Ordering

(<) :: Lumen a -> Lumen a -> Bool

(<=) :: Lumen a -> Lumen a -> Bool

(>) :: Lumen a -> Lumen a -> Bool

(>=) :: Lumen a -> Lumen a -> Bool

max :: Lumen a -> Lumen a -> Lumen a

min :: Lumen a -> Lumen a -> Lumen a

type DimOf Lumen Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Lumen Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Lumen = 'Text "lm"

type Illuminance = NormalizeDim (LuminousFlux ./. Area) Source #

Illuminance quantity. Equal to

 Length.^-2 .*. LuminousIntensity

newtype Lux a Source #

Illuminance in lux

Constructors

Lux a 

Instances

Instances details
IsUnit Lux Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Associated Types

type DimOf Lux 
Instance details

Defined in Data.Units.SI.Derived.Angle

ShowUnit Lux Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Associated Types

type ShowUnitType Lux 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Lux = 'Text "lx"

Methods

showsUnitPrec :: Int -> ShowS Source #

showUnit :: String Source #

prettysUnitPrec :: Int -> ShowS Source #

prettyUnit :: String Source #

Fractional a => ConversionFactor Lux a Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

factor :: a Source #

Fractional a => ConvertibleUnit Lux a Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Floating a => Floating (Lux a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

pi :: Lux a

exp :: Lux a -> Lux a

log :: Lux a -> Lux a

sqrt :: Lux a -> Lux a

(**) :: Lux a -> Lux a -> Lux a

logBase :: Lux a -> Lux a -> Lux a

sin :: Lux a -> Lux a

cos :: Lux a -> Lux a

tan :: Lux a -> Lux a

asin :: Lux a -> Lux a

acos :: Lux a -> Lux a

atan :: Lux a -> Lux a

sinh :: Lux a -> Lux a

cosh :: Lux a -> Lux a

tanh :: Lux a -> Lux a

asinh :: Lux a -> Lux a

acosh :: Lux a -> Lux a

atanh :: Lux a -> Lux a

log1p :: Lux a -> Lux a

expm1 :: Lux a -> Lux a

log1pexp :: Lux a -> Lux a

log1mexp :: Lux a -> Lux a

RealFloat a => RealFloat (Lux a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

floatRadix :: Lux a -> Integer

floatDigits :: Lux a -> Int

floatRange :: Lux a -> (Int, Int)

decodeFloat :: Lux a -> (Integer, Int)

encodeFloat :: Integer -> Int -> Lux a

exponent :: Lux a -> Int

significand :: Lux a -> Lux a

scaleFloat :: Int -> Lux a -> Lux a

isNaN :: Lux a -> Bool

isInfinite :: Lux a -> Bool

isDenormalized :: Lux a -> Bool

isNegativeZero :: Lux a -> Bool

isIEEE :: Lux a -> Bool

atan2 :: Lux a -> Lux a -> Lux a

Num a => Num (Lux a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(+) :: Lux a -> Lux a -> Lux a

(-) :: Lux a -> Lux a -> Lux a

(*) :: Lux a -> Lux a -> Lux a

negate :: Lux a -> Lux a

abs :: Lux a -> Lux a

signum :: Lux a -> Lux a

fromInteger :: Integer -> Lux a

Fractional a => Fractional (Lux a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(/) :: Lux a -> Lux a -> Lux a

recip :: Lux a -> Lux a

fromRational :: Rational -> Lux a

Real a => Real (Lux a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

toRational :: Lux a -> Rational

RealFrac a => RealFrac (Lux a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

properFraction :: Integral b => Lux a -> (b, Lux a)

truncate :: Integral b => Lux a -> b

round :: Integral b => Lux a -> b

ceiling :: Integral b => Lux a -> b

floor :: Integral b => Lux a -> b

Show a => Show (Lux a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

showsPrec :: Int -> Lux a -> ShowS

show :: Lux a -> String

showList :: [Lux a] -> ShowS

Eq a => Eq (Lux a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

(==) :: Lux a -> Lux a -> Bool

(/=) :: Lux a -> Lux a -> Bool

Ord a => Ord (Lux a) Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

Methods

compare :: Lux a -> Lux a -> Ordering

(<) :: Lux a -> Lux a -> Bool

(<=) :: Lux a -> Lux a -> Bool

(>) :: Lux a -> Lux a -> Bool

(>=) :: Lux a -> Lux a -> Bool

max :: Lux a -> Lux a -> Lux a

min :: Lux a -> Lux a -> Lux a

type DimOf Lux Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Lux Source # 
Instance details

Defined in Data.Units.SI.Derived.Angle

type ShowUnitType Lux = 'Text "lx"