[squeak-dev] review, validation and test development for GenericGF

Robert Withers robert.w.withers at gmail.com
Mon Dec 21 21:07:18 UTC 2015


Yes, the first step is to write a bunch of tests.  You are testing the 
math with (a * (1/a)) == 1, a good test. It's in the queue, especially 
the multiply, divide and monomials testing, as you suggest. All of it, 
not just the outer layer with something this complex.

thank you,
Robert

On 12/21/2015 04:01 PM, Nicolas Cellier wrote:
> Since GF is all about algebra and arithmetic it should be possible to 
> write tests and check some invariants...
> For example, this works with SecureSession-rww.70:
>
>     | gf |
>     GenericGF xxinitialize.
>     gf := GenericGF RS_256_A.
>     1 to: gf size - 1 do: [:a |
>         self assert: (gf multiply: a scalar: (gf inverse: a)) = 1]
>
> One could test polynom product vs division for example, for some 
> monomials...
>
> 2015-12-21 1:19 GMT+01:00 Robert Withers <robert.w.withers at gmail.com 
> <mailto:robert.w.withers at gmail.com>>:
>
>     Hi Nicolas,
>
>     I tried the fixes you suggested (1 and 3) and it still isn't
>     working. I published tothe repository with these changes, though
>     the pipeline is broken as I rewire my skull (intro frames). This
>     will take several days to complete, I think, although progress is
>     being made. Then I will be able to turn my full attention back to
>     RS and Arrays for starters. Please pardon the delay, but I think
>     frames will bring an advantage, perhaps not performance but design
>     and flexibility.
>
>     Many thanks for taking a close look at RS,
>     robert
>
>
>     On 12/20/2015 12:18 PM, Nicolas Cellier wrote:
>>     After a first glimpse, I noted these:
>>
>>     1) GenericGFPoly evaluateAt: does not set the result in the loop...
>>     2) why using an OrderedCollection for the coefficients ? an Array
>>     is faster.
>>        same for exp and log tables of GenericGF
>>     3) GenericGF>>multiply:scalar: you changed <= size into < size
>>     but shouldn't...
>>
>>     2015-12-15 12:30 GMT+01:00 Robert Withers
>>     <robert.w.withers at gmail.com <mailto:robert.w.withers at gmail.com>>:
>>
>>         Hi all, sticking with the distribution for discussing Crypto
>>         in the base, I am currently trying to stabilize a port of
>>         Reed-Solomon such that FEC can be added to SecureSession. I
>>         am doing this work in SecureSession. I just posted an update
>>         of the GenericGF class, with the Java implementation attached
>>         here.
>>
>>         I need this critical code reviewed and tested. You need
>>         Cryptography and SecureSession to be included in the catalog.
>>         If you can help me with the former, I could help with the
>>         latter, if that suits you. Please let me know!
>>
>>         Please load Cryptography(-Pharo) and SecureSession.23 for
>>         review.
>>
>>             "ported & refactored GenericGF from the java code. This
>>             includes reindexing from 0 to 1. Having no tests,
>>             hopefully someone can give a review of this specific
>>             class. Where some tests to be developed at this scope,
>>             that would be stellar."
>>
>>
>>         I appreciate.
>>         -- 
>>         . .. .. ^,^ best, robert
>>
>>
>>
>>
>>
>>
>
>     -- 
>     . .. .. ^,^ robert
>
>
>
>
>
>

-- 
. ..  ...   ^,^    robert
Go Panthers!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20151221/fb7c31ac/attachment.htm


More information about the Squeak-dev mailing list