-
Notifications
You must be signed in to change notification settings - Fork 112
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
Messy project management, fixes randomly reverted #122
Comments
I cant comment on the code quality or commit in question, but I have some tests which are passing on p4nzenc256v32 encoding and decoding. I can only fault #115 |
I reported and fixed some bugs, luckily I added unit tests in my code to verify this mess won't happen again. Sure enough, with latest code the bugs are back. In short, p4nenc256v32 and p4nzenc32 do not produce bitexact results. Total wtf state of the project. Not sure what's the reason, I was expecting asan to catch the bug, but it didn't help |
what a trainwreck, @powturbo what's the reason almost all header guards were removed |
@pps83 I admire your patience. I wrote a Rust wrapper a while back, and I basically turned my back, because the thing is an unruly mess. Thanks for the effort! |
First of all IT'S MY CODE AND I CAN DO WHATEVER I THINK IT'S NECESSARY OR NOT. Last, I've made a full refactoring of the library which is now more friendly to use. The only 2 files to use are "ic.h" under the directory "include" and the library "libic" (see icapp.c). I've made countless tests with icapp and actually I'm not aware of potential bugs (except the one with low priority reported in the issues). I'm using github only to upload my local repository. @mcamayer : you've not written a wrapper to the TurboPFor library, but a fully different interface and nobody was interested on it. |
@pps83 are you able to share your tests for those functions. I've got over 2000 test over 250+ functions and all are passing bar the one I previously mentioned. I'm interested to see what causes the bit differences you mention. I personally think think this project is an excellent compilation of integer and floating point algorithms, I've not found anything close to the sheer extent of functions on offer, that in itself is an accomplishment. @powturbo methods and approach may be different, but I have to agree that the opening of this issue isn't exactly constructive, and if we are not at least supportive to what has been done to date then there is less chance of things improving, or worse still it just disappears all together, and that does not help anyone. |
@ordinaryorange I have my own wrappers, but you can see the idea from the code:
p4nenc256v32 and p4nzenc32 do not produce identical outputs from the same input. Looks like some uninitialized memory is used |
I have the same opinion. But if you see an issue, there is no way to trace or figure it out from the commit history. |
@powturbo please try to compile your code as c++, you'll see how badly riddled the code with all kinds of issues. In some cases, output param is declared as const pointer, in some cases in/out names have to be reversed. In all the cases where you try to do 4x per loop manual unrolling - it's buggy and does no unrolling at all: if you looked at endless warnings, you'd see that the compiler is trying to tell you that "no value of type 'bool' promoted to type 'int' can equal the given constant". |
VLC code is broken in 32bit mode. Will corrupt data.
__WORDSIZE must be changed to 64)
what a bugware. |
I'm wondering why you treat project history as some sort of dumpster where most of commits have no commit messages, and pretty much 95% commit history has no value. I don't even mention extremely messy code.
Just like that randomly you commit back old bugs. Do you review yourself what you commit?
For example, this fix:
9f58944#diff-e05c108e3bce4066346277d43bd50252d91769b4387f680dccc03afcc3f8e3e8R452
was randomly reverted. Here's current version:
https://github.com/powturbo/TurboPFor-Integer-Compression/blame/06d6aad98b4be5471289f35d5d04fac4469cf6df/lib/vsimple.c#L456
There was an extremely annoying bug in turbopfor where it would produce different results because some registers weren't cleared. I just double checked and sure enough, that change is randomly removed. I didn't test latest code if it's buggy, but the change clearly was reverted.
That's the commit where it was fixed: fac4c73 (note extremely useless commit message, wtf).
Here's current master and the fix is removed: https://github.com/powturbo/TurboPFor-Integer-Compression/blob/master/lib/vp4c.c#L417 Here's the relevant bugreport: #60
wtf, how do you manage to do that kind of stuff.
Sometimes I look at code like that, and I have no guesses how you end up with code like this:
https://github.com/powturbo/TurboPFor-Integer-Compression/blob/master/lib/vp4c.c#L430
like you have a program that randomly makes code unreadable?
The text was updated successfully, but these errors were encountered: