On Sun, May 15, 2022 at 01:12:28AM -0500, Luke Small wrote:

> This is version 1, which I was pretty sure was secure.
> 
> I revamped it with a few features and implanted the binary search for 'bit'
> 
> in most cases, which aren't intentionally worst-case, it's pretty darned
> fast!
> 
> This is a sample run of my program with your piece of code included:
> 
> 
>  1  99319 100239
>  2 100353  99584
>  3 100032  99879
>  4  99704 100229
>  5  99530  99796
>  6  99617 100355
>  7 100490 100319
>  8  99793 100114
>  9 100426  99744
> 10 100315 100558
> 11  99279  99766
> 12  99572  99750
> 13  99955 100017
> 14 100413 100005
> 15 100190 100052
> 16 101071 100195
> 17 100322 100224
> 18  99637  99540
> 19 100323  99251
> 20  99841 100177
> 21  99948  99504
> 22 100065 100031
> 23 100026  99827
> 24  99836  99818
> 25 100245  99822
> 26 100088  99678
> 27  99957  99993
> 28 100065  99961
> 29 100701 100679
> 30  99756  99587
> 31 100220 100076
> 32 100067 100005
> 33  99547  99984
> 34 100124 100031
> 35  99547 100661
> 36  99801  99963
> 37 100189 100230
> 38  99878  99579
> 39  99864  99442
> 40  99683 100004
> 41  99907 100094
> 42 100291  99817
> 43  99908  99984
> 44 100044 100606
> 45 100065 100120
> 46  99358 100141
> 47 100152 100442
> 48 100000 100279
> 49 100486  99848

Sadly a sample run cannot be used to proof your implementation is
correct.  It can only be used to show it is not correct, like Philip
did.  To show your implementation produces uniform results in all
cases, you need to provide a solid argumentation that is easy to
follow. So far you failed to do that and I do not see it coming, given
the complexituy of your implementation.  The current implementation
has a straightforward argumentation as it uses relatively simple
mathematical properties of modulo arithmetic.

It is also clear your code (as it uses statics) is not thread safe.

So to answer you original question clearly: no, we will not accept this.

        -Otto

Reply via email to