4
4
5
5
//! Module for working with multiple calendars at once
6
6
7
- use crate :: cal:: hijri:: HijriObservationalLocation ;
7
+ use crate :: cal:: hijri:: HijriSimulatedLocation ;
8
8
use crate :: cal:: iso:: IsoDateInner ;
9
9
use crate :: cal:: {
10
10
Buddhist , Chinese , Coptic , Dangi , Ethiopian , EthiopianEraStyle , Gregorian , Hebrew ,
11
- HijriObservational , HijriTabular , HijriUmmAlQura , Indian , Iso , Japanese , JapaneseExtended ,
12
- Persian , Roc ,
11
+ HijriSimulated , HijriTabular , HijriUmmAlQura , Indian , Iso , Japanese , JapaneseExtended , Persian ,
12
+ Roc ,
13
13
} ;
14
14
use crate :: error:: DateError ;
15
15
use crate :: { types, AsCalendar , Calendar , Date , DateDuration , DateDurationUnit , Ref } ;
@@ -93,8 +93,8 @@ pub enum AnyCalendar {
93
93
Indian ( Indian ) ,
94
94
/// A [`HijriTabular`], civil epoch calendar
95
95
HijriTabularCivil ( HijriTabular ) ,
96
- /// A [`HijriObservational `] calendar
97
- HijriObservational ( HijriObservational ) ,
96
+ /// A [`HijriSimulated `] calendar
97
+ HijriSimulated ( HijriSimulated ) ,
98
98
/// A [`HijriTabular`], astronomical epoch calendar
99
99
HijriTabularAstronomical ( HijriTabular ) ,
100
100
/// A [`HijriUmmAlQura`] calendar
@@ -134,8 +134,8 @@ pub enum AnyDateInner {
134
134
Indian ( <Indian as Calendar >:: DateInner ) ,
135
135
/// A date for a [`HijriTabular`], civil epoch calendar
136
136
HijriTabularCivil ( <HijriTabular as Calendar >:: DateInner ) ,
137
- /// A date for a [`HijriObservational `] calendar
138
- HijriObservational ( < HijriObservational as Calendar >:: DateInner ) ,
137
+ /// A date for a [`HijriSimulated `] calendar
138
+ HijriSimulated ( < HijriSimulated as Calendar >:: DateInner ) ,
139
139
/// A date for a [`HijriTabular`], astronomical epoch calendar
140
140
HijriTabularAstronomical ( <HijriTabular as Calendar >:: DateInner ) ,
141
141
/// A date for a [`HijriUmmAlQura`] calendar
@@ -168,8 +168,8 @@ macro_rules! match_cal_and_date {
168
168
& AnyDateInner :: HijriTabularCivil ( ref $date_matched) ,
169
169
) => $e,
170
170
(
171
- & Self :: HijriObservational ( ref $cal_matched) ,
172
- & AnyDateInner :: HijriObservational ( ref $date_matched) ,
171
+ & Self :: HijriSimulated ( ref $cal_matched) ,
172
+ & AnyDateInner :: HijriSimulated ( ref $date_matched) ,
173
173
) => $e,
174
174
(
175
175
& Self :: HijriTabularAstronomical ( ref $cal_matched) ,
@@ -207,7 +207,7 @@ macro_rules! match_cal {
207
207
& Self :: Gregorian ( ref $cal_matched) => AnyDateInner :: Gregorian ( $e) ,
208
208
& Self :: Hebrew ( ref $cal_matched) => AnyDateInner :: Hebrew ( $e) ,
209
209
& Self :: Indian ( ref $cal_matched) => AnyDateInner :: Indian ( $e) ,
210
- & Self :: HijriObservational ( ref $cal_matched) => AnyDateInner :: HijriObservational ( $e) ,
210
+ & Self :: HijriSimulated ( ref $cal_matched) => AnyDateInner :: HijriSimulated ( $e) ,
211
211
& Self :: HijriTabularCivil ( ref $cal_matched) => AnyDateInner :: HijriTabularCivil ( $e) ,
212
212
& Self :: HijriTabularAstronomical ( ref $cal_matched) => {
213
213
AnyDateInner :: HijriTabularAstronomical ( $e)
@@ -291,7 +291,7 @@ impl Calendar for AnyCalendar {
291
291
( Self :: HijriTabularCivil ( c) , AnyDateInner :: HijriTabularCivil ( ref mut d) ) => {
292
292
c. offset_date ( d, offset. cast_unit ( ) )
293
293
}
294
- ( Self :: HijriObservational ( c) , AnyDateInner :: HijriObservational ( ref mut d) ) => {
294
+ ( Self :: HijriSimulated ( c) , AnyDateInner :: HijriSimulated ( ref mut d) ) => {
295
295
c. offset_date ( d, offset. cast_unit ( ) )
296
296
}
297
297
(
@@ -404,10 +404,10 @@ impl Calendar for AnyCalendar {
404
404
. until ( d1, d2, c2, largest_unit, smallest_unit)
405
405
. cast_unit ( ) ,
406
406
(
407
- Self :: HijriObservational ( c1) ,
408
- Self :: HijriObservational ( c2) ,
409
- AnyDateInner :: HijriObservational ( d1) ,
410
- AnyDateInner :: HijriObservational ( d2) ,
407
+ Self :: HijriSimulated ( c1) ,
408
+ Self :: HijriSimulated ( c2) ,
409
+ AnyDateInner :: HijriSimulated ( d1) ,
410
+ AnyDateInner :: HijriSimulated ( d2) ,
411
411
) => c1
412
412
. until ( d1, d2, c2, largest_unit, smallest_unit)
413
413
. cast_unit ( ) ,
@@ -506,7 +506,7 @@ impl Calendar for AnyCalendar {
506
506
Self :: Hebrew ( _) => "AnyCalendar (Hebrew)" ,
507
507
Self :: Indian ( _) => "AnyCalendar (Indian)" ,
508
508
Self :: HijriTabularCivil ( _) => "AnyCalendar (Hijri, tabular, civil epoch)" ,
509
- Self :: HijriObservational ( _) => "AnyCalendar (Hijri, observational )" ,
509
+ Self :: HijriSimulated ( _) => "AnyCalendar (Hijri, simulated )" ,
510
510
Self :: HijriTabularAstronomical ( _) => "AnyCalendar (Hijri, tabular, astronomical epoch)" ,
511
511
Self :: HijriUmmAlQura ( _) => "AnyCalendar (Hijri, Umm al-Qura)" ,
512
512
Self :: Iso ( _) => "AnyCalendar (Iso)" ,
@@ -547,8 +547,8 @@ impl AnyCalendar {
547
547
AnyCalendarKind :: HijriTabularCivil => {
548
548
AnyCalendar :: HijriTabularCivil ( HijriTabular :: new_civil_epoch ( ) )
549
549
}
550
- AnyCalendarKind :: HijriObservationalMecca => {
551
- AnyCalendar :: HijriObservational ( HijriObservational :: new_mecca ( ) )
550
+ AnyCalendarKind :: HijriSimulatedMecca => {
551
+ AnyCalendar :: HijriSimulated ( HijriSimulated :: new_mecca ( ) )
552
552
}
553
553
AnyCalendarKind :: HijriTabularAstronomical => {
554
554
AnyCalendar :: HijriTabularAstronomical ( HijriTabular :: new_astronomical_epoch ( ) )
@@ -594,8 +594,8 @@ impl AnyCalendar {
594
594
AnyCalendarKind :: HijriTabularCivil => {
595
595
AnyCalendar :: HijriTabularCivil ( HijriTabular :: new_civil_epoch ( ) )
596
596
}
597
- AnyCalendarKind :: HijriObservationalMecca => AnyCalendar :: HijriObservational (
598
- HijriObservational :: try_new_mecca_with_buffer_provider ( provider) ?,
597
+ AnyCalendarKind :: HijriSimulatedMecca => AnyCalendar :: HijriSimulated (
598
+ HijriSimulated :: try_new_mecca_with_buffer_provider ( provider) ?,
599
599
) ,
600
600
AnyCalendarKind :: HijriTabularAstronomical => {
601
601
AnyCalendar :: HijriTabularAstronomical ( HijriTabular :: new_astronomical_epoch ( ) )
@@ -622,7 +622,7 @@ impl AnyCalendar {
622
622
+ DataProvider < crate :: provider:: CalendarJapaneseExtendedV1 >
623
623
+ DataProvider < crate :: provider:: CalendarChineseV1 >
624
624
+ DataProvider < crate :: provider:: CalendarDangiV1 >
625
- + DataProvider < crate :: provider:: CalendarHijriObservationalMeccaV1 >
625
+ + DataProvider < crate :: provider:: CalendarHijriSimulatedMeccaV1 >
626
626
+ DataProvider < crate :: provider:: CalendarHijriUmmalquraV1 >
627
627
+ ?Sized ,
628
628
{
@@ -643,9 +643,9 @@ impl AnyCalendar {
643
643
AnyCalendarKind :: HijriTabularCivil => {
644
644
AnyCalendar :: HijriTabularCivil ( HijriTabular :: new_civil_epoch ( ) )
645
645
}
646
- AnyCalendarKind :: HijriObservationalMecca => AnyCalendar :: HijriObservational (
647
- HijriObservational :: try_new_mecca_unstable ( provider) ?,
648
- ) ,
646
+ AnyCalendarKind :: HijriSimulatedMecca => {
647
+ AnyCalendar :: HijriSimulated ( HijriSimulated :: try_new_mecca_unstable ( provider) ?)
648
+ }
649
649
AnyCalendarKind :: HijriTabularAstronomical => {
650
650
AnyCalendar :: HijriTabularAstronomical ( HijriTabular :: new_astronomical_epoch ( ) )
651
651
}
@@ -676,7 +676,7 @@ impl AnyCalendar {
676
676
Self :: Hebrew ( _) => AnyCalendarKind :: Hebrew ,
677
677
Self :: Indian ( _) => AnyCalendarKind :: Indian ,
678
678
Self :: HijriTabularCivil ( _) => AnyCalendarKind :: HijriTabularCivil ,
679
- Self :: HijriObservational ( ref h) => IntoAnyCalendar :: kind ( h) ,
679
+ Self :: HijriSimulated ( ref h) => IntoAnyCalendar :: kind ( h) ,
680
680
Self :: HijriTabularAstronomical ( _) => AnyCalendarKind :: HijriTabularAstronomical ,
681
681
Self :: HijriUmmAlQura ( _) => AnyCalendarKind :: HijriUmmAlQura ,
682
682
Self :: Iso ( _) => AnyCalendarKind :: Iso ,
@@ -714,7 +714,7 @@ impl AnyDateInner {
714
714
AnyDateInner :: Hebrew ( _) => AnyCalendarKind :: Hebrew ,
715
715
AnyDateInner :: Indian ( _) => AnyCalendarKind :: Indian ,
716
716
AnyDateInner :: HijriTabularCivil ( _) => AnyCalendarKind :: HijriTabularCivil ,
717
- AnyDateInner :: HijriObservational ( _) => AnyCalendarKind :: HijriObservationalMecca ,
717
+ AnyDateInner :: HijriSimulated ( _) => AnyCalendarKind :: HijriSimulatedMecca ,
718
718
AnyDateInner :: HijriTabularAstronomical ( _) => AnyCalendarKind :: HijriTabularAstronomical ,
719
719
AnyDateInner :: HijriUmmAlQura ( _) => AnyCalendarKind :: HijriUmmAlQura ,
720
720
AnyDateInner :: Iso ( _) => AnyCalendarKind :: Iso ,
@@ -750,8 +750,8 @@ pub enum AnyCalendarKind {
750
750
Indian ,
751
751
/// The kind of an [`HijriTabular`], civil epoch calendar
752
752
HijriTabularCivil ,
753
- /// The kind of an [`HijriObservational `], Mecca calendar
754
- HijriObservationalMecca ,
753
+ /// The kind of an [`HijriSimulated `], Mecca calendar
754
+ HijriSimulatedMecca ,
755
755
/// The kind of an [`HijriTabular`], astronomical epoch calendar
756
756
HijriTabularAstronomical ,
757
757
/// The kind of an [`HijriUmmAlQura`] calendar
@@ -781,7 +781,7 @@ impl AnyCalendarKind {
781
781
} else if region == Some ( region ! ( "AF" ) ) || region == Some ( region ! ( "IR" ) ) {
782
782
AnyCalendarKind :: Persian
783
783
} else if region == Some ( region ! ( "SA" ) ) && algo == Some ( CalendarAlgorithm :: Hijri ( None ) ) {
784
- AnyCalendarKind :: HijriObservationalMecca
784
+ AnyCalendarKind :: HijriSimulatedMecca
785
785
} else {
786
786
AnyCalendarKind :: Gregorian
787
787
}
@@ -799,7 +799,7 @@ impl AnyCalendarKind {
799
799
AnyCalendarKind :: Hebrew => Hebrew . debug_name ( ) ,
800
800
AnyCalendarKind :: Indian => Indian . debug_name ( ) ,
801
801
AnyCalendarKind :: HijriTabularCivil => HijriTabular :: new_civil_epoch ( ) . debug_name ( ) ,
802
- AnyCalendarKind :: HijriObservationalMecca => HijriObservational :: DEBUG_NAME ,
802
+ AnyCalendarKind :: HijriSimulatedMecca => HijriSimulated :: DEBUG_NAME ,
803
803
AnyCalendarKind :: HijriTabularAstronomical => {
804
804
HijriTabular :: new_astronomical_epoch ( ) . debug_name ( )
805
805
}
@@ -833,9 +833,7 @@ impl TryFrom<CalendarAlgorithm> for AnyCalendarKind {
833
833
Ok ( AnyCalendarKind :: HijriTabularAstronomical )
834
834
}
835
835
Hijri ( Some ( HijriCalendarAlgorithm :: Civil ) ) => Ok ( AnyCalendarKind :: HijriTabularCivil ) ,
836
- Hijri ( Some ( HijriCalendarAlgorithm :: Rgsa ) ) => {
837
- Ok ( AnyCalendarKind :: HijriObservationalMecca )
838
- }
836
+ Hijri ( Some ( HijriCalendarAlgorithm :: Rgsa ) ) => Ok ( AnyCalendarKind :: HijriSimulatedMecca ) ,
839
837
Iso8601 => Ok ( AnyCalendarKind :: Iso ) ,
840
838
Japanese => Ok ( AnyCalendarKind :: Japanese ) ,
841
839
Persian => Ok ( AnyCalendarKind :: Persian ) ,
@@ -1247,41 +1245,41 @@ impl From<HijriTabular> for AnyCalendar {
1247
1245
}
1248
1246
}
1249
1247
1250
- impl IntoAnyCalendar for HijriObservational {
1248
+ impl IntoAnyCalendar for HijriSimulated {
1251
1249
#[ inline]
1252
1250
fn to_any ( self ) -> AnyCalendar {
1253
- AnyCalendar :: HijriObservational ( self )
1251
+ AnyCalendar :: HijriSimulated ( self )
1254
1252
}
1255
1253
#[ inline]
1256
1254
fn kind ( & self ) -> AnyCalendarKind {
1257
1255
match self . location {
1258
- HijriObservationalLocation :: Mecca => AnyCalendarKind :: HijriObservationalMecca ,
1256
+ HijriSimulatedLocation :: Mecca => AnyCalendarKind :: HijriSimulatedMecca ,
1259
1257
}
1260
1258
}
1261
1259
#[ inline]
1262
1260
fn from_any ( any : AnyCalendar ) -> Result < Self , AnyCalendar > {
1263
- if let AnyCalendar :: HijriObservational ( cal) = any {
1261
+ if let AnyCalendar :: HijriSimulated ( cal) = any {
1264
1262
Ok ( cal)
1265
1263
} else {
1266
1264
Err ( any)
1267
1265
}
1268
1266
}
1269
1267
#[ inline]
1270
1268
fn from_any_ref ( any : & AnyCalendar ) -> Option < & Self > {
1271
- if let AnyCalendar :: HijriObservational ( cal) = any {
1269
+ if let AnyCalendar :: HijriSimulated ( cal) = any {
1272
1270
Some ( cal)
1273
1271
} else {
1274
1272
None
1275
1273
}
1276
1274
}
1277
1275
#[ inline]
1278
1276
fn date_to_any ( & self , d : & Self :: DateInner ) -> AnyDateInner {
1279
- AnyDateInner :: HijriObservational ( * d)
1277
+ AnyDateInner :: HijriSimulated ( * d)
1280
1278
}
1281
1279
}
1282
1280
1283
- impl From < HijriObservational > for AnyCalendar {
1284
- fn from ( value : HijriObservational ) -> AnyCalendar {
1281
+ impl From < HijriSimulated > for AnyCalendar {
1282
+ fn from ( value : HijriSimulated ) -> AnyCalendar {
1285
1283
value. to_any ( )
1286
1284
}
1287
1285
}
@@ -1584,8 +1582,7 @@ mod tests {
1584
1582
let hebrew = AnyCalendar :: new ( AnyCalendarKind :: Hebrew ) ;
1585
1583
let indian = AnyCalendar :: new ( AnyCalendarKind :: Indian ) ;
1586
1584
let hijri_civil: AnyCalendar = AnyCalendar :: new ( AnyCalendarKind :: HijriTabularCivil ) ;
1587
- let hijri_observational: AnyCalendar =
1588
- AnyCalendar :: new ( AnyCalendarKind :: HijriObservationalMecca ) ;
1585
+ let hijri_simulated: AnyCalendar = AnyCalendar :: new ( AnyCalendarKind :: HijriSimulatedMecca ) ;
1589
1586
let hijri_astronomical: AnyCalendar =
1590
1587
AnyCalendar :: new ( AnyCalendarKind :: HijriTabularAstronomical ) ;
1591
1588
let hijri_umm_al_qura: AnyCalendar = AnyCalendar :: new ( AnyCalendarKind :: HijriUmmAlQura ) ;
@@ -1603,7 +1600,7 @@ mod tests {
1603
1600
let hebrew = Ref ( & hebrew) ;
1604
1601
let indian = Ref ( & indian) ;
1605
1602
let hijri_civil = Ref ( & hijri_civil) ;
1606
- let hijri_observational = Ref ( & hijri_observational ) ;
1603
+ let hijri_simulated = Ref ( & hijri_simulated ) ;
1607
1604
let hijri_astronomical = Ref ( & hijri_astronomical) ;
1608
1605
let hijri_umm_al_qura = Ref ( & hijri_umm_al_qura) ;
1609
1606
let japanese = Ref ( & japanese) ;
@@ -1903,11 +1900,11 @@ mod tests {
1903
1900
single_test_roundtrip ( roc, "roc-inverse" , 15 , "M01" , 10 ) ;
1904
1901
single_test_roundtrip ( roc, "roc" , 100 , "M10" , 30 ) ;
1905
1902
1906
- single_test_roundtrip ( hijri_observational , "ah" , 477 , "M03" , 1 ) ;
1907
- single_test_roundtrip ( hijri_observational , "ah" , 2083 , "M07" , 21 ) ;
1908
- single_test_roundtrip ( hijri_observational , "ah" , 1600 , "M12" , 20 ) ;
1903
+ single_test_roundtrip ( hijri_simulated , "ah" , 477 , "M03" , 1 ) ;
1904
+ single_test_roundtrip ( hijri_simulated , "ah" , 2083 , "M07" , 21 ) ;
1905
+ single_test_roundtrip ( hijri_simulated , "ah" , 1600 , "M12" , 20 ) ;
1909
1906
single_test_error (
1910
- hijri_observational ,
1907
+ hijri_simulated ,
1911
1908
"ah" ,
1912
1909
100 ,
1913
1910
"M9" ,
0 commit comments