{-# LINE 1 "./QuantLib/Internal/CalendarEnum.chs" #-}
{-# LANGUAGE TemplateHaskell, StandaloneDeriving #-}
{-# OPTIONS_GHC -Wno-unused-top-binds #-}
module QuantLib.Internal.CalendarEnum
(
mapCalendar
, CalendarConstructor(..)
, JointCalendarRule(..)
, readCalendarConstructorPlain
, mapDayCounter
, DayCounterConstructor(..)
, readDayCounterConstructorPlain
) where
import QuantLib.Internal.Syntax
import QuantLib.Internal.Type
import QuantLib.Time.Date(Weekday)
data JointCalendarRule = JoinHolidays
| JoinBusinessDays
deriving (Enum,Show,Eq,Read)
{-# LINE 23 "./QuantLib/Internal/CalendarEnum.chs" #-}
data CalendarCountry = Country__Argentina
| Country__Australia
| Country__Austria
| Country__Botswana
| Country__Brazil
| Country__Canada
| Country__China
| Country__CzechRepublic
| Country__Denmark
| Country__Finland
| Country__France
| Country__Germany
| Country__HongKong
| Country__Hungary
| Country__Iceland
| Country__India
| Country__Indonesia
| Country__Israel
| Country__Italy
| Country__Japan
| Country__Mexico
| Country__NewZealand
| Country__Norway
| Country__Null
| Country__Poland
| Country__Romania
| Country__Russia
| Country__SaudiArabia
| Country__Singapore
| Country__Slovakia
| Country__SouthAfrica
| Country__SouthKorea
| Country__Sweden
| Country__Switzerland
| Country__Taiwan
| Country__TARGET
| Country__Thailand
| Country__Turkey
| Country__Ukraine
| Country__UnitedKingdom
| Country__UnitedStates
| Country__WeekendsOnly
| Country__Chile
| Country__Croatia
| Country__Malta
| Country__Montenegro
| Country__NorthMacedonia
| Country__Serbia
| Country__Slovenia
| Country__Uzbekistan
deriving (Show,Eq,Read)
instance Enum CalendarCountry where
succ :: CalendarCountry -> CalendarCountry
succ CalendarCountry
Country__Argentina = CalendarCountry
Country__Australia
succ CalendarCountry
Country__Australia = CalendarCountry
Country__Austria
succ CalendarCountry
Country__Austria = CalendarCountry
Country__Botswana
succ CalendarCountry
Country__Botswana = CalendarCountry
Country__Brazil
succ CalendarCountry
Country__Brazil = CalendarCountry
Country__Canada
succ CalendarCountry
Country__Canada = CalendarCountry
Country__China
succ CalendarCountry
Country__China = CalendarCountry
Country__CzechRepublic
succ CalendarCountry
Country__CzechRepublic = CalendarCountry
Country__Denmark
succ CalendarCountry
Country__Denmark = CalendarCountry
Country__Finland
succ Country__Finland = Country__France
succ Country__France = Country__Germany
succ CalendarCountry
Country__Germany = CalendarCountry
Country__HongKong
succ Country__HongKong = Country__Hungary
succ CalendarCountry
Country__Hungary = CalendarCountry
Country__Iceland
succ CalendarCountry
Country__Iceland = CalendarCountry
Country__India
succ CalendarCountry
Country__India = CalendarCountry
Country__Indonesia
succ CalendarCountry
Country__Indonesia = CalendarCountry
Country__Israel
succ CalendarCountry
Country__Israel = CalendarCountry
Country__Italy
succ CalendarCountry
Country__Italy = CalendarCountry
Country__Japan
succ CalendarCountry
Country__Japan = CalendarCountry
Country__Mexico
succ CalendarCountry
Country__Mexico = CalendarCountry
Country__NewZealand
succ CalendarCountry
Country__NewZealand = CalendarCountry
Country__Norway
succ CalendarCountry
Country__Norway = CalendarCountry
Country__Null
succ CalendarCountry
Country__Null = CalendarCountry
Country__Poland
succ CalendarCountry
Country__Poland = CalendarCountry
Country__Romania
succ CalendarCountry
Country__Romania = CalendarCountry
Country__Russia
succ Country__Russia = CalendarCountry
Country__SaudiArabia
succ CalendarCountry
Country__SaudiArabia = CalendarCountry
Country__Singapore
succ CalendarCountry
Country__Singapore = CalendarCountry
Country__Slovakia
succ CalendarCountry
Country__Slovakia = CalendarCountry
Country__SouthAfrica
succ Country__SouthAfrica = CalendarCountry
Country__SouthKorea
succ Country__SouthKorea = CalendarCountry
Country__Sweden
succ Country__Sweden = CalendarCountry
Country__Switzerland
succ Country__Switzerland = CalendarCountry
Country__Taiwan
succ Country__Taiwan = CalendarCountry
Country__TARGET
succ Country__TARGET = CalendarCountry
Country__Thailand
succ Country__Thailand = CalendarCountry
Country__Turkey
succ Country__Turkey = CalendarCountry
Country__Ukraine
succ Country__Ukraine = CalendarCountry
Country__UnitedKingdom
succ Country__UnitedKingdom = CalendarCountry
Country__UnitedStates
succ CalendarCountry
Country__UnitedStates = CalendarCountry
Country__WeekendsOnly
succ CalendarCountry
Country__WeekendsOnly = CalendarCountry
Country__Chile
succ CalendarCountry
Country__Chile = CalendarCountry
Country__Croatia
succ CalendarCountry
Country__Croatia = CalendarCountry
Country__Malta
succ CalendarCountry
Country__Malta = CalendarCountry
Country__Montenegro
succ CalendarCountry
Country__Montenegro = CalendarCountry
Country__NorthMacedonia
succ CalendarCountry
Country__NorthMacedonia = CalendarCountry
Country__Serbia
succ CalendarCountry
Country__Serbia = CalendarCountry
Country__Slovenia
succ CalendarCountry
Country__Slovenia = CalendarCountry
Country__Uzbekistan
succ CalendarCountry
Country__Uzbekistan = String -> CalendarCountry
forall a. HasCallStack => String -> a
error String
"CalendarCountry.succ: Country__Uzbekistan has no successor"
pred :: CalendarCountry -> CalendarCountry
pred CalendarCountry
Country__Australia = CalendarCountry
Country__Argentina
pred CalendarCountry
Country__Austria = CalendarCountry
Country__Australia
pred CalendarCountry
Country__Botswana = CalendarCountry
Country__Austria
pred CalendarCountry
Country__Brazil = CalendarCountry
Country__Botswana
pred CalendarCountry
Country__Canada = CalendarCountry
Country__Brazil
pred CalendarCountry
Country__China = CalendarCountry
Country__Canada
pred CalendarCountry
Country__CzechRepublic = CalendarCountry
Country__China
pred CalendarCountry
Country__Denmark = CalendarCountry
Country__CzechRepublic
pred CalendarCountry
Country__Finland = CalendarCountry
Country__Denmark
pred CalendarCountry
Country__France = CalendarCountry
Country__Finland
pred CalendarCountry
Country__Germany = CalendarCountry
Country__France
pred CalendarCountry
Country__HongKong = CalendarCountry
Country__Germany
pred CalendarCountry
Country__Hungary = CalendarCountry
Country__HongKong
pred CalendarCountry
Country__Iceland = CalendarCountry
Country__Hungary
pred CalendarCountry
Country__India = CalendarCountry
Country__Iceland
pred CalendarCountry
Country__Indonesia = CalendarCountry
Country__India
pred CalendarCountry
Country__Israel = CalendarCountry
Country__Indonesia
pred CalendarCountry
Country__Italy = CalendarCountry
Country__Israel
pred CalendarCountry
Country__Japan = CalendarCountry
Country__Italy
pred CalendarCountry
Country__Mexico = CalendarCountry
Country__Japan
pred CalendarCountry
Country__NewZealand = CalendarCountry
Country__Mexico
pred CalendarCountry
Country__Norway = CalendarCountry
Country__NewZealand
pred CalendarCountry
Country__Null = CalendarCountry
Country__Norway
pred CalendarCountry
Country__Poland = CalendarCountry
Country__Null
pred CalendarCountry
Country__Romania = CalendarCountry
Country__Poland
pred CalendarCountry
Country__Russia = CalendarCountry
Country__Romania
pred CalendarCountry
Country__SaudiArabia = CalendarCountry
Country__Russia
pred CalendarCountry
Country__Singapore = CalendarCountry
Country__SaudiArabia
pred CalendarCountry
Country__Slovakia = CalendarCountry
Country__Singapore
pred CalendarCountry
Country__SouthAfrica = CalendarCountry
Country__Slovakia
pred CalendarCountry
Country__SouthKorea = CalendarCountry
Country__SouthAfrica
pred CalendarCountry
Country__Sweden = CalendarCountry
Country__SouthKorea
pred CalendarCountry
Country__Switzerland = CalendarCountry
Country__Sweden
pred CalendarCountry
Country__Taiwan = CalendarCountry
Country__Switzerland
pred CalendarCountry
Country__TARGET = CalendarCountry
Country__Taiwan
pred CalendarCountry
Country__Thailand = CalendarCountry
Country__TARGET
pred CalendarCountry
Country__Turkey = CalendarCountry
Country__Thailand
pred CalendarCountry
Country__Ukraine = CalendarCountry
Country__Turkey
pred CalendarCountry
Country__UnitedKingdom = CalendarCountry
Country__Ukraine
pred CalendarCountry
Country__UnitedStates = CalendarCountry
Country__UnitedKingdom
pred CalendarCountry
Country__WeekendsOnly = CalendarCountry
Country__UnitedStates
pred CalendarCountry
Country__Chile = CalendarCountry
Country__WeekendsOnly
pred CalendarCountry
Country__Croatia = CalendarCountry
Country__Chile
pred CalendarCountry
Country__Malta = CalendarCountry
Country__Croatia
pred CalendarCountry
Country__Montenegro = CalendarCountry
Country__Malta
pred CalendarCountry
Country__NorthMacedonia = CalendarCountry
Country__Montenegro
pred CalendarCountry
Country__Serbia = CalendarCountry
Country__NorthMacedonia
pred CalendarCountry
Country__Slovenia = CalendarCountry
Country__Serbia
pred CalendarCountry
Country__Uzbekistan = CalendarCountry
Country__Slovenia
pred CalendarCountry
Country__Argentina = String -> CalendarCountry
forall a. HasCallStack => String -> a
error String
"CalendarCountry.pred: Country__Argentina has no predecessor"
enumFromTo :: CalendarCountry -> CalendarCountry -> [CalendarCountry]
enumFromTo CalendarCountry
from CalendarCountry
to = CalendarCountry -> [CalendarCountry]
forall {t}. Enum t => t -> [t]
go CalendarCountry
from
where
end :: Int
end = CalendarCountry -> Int
forall a. Enum a => a -> Int
fromEnum CalendarCountry
to
go :: t -> [t]
go t
v = case Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
compare (t -> Int
forall a. Enum a => a -> Int
fromEnum t
v) Int
end of
Ordering
LT -> t
v t -> [t] -> [t]
forall a. a -> [a] -> [a]
: t -> [t]
go (t -> t
forall a. Enum a => a -> a
succ t
v)
Ordering
EQ -> [t
v]
Ordering
GT -> []
enumFrom :: CalendarCountry -> [CalendarCountry]
enumFrom CalendarCountry
from = CalendarCountry -> CalendarCountry -> [CalendarCountry]
forall a. Enum a => a -> a -> [a]
enumFromTo CalendarCountry
from CalendarCountry
Country__Uzbekistan
fromEnum :: CalendarCountry -> Int
fromEnum CalendarCountry
Country__Argentina = Int
0
fromEnum CalendarCountry
Country__Australia = Int
1
fromEnum CalendarCountry
Country__Austria = Int
2
fromEnum CalendarCountry
Country__Botswana = Int
3
fromEnum CalendarCountry
Country__Brazil = Int
4
fromEnum CalendarCountry
Country__Canada = Int
5
fromEnum CalendarCountry
Country__China = Int
6
fromEnum CalendarCountry
Country__CzechRepublic = Int
7
fromEnum CalendarCountry
Country__Denmark = Int
8
fromEnum CalendarCountry
Country__Finland = Int
9
fromEnum CalendarCountry
Country__France = Int
10
fromEnum CalendarCountry
Country__Germany = Int
11
fromEnum CalendarCountry
Country__HongKong = Int
12
fromEnum CalendarCountry
Country__Hungary = Int
13
fromEnum CalendarCountry
Country__Iceland = Int
14
fromEnum CalendarCountry
Country__India = Int
15
fromEnum CalendarCountry
Country__Indonesia = Int
16
fromEnum CalendarCountry
Country__Israel = Int
17
fromEnum CalendarCountry
Country__Italy = Int
18
fromEnum CalendarCountry
Country__Japan = Int
19
fromEnum CalendarCountry
Country__Mexico = Int
20
fromEnum CalendarCountry
Country__NewZealand = Int
21
fromEnum CalendarCountry
Country__Norway = Int
22
fromEnum CalendarCountry
Country__Null = Int
23
fromEnum CalendarCountry
Country__Poland = Int
24
fromEnum CalendarCountry
Country__Romania = Int
25
fromEnum CalendarCountry
Country__Russia = Int
26
fromEnum CalendarCountry
Country__SaudiArabia = Int
27
fromEnum CalendarCountry
Country__Singapore = Int
28
fromEnum CalendarCountry
Country__Slovakia = Int
29
fromEnum CalendarCountry
Country__SouthAfrica = Int
30
fromEnum CalendarCountry
Country__SouthKorea = Int
31
fromEnum CalendarCountry
Country__Sweden = Int
32
fromEnum CalendarCountry
Country__Switzerland = Int
33
fromEnum CalendarCountry
Country__Taiwan = Int
34
fromEnum CalendarCountry
Country__TARGET = Int
35
fromEnum CalendarCountry
Country__Thailand = Int
36
fromEnum CalendarCountry
Country__Turkey = Int
37
fromEnum CalendarCountry
Country__Ukraine = Int
38
fromEnum CalendarCountry
Country__UnitedKingdom = Int
39
fromEnum CalendarCountry
Country__UnitedStates = Int
40
fromEnum CalendarCountry
Country__WeekendsOnly = Int
41
fromEnum CalendarCountry
Country__Chile = Int
42
fromEnum CalendarCountry
Country__Croatia = Int
43
fromEnum CalendarCountry
Country__Malta = Int
44
fromEnum CalendarCountry
Country__Montenegro = Int
45
fromEnum CalendarCountry
Country__NorthMacedonia = Int
46
fromEnum CalendarCountry
Country__Serbia = Int
47
fromEnum CalendarCountry
Country__Slovenia = Int
48
fromEnum CalendarCountry
Country__Uzbekistan = Int
49
toEnum :: Int -> CalendarCountry
toEnum Int
0 = CalendarCountry
Country__Argentina
toEnum Int
1 = CalendarCountry
Country__Australia
toEnum Int
2 = CalendarCountry
Country__Austria
toEnum Int
3 = CalendarCountry
Country__Botswana
toEnum Int
4 = CalendarCountry
Country__Brazil
toEnum Int
5 = CalendarCountry
Country__Canada
toEnum Int
6 = CalendarCountry
Country__China
toEnum Int
7 = CalendarCountry
Country__CzechRepublic
toEnum Int
8 = CalendarCountry
Country__Denmark
toEnum Int
9 = CalendarCountry
Country__Finland
toEnum Int
10 = CalendarCountry
Country__France
toEnum Int
11 = CalendarCountry
Country__Germany
toEnum Int
12 = CalendarCountry
Country__HongKong
toEnum Int
13 = CalendarCountry
Country__Hungary
toEnum Int
14 = CalendarCountry
Country__Iceland
toEnum Int
15 = CalendarCountry
Country__India
toEnum Int
16 = CalendarCountry
Country__Indonesia
toEnum Int
17 = CalendarCountry
Country__Israel
toEnum Int
18 = CalendarCountry
Country__Italy
toEnum Int
19 = CalendarCountry
Country__Japan
toEnum Int
20 = CalendarCountry
Country__Mexico
toEnum Int
21 = CalendarCountry
Country__NewZealand
toEnum Int
22 = CalendarCountry
Country__Norway
toEnum Int
23 = CalendarCountry
Country__Null
toEnum Int
24 = CalendarCountry
Country__Poland
toEnum Int
25 = CalendarCountry
Country__Romania
toEnum Int
26 = CalendarCountry
Country__Russia
toEnum Int
27 = CalendarCountry
Country__SaudiArabia
toEnum Int
28 = CalendarCountry
Country__Singapore
toEnum Int
29 = CalendarCountry
Country__Slovakia
toEnum Int
30 = CalendarCountry
Country__SouthAfrica
toEnum Int
31 = CalendarCountry
Country__SouthKorea
toEnum Int
32 = CalendarCountry
Country__Sweden
toEnum Int
33 = CalendarCountry
Country__Switzerland
toEnum Int
34 = CalendarCountry
Country__Taiwan
toEnum Int
35 = CalendarCountry
Country__TARGET
toEnum Int
36 = CalendarCountry
Country__Thailand
toEnum Int
37 = CalendarCountry
Country__Turkey
toEnum Int
38 = CalendarCountry
Country__Ukraine
toEnum Int
39 = CalendarCountry
Country__UnitedKingdom
toEnum Int
40 = CalendarCountry
Country__UnitedStates
toEnum Int
41 = CalendarCountry
Country__WeekendsOnly
toEnum Int
42 = CalendarCountry
Country__Chile
toEnum Int
43 = CalendarCountry
Country__Croatia
toEnum Int
44 = CalendarCountry
Country__Malta
toEnum Int
45 = CalendarCountry
Country__Montenegro
toEnum Int
46 = CalendarCountry
Country__NorthMacedonia
toEnum Int
47 = CalendarCountry
Country__Serbia
toEnum Int
48 = CalendarCountry
Country__Slovenia
toEnum Int
49 = CalendarCountry
Country__Uzbekistan
toEnum Int
unmatched = String -> CalendarCountry
forall a. HasCallStack => String -> a
error (String
"CalendarCountry.toEnum: Cannot match " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
unmatched)
{-# LINE 24 "./QuantLib/Internal/CalendarEnum.chs" #-}
data AustriaMarket = Austria__Settlement
| Austria__Exchange
deriving (Enum,Show,Eq,Read)
{-# LINE 25 "./QuantLib/Internal/CalendarEnum.chs" #-}
data BrazilMarket = Brazil__Settlement
| Brazil__Exchange
deriving (Enum,Show,Eq,Read)
{-# LINE 26 "./QuantLib/Internal/CalendarEnum.chs" #-}
data CanadaMarket = Canada__Settlement
| Canada__TSX
deriving (Enum,Show,Eq,Read)
{-# LINE 27 "./QuantLib/Internal/CalendarEnum.chs" #-}
data ChinaMarket = China__SSE
| China__IB
deriving (Enum,Show,Eq,Read)
{-# LINE 28 "./QuantLib/Internal/CalendarEnum.chs" #-}
data FranceMarket = France__Settlement
| France__Exchange
deriving (Enum,Show,Eq,Read)
{-# LINE 29 "./QuantLib/Internal/CalendarEnum.chs" #-}
data GermanyMarket = Germany__Settlement
| Germany__FrankfurtStockExchange
| Germany__Xetra
| Germany__Eurex
| Germany__Euwax
deriving (Enum,Show,Eq,Read)
{-# LINE 30 "./QuantLib/Internal/CalendarEnum.chs" #-}
data IndonesiaMarket = Indonesia__BEJ
| Indonesia__JSX
| Indonesia__IDX
deriving (Enum,Show,Eq,Read)
{-# LINE 31 "./QuantLib/Internal/CalendarEnum.chs" #-}
data IsraelMarket = Israel__Settlement
| Israel__TASE
| Israel__SHIR
| Israel__Telbor
deriving (Enum,Show,Eq,Read)
{-# LINE 32 "./QuantLib/Internal/CalendarEnum.chs" #-}
data ItalyMarket = Italy__Settlement
| Italy__Exchange
deriving (Enum,Show,Eq,Read)
{-# LINE 33 "./QuantLib/Internal/CalendarEnum.chs" #-}
data RomaniaMarket = Romania__Public
| Romania__BVB
deriving (Enum,Show,Eq,Read)
{-# LINE 34 "./QuantLib/Internal/CalendarEnum.chs" #-}
data RussiaMarket = Russia__Settlement
| Russia__MOEX
deriving (Enum,Show,Eq,Read)
{-# LINE 35 "./QuantLib/Internal/CalendarEnum.chs" #-}
data SouthKoreaMarket = SouthKorea__Settlement
| SouthKorea__KRX
deriving (Enum,Show,Eq,Read)
{-# LINE 36 "./QuantLib/Internal/CalendarEnum.chs" #-}
data UnitedKingdomMarket = UnitedKingdom__Settlement
| UnitedKingdom__Exchange
| UnitedKingdom__Metals
deriving (Enum,Show,Eq,Read)
{-# LINE 37 "./QuantLib/Internal/CalendarEnum.chs" #-}
data UnitedStatesMarket = UnitedStates__Settlement
| UnitedStates__NYSE
| UnitedStates__GovernmentBond
| UnitedStates__NERC
| UnitedStates__LiborImpact
| UnitedStates__FederalReserve
| UnitedStates__SOFR
deriving (Enum,Show,Eq,Read)
{-# LINE 38 "./QuantLib/Internal/CalendarEnum.chs" #-}
data AustraliaMarket = Australia__Settlement
| Australia__ASX
deriving (Enum,Show,Eq,Read)
{-# LINE 39 "./QuantLib/Internal/CalendarEnum.chs" #-}
data NewZealandMarket = NewZealand__Wellington
| NewZealand__Auckland
deriving (Enum,Show,Eq,Read)
{-# LINE 40 "./QuantLib/Internal/CalendarEnum.chs" #-}
data PolandMarket = Poland__Settlement
| Poland__WSE
deriving (Enum,Show,Eq,Read)
{-# LINE 41 "./QuantLib/Internal/CalendarEnum.chs" #-}
data CalendarExtra =
Extra__Bespoke !String ![Weekday]
| Extra__Joint2 !Calendar !Calendar !JointCalendarRule
| Extra__Joint3 !Calendar !Calendar !Calendar !JointCalendarRule
| Extra__Joint4 !Calendar !Calendar !Calendar !Calendar !JointCalendarRule
$(deriveCrossEnum CrossEnumSpec
{ crossTypeName = "CalendarConstructor"
, crossMapperFn = "mapCalendar"
, crossMainEnum = ''CalendarCountry
, crossSubSuffix = "Market"
, crossExtraType = ''CalendarExtra
})
deriving instance Show CalendarConstructor
deriving instance Eq CalendarConstructor
$(deriveReadPlain "readCalendarConstructorPlain" ''CalendarConstructor)
data DayCounterType = DayCounter__Actual360
| DayCounter__Actual364
| DayCounter__Actual365Fixed
| DayCounter__ActualActual
| DayCounter__One
| DayCounter__Simple
| DayCounter__Thirty360
| DayCounter__Thirty365
| DayCounter__Actual36525
| DayCounter__Actual366
deriving (Show,Eq,Read)
instance Enum DayCounterType where
succ DayCounter__Actual360 = DayCounter__Actual364
succ DayCounter__Actual364 = DayCounter__Actual365Fixed
succ DayCounter__Actual365Fixed = DayCounter__ActualActual
succ DayCounter__ActualActual = DayCounter__One
succ DayCounter__One = DayCounter__Simple
succ DayCounter__Simple = DayCounter__Thirty360
succ DayCounter__Thirty360 = DayCounter__Thirty365
succ DayCounter__Thirty365 = DayCounter__Actual36525
succ DayCounter__Actual36525 = DayCounter__Actual366
succ DayCounter__Actual366 = error "DayCounterType.succ: DayCounter__Actual366 has no successor"
pred DayCounter__Actual364 = DayCounter__Actual360
pred DayCounter__Actual365Fixed = DayCounter__Actual364
pred DayCounter__ActualActual = DayCounter__Actual365Fixed
pred DayCounter__One = DayCounter__ActualActual
pred DayCounter__Simple = DayCounter__One
pred DayCounter__Thirty360 = DayCounter__Simple
pred DayCounter__Thirty365 = DayCounter__Thirty360
pred DayCounter__Actual36525 = DayCounter__Thirty365
pred DayCounter__Actual366 = DayCounter__Actual36525
pred DayCounter__Actual360 = error "DayCounterType.pred: DayCounter__Actual360 has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from DayCounter__Actual366
fromEnum DayCounter__Actual360 = 0
fromEnum DayCounter__Actual364 = 1
fromEnum DayCounter__Actual365Fixed = 2
fromEnum DayCounter__ActualActual = 3
fromEnum DayCounter__One = 4
fromEnum DayCounter__Simple = 5
fromEnum DayCounter__Thirty360 = 6
fromEnum DayCounter__Thirty365 = 7
fromEnum DayCounter__Actual36525 = 8
fromEnum DayCounter__Actual366 = 9
toEnum 0 = DayCounter__Actual360
toEnum 1 = DayCounter__Actual364
toEnum 2 = DayCounter__Actual365Fixed
toEnum 3 = DayCounter__ActualActual
toEnum 4 = DayCounter__One
toEnum 5 = DayCounter__Simple
toEnum 6 = DayCounter__Thirty360
toEnum 7 = DayCounter__Thirty365
toEnum 8 = DayCounter__Actual36525
toEnum 9 = DayCounter__Actual366
toEnum unmatched = error ("DayCounterType.toEnum: Cannot match " ++ show unmatched)
{-# LINE 62 "./QuantLib/Internal/CalendarEnum.chs" #-}
data ActualActualConvention = ActualActual__ISMA
| ActualActual__Bond
| ActualActual__ISDA
| ActualActual__Historical
| ActualActual__Actual365
| ActualActual__AFB
| ActualActual__Euro
deriving (Enum,Show,Eq,Read)
{-# LINE 63 "./QuantLib/Internal/CalendarEnum.chs" #-}
data Thirty360Convention = Thirty360__USA
| Thirty360__BondBasis
| Thirty360__European
| Thirty360__EurobondBasis
| Thirty360__Italian
| Thirty360__German
| Thirty360__ISMA
| Thirty360__ISDA
| Thirty360__NASD
deriving (Enum,Show,Eq,Read)
{-# LINE 64 "./QuantLib/Internal/CalendarEnum.chs" #-}
data Actual365FixedConvention = Actual365Fixed__Standard
| Actual365Fixed__Canadian
| Actual365Fixed__NoLeap
deriving (Enum,Show,Eq,Read)
{-# LINE 65 "./QuantLib/Internal/CalendarEnum.chs" #-}
type Actual360Convention = Bool
type Actual36525Convention = Bool
type Actual366Convention = Bool
data DayCounterExtra = Extra__Business252 !Calendar
| Extra__ActualActualBond' !Schedule
| Extra__ActualActualISMA' !Schedule
$(deriveCrossEnum CrossEnumSpec
{ crossTypeName = "DayCounterConstructor"
, crossMapperFn = "mapDayCounter"
, crossMainEnum = ''DayCounterType
, crossSubSuffix = "Convention"
, crossExtraType = ''DayCounterExtra
})
deriving instance Show DayCounterConstructor
deriving instance Eq DayCounterConstructor
$(deriveReadPlain "readDayCounterConstructorPlain" ''DayCounterConstructor)