Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.8 - support 1-minute resolution for all Extended timezones and most Basic timezones #19

Merged
merged 45 commits into from
Aug 19, 2019

Conversation

bxparks
Copy link
Owner

@bxparks bxparks commented Aug 19, 2019

  • 0.8
    • Handle Fri<=1 correctly in various python scripts. (correctly handle Fri<=1 expressions in TZ database #17)
    • Improve resolution of zonedb files and ZoneProcessor classes. (improve STDOFF and DST offsets to handle one minute resolution  #18)
      • Both BasicZoneProcessor and ExtendedZoneProcessor support 1-minute
        resolutions for the AT and UNTIL fields.
      • BasicZoneProcessor (and zonedb files) support a 15-minute resolution
        for both STDOFF and DST offset fields.
      • ExtendedZoneProcessor (and zonedbx files) support one-minute
        resolution for STDOFF field and 15-minute resolution for DST offset
        (with a range of -01:00 to 02:45). (4 bits of the deltaCode
        field were given to the offsetCode field to give it the
        1-minute resolution.)
      • Regenerate zonedbx using 1-minute resolution.
    • Fix broken BasicZoneProcessor on some timezones between 1975 and
      2000. Did not handle transitions from fixed ZoneEra (RULES='-') to named
      ZoneEra (RULES=reference) or vise versa. Verified against pytz and
      Hinnant date from 1975 to 2050.

…Code; WorldClock flash actually goes down 20 bytes (#18)
…sic:: and extended::, prep for different implementations (#18)
…coded offsetCode and deltaCode; matches Hinnant date from 1972 to 2050 (#18)
…ghres encoding that supports 1-minute resolution (#18)
…d/ database, all timezones, year [1975, 2050), 1-minute resolution (#18)
…y in Makefiles; use --scope to autoselect --at_until_granularity and --offset_granularity
… print the debugging BasicZoneProcessor.log()
…int8_t) instead of year (int16_t), simpler and saves 60 bytes for WorldClock
…ay, reducing special cases; add Transition.month to represent fixed ZoneEra; saves 140 bytes for WorldClock
…a is different before adding latest prior transition; matches Hinnant date and pytz from 1975-2050
… and HardwareTemperature has no hardware dependency
…creases by 14 bytes, ExtendedZoneProcessor by 20 bytes due to higher 1-minute resolution
…numbers for 1-minute resolution (decreases memory by 80-200, prob due to changing to yearTiny calculations
@bxparks bxparks merged commit 5f6d640 into master Aug 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant