swiss-ephemeris-1.2.1.1: Haskell bindings for the Swiss Ephemeris C library
Safe HaskellNone
LanguageHaskell2010

SwissEphemeris.Internal

Description

The types defined here are exported publicly for convenience, but at least in versions <= 2.x, they're likely to evolve.

Synopsis

Documentation

data Planet Source #

All bodies for which a position can be calculated. Covers planets in the solar system, points between the Earth and the Moon, and astrologically significant asteroids (currently, only Chiron, but ephemerides data is available for others.) More at 2.1 Planetary and lunar ephemerides and 3.2 bodies

Instances

Instances details
Enum Planet Source # 
Instance details

Defined in SwissEphemeris.Internal

Eq Planet Source # 
Instance details

Defined in SwissEphemeris.Internal

Methods

(==) :: Planet -> Planet -> Bool #

(/=) :: Planet -> Planet -> Bool #

Ord Planet Source # 
Instance details

Defined in SwissEphemeris.Internal

Show Planet Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic Planet Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep Planet :: Type -> Type #

Methods

from :: Planet -> Rep Planet x #

to :: Rep Planet x -> Planet #

type Rep Planet Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep Planet = D1 ('MetaData "Planet" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) ((((C1 ('MetaCons "Sun" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Moon" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Mercury" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Venus" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Mars" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Jupiter" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Saturn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Uranus" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "Neptune" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Pluto" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MeanNode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TrueNode" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MeanApog" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OscuApog" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Earth" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Chiron" 'PrefixI 'False) (U1 :: Type -> Type)))))

data HouseSystem Source #

The major house systems. The underlying library supports many more, including the 36-cusp outlier Gauquelin. More info at 6.2 Astrological house systems and 14. House cusp calculation

Instances

Instances details
Enum HouseSystem Source # 
Instance details

Defined in SwissEphemeris.Internal

Eq HouseSystem Source # 
Instance details

Defined in SwissEphemeris.Internal

Ord HouseSystem Source # 
Instance details

Defined in SwissEphemeris.Internal

Show HouseSystem Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic HouseSystem Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep HouseSystem :: Type -> Type #

type Rep HouseSystem Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep HouseSystem = D1 ('MetaData "HouseSystem" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) ((C1 ('MetaCons "Placidus" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Koch" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Porphyrius" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Regiomontanus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Campanus" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Equal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WholeSign" 'PrefixI 'False) (U1 :: Type -> Type))))

data ZodiacSignName Source #

Represents western zodiac signs. Unless otherwise stated, they correspond to tropical divisions of the ecliptic, vs. the actual constellations.

Instances

Instances details
Enum ZodiacSignName Source # 
Instance details

Defined in SwissEphemeris.Internal

Eq ZodiacSignName Source # 
Instance details

Defined in SwissEphemeris.Internal

Show ZodiacSignName Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic ZodiacSignName Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep ZodiacSignName :: Type -> Type #

type Rep ZodiacSignName Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep ZodiacSignName = D1 ('MetaData "ZodiacSignName" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) (((C1 ('MetaCons "Aries" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Taurus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gemini" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Cancer" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Leo" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Virgo" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Libra" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Scorpio" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sagittarius" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Capricorn" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Aquarius" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Pisces" 'PrefixI 'False) (U1 :: Type -> Type)))))

data NakshatraName Source #

Nakshatras, provided for thoroughness, please excuse any misspellings! List from: https://en.wikipedia.org/wiki/List_of_Nakshatras note that the underlying library uses 27 nakshatras, so Abhijit is omitted.

Instances

Instances details
Enum NakshatraName Source # 
Instance details

Defined in SwissEphemeris.Internal

Eq NakshatraName Source # 
Instance details

Defined in SwissEphemeris.Internal

Show NakshatraName Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic NakshatraName Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep NakshatraName :: Type -> Type #

type Rep NakshatraName Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep NakshatraName = D1 ('MetaData "NakshatraName" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) ((((C1 ('MetaCons "Ashvini" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Bharani" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Krittika" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Rohini" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Mrigashirsha" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ardra" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Punarvasu" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Pushya" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ashlesha" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Magha" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PurvaPhalghuni" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UttaraPhalguni" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Hasta" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Chitra" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Swati" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Vishakha" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Anuradha" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Jyeshtha" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Mula" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PurvaAshadha" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "UttaraAshadha" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Sravana" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Dhanishta" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Shatabhisha" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PurvaBhadrapada" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UttaraBhadrapada" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Revati" 'PrefixI 'False) (U1 :: Type -> Type))))))

data SplitDegreesOption Source #

Options to split a Double representing degrees: RoundSeconds -- round at the seconds granularity (omits seconds fraction.) RoundMinutes -- round at the minutes granularity. RoundDegrees -- round at the degrees granularity. SplitZodiacal -- relative to zodiac signs. SplitNakshatra -- relative to nakshatra. KeepSign -- when rounding, don't round if it'll move it to the next zodiac/nakshatra sector. KeepDegrees -- when rounding, don't round if it'll move it to the next degree.

Instances

Instances details
Enum SplitDegreesOption Source # 
Instance details

Defined in SwissEphemeris.Internal

Eq SplitDegreesOption Source # 
Instance details

Defined in SwissEphemeris.Internal

Show SplitDegreesOption Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic SplitDegreesOption Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep SplitDegreesOption :: Type -> Type #

type Rep SplitDegreesOption Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep SplitDegreesOption = D1 ('MetaData "SplitDegreesOption" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) ((C1 ('MetaCons "RoundSeconds" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RoundMinutes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RoundDegrees" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "SplitZodiacal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SplitNakshatra" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KeepSign" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KeepDegrees" 'PrefixI 'False) (U1 :: Type -> Type))))

newtype JulianTime Source #

Represents an instant in Julian time. see: 8. Date and time conversion functions also cf. julianDay

Constructors

JulianTime 

Fields

type HouseCusp = Double Source #

The cusp of a given "house" or "sector". It is an ecliptic longitude. see: 14.1 House cusp calculation and 6.2 Astrological house systems

data EclipticPosition Source #

Position data for a celestial body on the ecliptic, includes rotational speeds. see: 3.4 Position and speed

Instances

Instances details
Eq EclipticPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Show EclipticPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic EclipticPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep EclipticPosition :: Type -> Type #

type Rep EclipticPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

data GeographicPosition Source #

Represents a point on Earth, with negative values for latitude meaning South, and negative values for longitude meaning West. No speed information is included (or needed,) because all calculations are geocentric.

Constructors

GeographicPosition 

Fields

Instances

Instances details
Eq GeographicPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Show GeographicPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic GeographicPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep GeographicPosition :: Type -> Type #

type Rep GeographicPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep GeographicPosition = D1 ('MetaData "GeographicPosition" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) (C1 ('MetaCons "GeographicPosition" 'PrefixI 'True) (S1 ('MetaSel ('Just "geoLat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "geoLng") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))

data EquatorialPosition Source #

Represents a position on the celestial sphere, with speed information included.

Instances

Instances details
Eq EquatorialPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Show EquatorialPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic EquatorialPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep EquatorialPosition :: Type -> Type #

type Rep EquatorialPosition Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep EquatorialPosition = D1 ('MetaData "EquatorialPosition" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) (C1 ('MetaCons "EquatorialPosition" 'PrefixI 'True) ((S1 ('MetaSel ('Just "rightAscension") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "declination") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "eqDistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double))) :*: (S1 ('MetaSel ('Just "ascensionSpeed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "declinationSpeed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "eqDistanceSpeed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))))

data ObliquityInformation Source #

Includes the obliquity of the ecliptic, the Nutation as longitude as well as mean values.

Instances

Instances details
Eq ObliquityInformation Source # 
Instance details

Defined in SwissEphemeris.Internal

Show ObliquityInformation Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic ObliquityInformation Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep ObliquityInformation :: Type -> Type #

type Rep ObliquityInformation Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep ObliquityInformation = D1 ('MetaData "ObliquityInformation" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) (C1 ('MetaCons "ObliquityInformation" 'PrefixI 'True) ((S1 ('MetaSel ('Just "eclipticObliquity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "eclipticMeanObliquity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)) :*: (S1 ('MetaSel ('Just "nutationLongitude") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "nutationObliquity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double))))

data HousePosition Source #

The house a celestial body is in.

Instances

Instances details
Eq HousePosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Show HousePosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic HousePosition Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep HousePosition :: Type -> Type #

type Rep HousePosition Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep HousePosition = D1 ('MetaData "HousePosition" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) (C1 ('MetaCons "HousePosition" 'PrefixI 'True) (S1 ('MetaSel ('Just "houseNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "houseCuspDistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))

data Angles Source #

Relevant angles: ascendant and MC, plus other "exotic" ones: 14. House cusp calculation

Instances

Instances details
Eq Angles Source # 
Instance details

Defined in SwissEphemeris.Internal

Methods

(==) :: Angles -> Angles -> Bool #

(/=) :: Angles -> Angles -> Bool #

Show Angles Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic Angles Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep Angles :: Type -> Type #

Methods

from :: Angles -> Rep Angles x #

to :: Rep Angles x -> Angles #

type Rep Angles Source # 
Instance details

Defined in SwissEphemeris.Internal

data CuspsCalculation Source #

Result of calculating the cusps for a given event; will include a list of cusps (most systems use 12 cusps, Gauquelin uses 36.)

Instances

Instances details
Eq CuspsCalculation Source # 
Instance details

Defined in SwissEphemeris.Internal

Show CuspsCalculation Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic CuspsCalculation Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep CuspsCalculation :: Type -> Type #

type Rep CuspsCalculation Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep CuspsCalculation = D1 ('MetaData "CuspsCalculation" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) (C1 ('MetaCons "CuspsCalculation" 'PrefixI 'True) (S1 ('MetaSel ('Just "houseCusps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [HouseCusp]) :*: (S1 ('MetaSel ('Just "angles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Angles) :*: S1 ('MetaSel ('Just "systemUsed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HouseSystem))))

data LongitudeComponents Source #

A longitude expressed in its constituent parts.

Instances

Instances details
Eq LongitudeComponents Source # 
Instance details

Defined in SwissEphemeris.Internal

Show LongitudeComponents Source # 
Instance details

Defined in SwissEphemeris.Internal

Generic LongitudeComponents Source # 
Instance details

Defined in SwissEphemeris.Internal

Associated Types

type Rep LongitudeComponents :: Type -> Type #

type Rep LongitudeComponents Source # 
Instance details

Defined in SwissEphemeris.Internal

type Rep LongitudeComponents = D1 ('MetaData "LongitudeComponents" "SwissEphemeris.Internal" "swiss-ephemeris-1.2.1.1-99WGKB5wR11Akm10wzfMqP" 'False) (C1 ('MetaCons "LongitudeComponents" 'PrefixI 'True) ((S1 ('MetaSel ('Just "longitudeZodiacSign") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ZodiacSignName)) :*: (S1 ('MetaSel ('Just "longitudeDegrees") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "longitudeMinutes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))) :*: ((S1 ('MetaSel ('Just "longitudeSeconds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "longitudeSecondsFraction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)) :*: (S1 ('MetaSel ('Just "longitudeSignum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "longitudeNakshatra") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NakshatraName))))))

defaultSplitDegreesOptions :: [SplitDegreesOption] Source #

Convenient defaults when using splitDegrees: Omit rounding if it would bring it over the next sign or degree.