Data-Angle-0.9: Geometric angles

Safe HaskellSafe
LanguageHaskell2010

Data.Angle

Synopsis

Documentation

newtype Angle a Source #

Constructors

Radians 

Fields

Instances

Functor Angle Source # 

Methods

fmap :: (a -> b) -> Angle a -> Angle b #

(<$) :: a -> Angle b -> Angle a #

Applicative Angle Source # 

Methods

pure :: a -> Angle a #

(<*>) :: Angle (a -> b) -> Angle a -> Angle b #

(*>) :: Angle a -> Angle b -> Angle b #

(<*) :: Angle a -> Angle b -> Angle a #

Eq a => Eq (Angle a) Source # 

Methods

(==) :: Angle a -> Angle a -> Bool #

(/=) :: Angle a -> Angle a -> Bool #

Show a => Show (Angle a) Source # 

Methods

showsPrec :: Int -> Angle a -> ShowS #

show :: Angle a -> String #

showList :: [Angle a] -> ShowS #

angleFromDegrees :: (Integral d, Floating r) => d -> Angle r Source #

Create an Angle with the given degrees

angleFromTurns :: (Real t, Floating r) => t -> Angle r Source #

Create an Angle with the given turns

angleFromRadians :: Floating r => r -> Angle r Source #

Create an Angle with the given turns

angleValueDegrees :: (Floating r, RealFrac r, Integral d) => Angle r -> d Source #

Get degrees from an angle

angleValueTurns :: Floating r => Angle r -> r Source #

Get turns from an angle

addAngle :: Floating a => Angle a -> Angle a -> Angle a Source #

Adding two angles

normAngle :: (Floating a, Real a) => Angle a -> Angle a Source #

Normalize Angle: transforming back to (0-2pi)

addAngleNorm :: (Floating a, Real a) => Angle a -> Angle a -> Angle a Source #

Add two angles and normalize the result

distAngle :: (Floating a, Real a) => Angle a -> Angle a -> Angle a Source #

Distance between two angles

flipAngle :: Floating a => Angle a -> Angle a Source #

Flip angle

flipAngleNorm :: (Floating a, Real a) => Angle a -> Angle a Source #

Flip angle and normalize the result

addAngleDegrees :: (Floating r, Integral d) => Angle r -> d -> Angle r Source #

Add degrees to angle

addAngleRadians :: Floating r => Angle r -> r -> Angle r Source #

Add radians to angle

addAngleTurns :: (Floating r, Real t) => Angle r -> t -> Angle r Source #

Add turns to angle

sinAngle :: Floating a => Angle a -> a Source #

Sine of the angle

cosAngle :: Floating a => Angle a -> a Source #

Cosine of the angle

tanAngle :: Floating a => Angle a -> a Source #

Tangent of the angle

cotAngle :: Floating a => Angle a -> a Source #

Cotangent of the angle

asinAngle :: Floating a => a -> Angle a Source #

Create angle from inverse sine

acosAngle :: Floating a => a -> Angle a Source #

Create angle from inverse cosine

atanAngle :: Floating a => a -> Angle a Source #

Create angle from inverse tangent

acotAngle :: Floating a => a -> Angle a Source #

Create angle from inverse cotangent

atan2Angle :: (Floating a, RealFloat a) => a -> a -> Angle a Source #

Create angle from atan2