58 Commits

Author SHA1 Message Date
Thomas A
451f291743 Update CMake Version To 3.13 2023-07-26 11:02:08 -07:00
Thomas A
2104fea046 Update CMake Minimum Version To 3.10 2021-04-11 14:17:55 -07:00
Andrew Hyatt
6262d29d2b
Integrate with Darling 2019-07-20 18:33:01 -04:00
Eric Bainville
e634ca58b4 Merge pull request #40 from yegortimoshenko/patch-1
OS X → macOS where appropriate
2017-05-22 08:46:52 -07:00
Yegor Timoshenko
b65fd85284 OS X → macOS where appropriate 2017-05-22 18:12:28 +03:00
Eric Bainville
88e2d2788b Merge pull request #36 from a7vinx/issue_28
Fix #28
lzfse-1.0
2017-03-08 14:48:59 -08:00
Arvin.X
116feda9e2 Improve patch for #28 2017-03-07 01:35:48 -05:00
Arvin.X
3ed8cd1956 Fix #28 2017-03-04 07:29:27 -05:00
Eric Bainville
497c5c1767 Merge pull request #34 from nemequ/warnings
Fix -Wall warnings from GCC
2016-11-17 14:34:45 -08:00
Evan Nemerson
8ca039302e Add const to tables in lzfse_internal.h
This silences unused-variable compiler warnings, and *may* result in
slightly faster execution.
2016-11-12 12:08:32 -08:00
Evan Nemerson
a9223c18ac Replace #pragma mark with // MARK:
This fixes warnings from GCC when the unknown-pragmas warning is
enabled, but should still group code in xcode.
2016-11-12 11:53:56 -08:00
Eric Bainville
958828b0e0 Merge pull request #33 from nemequ/vs12
Get Visual Studio 12 working.
2016-08-17 16:23:45 -07:00
Joergen Ibsen
2104151182 Get Visual Studio 12 working. 2016-08-16 11:24:55 -07:00
Eric Bainville
81699de01a Merge pull request #32 from nemequ/unaligned
Don't rely on unaligned accesses in the LZVN encoder.
2016-08-16 09:51:18 -07:00
Evan Nemerson
0cd49c6e05 Don't rely on unaligned accesses in the LZVN encoder.
This also enables an ubsan build on Travis (which didn't work before
this patch).
2016-08-15 11:51:57 -07:00
Eric Bainville
45f1863d74 Merge pull request #31 from nemequ/master
Tests, Travis, and AppVeyor
2016-08-15 11:43:40 -07:00
Evan Nemerson
9b7270b91c Add AppVeyor builds. 2016-08-11 17:25:51 -07:00
Evan Nemerson
2ff4d7704b Add Travis CI support. 2016-08-11 17:03:24 -07:00
Evan Nemerson
5ed60dd670 Add some tests to verify the build.
This will just compress then decompress each file in src/, so it's
hardly an exhaustive test, but it should at least verify that LZFSE
basically works on the platform in question.
2016-08-11 16:37:43 -07:00
Eric Bainville
4a1bb533ef Merge pull request #30 from jibsen/fix-labels
Fix labels
2016-08-10 18:57:35 -07:00
Joergen Ibsen
ab56e5b8cc Fix 64-bit check for MSVC 2016-08-11 02:53:22 +02:00
Joergen Ibsen
08f6fac4d4 Fix label error 2016-08-11 02:50:02 +02:00
Eric Bainville
a9d42494f1 Merge pull request #27 from jibsen/msvc-compatibility
MSVC compatibility
2016-08-02 19:09:30 -07:00
Joergen Ibsen
1ed1e14130 Update API export to work for CMake and MSVC
MSVC does not export globals by default, so add __declspec
macros. Also update the CMake script so it defines LZFSE_DLL
when using a shared lzfse library, and LZFSE_DLL_EXPORTS when
building it.
2016-08-02 09:42:35 +02:00
Joergen Ibsen
bf5756c0fc Set binary mode on stdin/stdout on Windows 2016-08-02 00:58:50 +02:00
Joergen Ibsen
85dd8d5b35 Set _POSIX_C_SOURCE to 200112L for gettimeofday 2016-08-02 00:34:13 +02:00
Joergen Ibsen
13a5489ba8 Add MSVC fixes for timing and file access 2016-08-02 00:34:13 +02:00
Joergen Ibsen
c105316972 Use ptrdiff_t instead of ssize_t 2016-08-02 00:34:13 +02:00
Joergen Ibsen
2c5e8fe7fb Implement jump table as switch for non-GCC
This overlays the jump table implementation, which uses a GCC
extension, with an equivalent switch statement. Preprocessor
checks switch between the two.
2016-08-02 00:34:13 +02:00
Joergen Ibsen
b9e35791a1 Fix issues related to use of __attribute__
Disable most uses of __attribute__ when compiling with MSVC, except
inlining. Also avoid a few builtins, and disable some warnings.
2016-08-02 00:34:13 +02:00
Joergen Ibsen
86a11af51f Implement GCC bit scan builtins for MSVC
To make things easy we just provide replacements for the GCC ones
using MSVC intrinsics.
2016-08-02 00:32:23 +02:00
Joergen Ibsen
697c394b31 Avoid pointer arithmetic on void pointers 2016-08-02 00:32:23 +02:00
Eric Bainville
8ac8f33d7e Merge pull request #25 from grp/cpp
Add extern declarations for linking into C++ code.
2016-08-01 12:30:35 -07:00
Grant Paul
7e1912c108 Add extern declarations for linking into C++ code.
The public API is decorated to correctly link with C++ users.
2016-08-01 11:26:41 -07:00
Eric Bainville
2247ecae75 Added cmake instructions to README 2016-08-01 10:05:05 -07:00
Eric Bainville
e40cbc1412 Merge pull request #24 from nemequ/master
Add CMake build system.
2016-08-01 10:02:41 -07:00
Evan Nemerson
dc9fd371c9 Add CMake build system. 2016-07-28 21:39:52 -07:00
Eric Bainville
5d1a9759ae Added bindings section in README, link to pylzfse 2016-07-13 10:55:32 +02:00
Eric Bainville
45912281e3 merged nemequ changes; fixed end of stream reservation size in LZVN partial encoder; fixed Xcode project with updated README.md file 2016-06-20 15:43:07 -07:00
Eric Bainville
e80f2c620d Merge branch 'master' of https://github.com/nemequ/lzfse into eng/nemequ-small_size_lzvn 2016-06-20 15:05:27 -07:00
Eric Bainville
272e943724 reformatted LICENSE 2016-06-20 10:50:55 -07:00
Eric Bainville
cf049a37af Merge pull request #20 from ebiggers/fix_unused_alphabet
Fix fse_normalize_freq() when passed alphabet with no used symbols
2016-06-19 11:21:31 -07:00
Eric Biggers
a263229e67 Fix fse_normalize_freq() when passed alphabet with no used symbols
I discovered there was a small mistake in my new frequency normalization
code.  LZFSE can call the function with an alphabet from which no symbols
were used.  In that case, it does not matter which normalized frequencies
we choose, but we must at least avoid dividing by 0.

An example input I found that demonstrated this problem was 100,000,000
bytes of zeroes.
2016-06-19 11:05:58 -05:00
Eric Bainville
585f6eed1e typo 2016-06-18 16:02:24 -07:00
Eric Bainville
161c69929f Merge pull request #18 from ebiggers/fix_64bit_check
lzfse_fse.h: correctly detect 64-bit stream for debug macro
2016-06-18 15:28:13 -07:00
Eric Biggers
ca70bee914 lzfse_fse.h: correctly detect 64-bit stream for debug macro
FSE_IOSTREAM_64 is always defined to 0 or 1.
2016-06-18 12:38:03 -05:00
Eric Bainville
8312e1b967 Merge pull request #17 from hannni/master
Convert readme to markdown
2016-06-18 09:49:22 -07:00
Johannes Höhn
5633e5de6a Converted readme to markdown, added some further information and fixed description of two files being mixed up 2016-06-18 13:14:45 +02:00
Eric Bainville
5c6e398777 Merge pull request #10 from ebiggers/improve_normalize_freqs
Improved frequency normalization algorithm
2016-06-17 12:24:23 -07:00
Eric Bainville
defc8a2115 Merge pull request #11 from ebiggers/dont_search_for_len3_matches
Do not waste time searching for length 3 matches
2016-06-17 09:43:20 -07:00