3
3
static DayTime Sidereal::calculateByGPS (TinyGPSPlus* gps){
4
4
DayTime timeUTC = DayTime (gps->time .hour (), gps->time .minute (), gps->time .second ());
5
5
int deltaJd = calculateDeltaJd (gps->date .year (), gps->date .month (), gps->date .day ());
6
- float deltaJ = ( float ) deltaJd + ((timeUTC.getTotalHours ()) / 24.0 );
7
- return DayTime ((float ) (calculateTheta (deltaJ, ( float ) gps->location .lng (), timeUTC.getTotalHours ()) / 15.0 ));
6
+ double deltaJ = deltaJd + ((timeUTC.getTotalHours ()) / 24.0 );
7
+ return DayTime ((float )(calculateTheta (deltaJ, gps->location .lng (), timeUTC.getTotalHours ()) / 15.0 ));
8
8
}
9
9
10
- static const float Sidereal::calculateTheta (float deltaJ, float longitude, float timeUTC){
10
+ static const double Sidereal::calculateTheta (double deltaJ, double longitude, float timeUTC){
11
11
float theta = C1;
12
12
theta += C2 * deltaJ;
13
13
theta += C3 * timeUTC;
@@ -20,10 +20,14 @@ static const int Sidereal::calculateDeltaJd(int year, int month, int day){
20
20
21
21
// Calculating days without leapdays
22
22
long int deltaJd = (year - REFERENCE_JEAR) * 365 + day;
23
- for (int i=0 ; i < month - 1 ; i++){deltaJd += daysInMonth[i];}
23
+ for (int i=0 ; i < month - 1 ; i++){
24
+ deltaJd += daysInMonth[i];
25
+ }
24
26
25
27
// Add leapdays
26
- if (month <= 2 ){year--;}
28
+ if (month <= 2 ){
29
+ year--;
30
+ }
27
31
deltaJd += (year / 4 - year / 100 + year / 400 );
28
32
deltaJd -= (REFERENCE_JEAR / 4 - REFERENCE_JEAR / 100 + REFERENCE_JEAR / 400 );
29
33
return deltaJd;
0 commit comments