Comments (6)
- DeBruijn: https://en.wikipedia.org/wiki/Nicolaas_Govert_de_Bruijn
- This is some magic math, which is beyond my comprehension, I just know it works. For example, see here: https://cstheory.stackexchange.com/questions/19524/using-the-de-bruijn-sequence-to-find-the-lceil-log-2-v-rceil-of-an-integer
- This is first pass to check if it works at all, I'll be porting it again. For now, original variable and function names are preserved to make porting easier. All those ported function will stay hidden (private) and I'll provide more idiomatic C# interface (LZ4Codec).
- SilesiaCorpusBlockTests works fine. Check examples.
- Let's say LZ4Codec will look more os less the same. LZ_64, LZ_64_HC will be private so don't assume you will be able to use it directly.
from k4os.compression.lz4.
@MiloszKrajewski thanks for answers.
One more question: is possible to build it without Paket? Would like to avoid unnecessary dependencies
from k4os.compression.lz4.
I don't understand. You don't have download anything, everything get downloaded automatically. The assembly itself does not have dependency on paket
(whatever it might mean)
from k4os.compression.lz4.
@MiloszKrajewski
See screenshot: https://i.imgur.com/cauzqyA.png
You see this selected file? You have to run it before you can compile project, otherwise .csproj's will not be loaded. But before this, you have to install standalone nuget.exe otherwise you will be able to download and install Paket.
Anyway, is this anyhow required to make k4os to work?
Or I can just grab .cs files and it will work fine without Paket?
Also, is LZ4.dll that arrive in Tests is mandatory? Seems like its your old LZ4Net, right?
from k4os.compression.lz4.
Ok, yes, they do have dependency on nuget.exe so you will need to have it somewhere on your PATH.
I'm not going to change my pipeline, but to be honest, you can make it work without paket and fake as main assembly does not have any dependencies (you would need to edit .csproj though).
To be clear: it is for developing it, not for using it later, it won't need anything.
And yes: I used LZ4Net to cross test: compress with one decompress with other, and then check if it worked. This codebase is quite bug prone (unsafe, pointer arithmetic) so this gives me some sense of security. You can't really debug if random byte around 2nd megabyte gets corrupted, right?
from k4os.compression.lz4.
@MiloszKrajewski thanks for answers, now it all clear to me :)
from k4os.compression.lz4.
Related Issues (20)
- Unity Support HOT 3
- Implicit reference to System.Runtime.CompilerServices.Unsafe appears to cause wrong version to be selected HOT 3
- Chained encoder does not produce the same result as the lz4 cli when chaining is enabled HOT 4
- Migrating from L4zNet to new implementation
- InvalidDataException: LZ4 frame magic number expected HOT 10
- Implement frame format with K4os.Compression.LZ4 HOT 2
- Question about random access, i want to make something similar to the original dictionaryRandoimAccess.c example HOT 5
- why Length return 7 HOT 1
- Question regarding Lz4net archived repo HOT 6
- LZ4 Legacy format support HOT 2
- LZ4EncoderStream Dispose Issue HOT 3
- Compression Issue? HOT 3
- API: LZ4Codec.Decode/Encode(Stream input, Stream output) HOT 12
- LZ4 with Maui HOT 7
- Stream API CopyTo got NotSupportedException HOT 4
- LZ4DecoderStream ReadAsync calls original stream's sync Read internally HOT 2
- [Question] Block vs Stream vs Pickler to store compressed bitmaps in memory HOT 10
- Adding non compressed data at the end of the stream HOT 2
- The `int LZ4Frame#Encode` overloads don't close the frame HOT 2
- The repository contains the code with the incompatible licenses HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from k4os.compression.lz4.