Changeset 648
- Timestamp:
- 07/20/15 15:48:27 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/branchs/xios-1.0/src/duration.cpp
r612 r648 110 110 CDuration & CDuration::resolve(const CCalendar & c) 111 111 { 112 // Simplification de l'écriture des minutes. 113 second += modf(minute, &minute) * (float)c.getMinuteLength(); 114 minute += int(second)/c.getMinuteLength(); second = int(second)%c.getMinuteLength(); 112 // Convert year, day, hour and minute to integer 113 month += modf(year, &year) * c.getYearLength(); 114 hour += modf(day, &day) * c.getDayLength(); 115 minute += modf(hour , &hour) * c.getHourLength(); 116 second += modf(minute, &minute) * c.getMinuteLength(); 115 117 116 // Simplification de l'écriture des heures. 117 minute += modf(hour , &hour) * (float)c.getHourLength(); 118 hour += int(minute)/c.getHourLength(); minute = int(minute)%c.getHourLength(); 118 // Simplify second, minute, day and year 119 double remain; 120 remain = fmod(second, c.getMinuteLength()); 121 minute += (second - remain) / c.getMinuteLength(); 122 second = remain; 119 123 120 // Simplification de l'écriture des jours.121 hour += modf(day, &day) * (float)c.getDayLength();122 day += int(hour) /c.getDayLength(); hour = int(hour)%c.getDayLength();124 remain = fmod(minute, c.getHourLength()); 125 hour += (minute - remain) / c.getHourLength(); 126 minute = remain; 123 127 124 // > Aucune équivalence jour - mois fixée par avance. // 128 remain = fmod(hour, c.getDayLength()); 129 day += (hour - remain) / c.getDayLength(); 130 hour = remain; 125 131 126 // Simplification de l'écriture des années. 127 month += modf(year, &year) * (float)c.getYearLength(); 128 year += int(month) /c.getYearLength(); month = int(month)%c.getYearLength(); 129 return *this; 132 remain = fmod(month, c.getYearLength()); 133 year += (month - remain) / c.getYearLength(); 134 month = remain; 135 136 return *this; 130 137 } 131 138
Note: See TracChangeset
for help on using the changeset viewer.