summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* merge sebres-trunk-timeratesebres2017-02-093-16/+31
|\
| * [win] accomplished winTime module using very fast wide clicks, with ↵sebres2017-02-091-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | denominator scale to/from microseconds, and therefore more precise "timerate" results under windows (using similar mechanisms as by Mac OSX). Especially multi-threaded, because it works without lock opposite to microseconds (that use crictical section, because of the calibration thread). The reason for usage of wide clicks instead microseconds explains following example (shows 20% performance deference): % timerate -calibrate {} % timerate {clock microseconds} 5000 0.297037 µs/# 14465901 # 3366585 #/sec 4296.906 nett-ms % timerate {clock clicks} 5000 0.247797 µs/# 16869084 # 4035554 #/sec 4180.116 nett-ms
| * [timerate] bug fix: missing scale conversion by Mac OSX on platform where ↵sebres2017-02-093-15/+34
| | | | | | | | | | | | | | high resolution clicks are not microseconds based; [win] use high resolution timer for the wide clicks and microseconds directly, prevent several forwards/backwards conversions; [win, unix, mac-osx] normalize some functions for common usage in different time units (clicks, micro- and nanoseconds)
| * resolve warning: enumeration value ‘TMRT_LAST’ not handled in switch ↵sebres2017-02-091-1/+1
| | | | | | | | (impossible to handle in switch because of break);
* | merge trunksebres2017-01-133-37/+41
|\ \
| * | Use more Tcl_AppendResult(), in order to prevent the use of a (char *) type ↵jan.nijtmans2017-01-111-28/+28
| | | | | | | | | | | | case.
| * | Merge core-8-6-branch. jan.nijtmans2017-01-113-31/+35
| |\ \ | | | | | | | | | | | | Do gcc-compiles with the option -Wwrite-strings, so we can detect mis-usage of "const". Make Tcl_AddErrorInfo() and Tcl_AddObjErrorInfo() a macro.
| | * \ Merge-mark core-8-5-branch. jan.nijtmans2017-01-111-1/+0
| | |\ \ | | | | | | | | | | Remove useless #undef.
* | | | | code review and inline documentationsebres2017-01-112-27/+323
| | | | |
* | | | | small amend (reset have rel flag)sebres2017-01-101-0/+2
| | | | |
* | | | | "clock add" rewritten in C, using common functionality of "clock scan" (and ↵sebres2017-01-102-232/+505
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | freescan)... test-performance.tcl: test cases extended to cover "clock add"
* | | | | code review and inline documentationsebres2017-01-106-26/+288
| | | | |
* | | | | [unix] resolving of several warnings (gcc 5.x):sebres2017-01-104-25/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - static used in non-static inline function; - x64 int cast on pointer [-Wpointer-to-int-cast]; - (obscure) may be used uninitialized in this function [-Wmaybe-uninitialized]; - TclEnvEpoch initialized and declared extern;
* | | | | Merge remote-tracking branch 'remotes/fossil/trunk' into ↵sebres2017-01-103-20/+35
| | | | | | | | | | | | | | | | | | | | sb/trunk-rewrite-clock-in-c; + minor fixes after merge.
* | | | | [unix] build for *nix fixed, code clean-ups; missing declarations; unused ↵sebres2017-01-107-74/+75
| | | | | | | | | | | | | | | | | | | | vars, functions etc; types normalization;
* | | | | dict: unused variable removedsebres2017-01-101-1/+0
| | | | |
* | | | | another way to make greedy search more precise, some greedy matches are ↵sebres2017-01-102-90/+190
| | | | | | | | | | | | | | | | | | | | fixed (see test cases clock-6.22.11 - clock-6.22.20), additionally involving look ahead token of known type into pre-search process.
* | | | | some greedy matches are fixed (see test cases clock-6.22.11 and ↵sebres2017-01-102-43/+80
| | | | | | | | | | | | | | | | | | | | clock-6.22.12), involving space count in look ahead and end distance calculation (because spaces are optional in date-time string as well as in scanning format).
* | | | | small code review, performance test cases ready.sebres2017-01-102-4/+4
| | | | |
* | | | | several missing scan tokens added, test cases extended and fixed;sebres2017-01-103-45/+161
| | | | | | | | | | | | | | | | | | | | token "%s" used for seconds only (time zone independent), additionally "%Es" token added for local seconds (zone dependent seconds);
* | | | | porting of clock format completed; all clock test cases passedsebres2017-01-103-144/+406
| | | | |
* | | | | [temp-commit]: format almost ready (missing some tokens), sprintf replaced ↵sebres2017-01-103-44/+157
| | | | | | | | | | | | | | | | | | | | with _itoaw (because "sprintf" too slow)
* | | | | [temp-commit]: format almost ready (missing some tokens)sebres2017-01-103-170/+644
| | | | |
* | | | | min length of %Y token (year with century) is 4, optional tokens possibility ↵sebres2017-01-102-10/+31
| | | | | | | | | | | | | | | | | | | | (zone), test cases extended
* | | | | other locale scan token switched from list seek to index tree + list search ↵sebres2017-01-102-21/+31
| | | | | | | | | | | | | | | | | | | | case insensitive now
* | | | | locale months scan switched to from list seek to index tree; bug fixingsebres2017-01-103-13/+16
| | | | |
* | | | | lowercase on demand, string index tree can search any-case now, clock scan ↵sebres2017-01-103-20/+52
| | | | | | | | | | | | | | | | | | | | considered utf-8 char length in words by format parsing
* | | | | string index tree for fast greedy search of the string (index) by unique ↵sebres2017-01-105-334/+859
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | string prefix as key; clock scan rewritten to use string index tries search;
* | | | | cacheable conversions Local2UTC / UTC2Local fixed (some TZ switches time ↵sebres2017-01-103-78/+502
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | seconds bound) and optimized (last period ranges saved); prepare to back-port clock format
* | | | | estimate token count by % char and format length (don't use fix ↵sebres2017-01-102-6/+22
| | | | | | | | | | | | | | | | | | | | TOK_CHAIN_BLOCK_SIZE by creation, minimized memory usage)
* | | | | small optimization (determine min/max length, end distance, etc.)sebres2017-01-102-5/+32
| | | | |
* | | | | clock scan almost ready (currently test-case covered tokens only), test ↵sebres2017-01-102-10/+60
| | | | | | | | | | | | | | | | | | | | cases passed; todo - check other tokens from "clock.tcl"
* | | | | bug fix by match word token (FindWordEnd fixed);sebres2017-01-101-3/+3
| | | | | | | | | | | | | | | | | | | | repaired current locale switch
* | | | | repaired system/current locale caching (also for legacy clock format) and ↵sebres2017-01-103-20/+80
| | | | | | | | | | | | | | | | | | | | legacy timezone cached as last
* | | | | scan format: several tokens implemented, bug fixing and code review;sebres2017-01-103-65/+365
| | | | | | | | | | | | | | | | | | | | precedence yyyymmdd over yyyyddd was changed (and re-covered in test-cases also), see http://core.tcl.tk/tcl/tktview/e7a722cd3573fedda5d1e528f95902776f996e06
* | | | | %j token as day of year; clear flags implemented (to provide last-wins ↵sebres2017-01-103-53/+103
| | | | | | | | | | | | | | | | | | | | functionality)
* | | | | seconds token (%s) take precedence over all other tokenssebres2017-01-101-25/+31
| | | | |
* | | | | list index logic optimized regarding greedy search (don't stop by first ↵sebres2017-01-101-2/+13
| | | | | | | | | | | | | | | | | | | | found - try to find longest)
* | | | | improve LocalizeFormat, internal caching of localized formats inside msgcat ↵sebres2017-01-103-180/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for locale and format objects smart reference introduced in dict (smart pointer with 0 object reference but increase dict-reference, provide changeable locale dict) code review
* | | | | improve LocalizeFormat, internal caching of localized formats inside msgcat ↵sebres2017-01-105-60/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for locale and format objects smart reference introduced in dict (smart pointer with 0 object reference but increase dict-reference, provide changeable locale dict)
* | | | | l10n (with caching) implemented, msgcat package optimized, code review, etc.sebres2017-01-103-247/+439
| | | | |
* | | | | [temp-commit]: not readysebres2017-01-103-80/+438
| | | | |
* | | | | several initialize and finalize facilitiessebres2017-01-105-45/+49
| | | | |
* | | | | amend for caching of UTC2Local / Local2UTC:sebres2017-01-102-47/+71
| | | | | | | | | | | | | | | | | | | | | | | | | * tzdata used internally only (because cached, replaced with timezone object as parameter for several functions) * small improvement (don't need to convert UTC to UTC)
* | | | | [temp-commit]: code review, DST-hole mistake by scan with relative time ↵sebres2017-01-103-198/+500
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | resolved; caching of UTC2Local / Local2UTC cherry picked
* | | | | [temp-commit]: clock scan tokenizer logic ready (still needs many rules)sebres2017-01-105-80/+297
| | | | | | | | | | | | | | | | | | | | caching extended (currentYearCentury, yearOfCenturySwitch, lastBaseDate ...)
* | | | | [temp-commit]: rewrite scan token map handlingsebres2017-01-102-21/+83
| | | | |
* | | | | [temp-commit]: tclClockFmt.c - amend for 2nd try (with cherry picking of ↵sebres2017-01-104-212/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tclSE incompatible facilities) Prepared for common usage of both scan commands - free scan / scan with format (currently faked via eval to __org_scan); test cases passed.
* | | | | [temp-commit]: tclClockFmt.c - 2nd try (with cherry picking of tclSE ↵sebres2017-01-103-213/+295
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | incompatible facilities) Prepared for common usage of scan command (free scan / format scan)
* | | | | [temp-commit]: tclClockFmt.c - 1st trysebres2017-01-105-9/+482
| | | | | | | | | | | | | | | | | | | | using "timerate" instead "time" by performance measurement tests (more precise and fixed time, so no switch of factor expected)