[Vm-dev] pluginizing Galois Fields

Robert Withers robert.w.withers at gmail.com
Sat Dec 19 01:13:00 UTC 2015



On 12/18/2015 08:07 PM, David T. Lewis wrote:
>   
> On Fri, Dec 18, 2015 at 11:45:26AM -0800, tim Rowledge wrote:
>>
>>> On 18-12-2015, at 11:25 AM, Robert Withers <robert.w.withers at gmail.com> wrote:
>>> The point of this email is to see if the folks who would know how to
>>> represent polynomials and operations in Slang would be interested in
>>> working towards this performance effort, whether through discussion of
>>> implementation. How would you Slanginize a polynomial and it's operations?
>> No need. Just write that part in a plain old C or whatever file. Call the
>> relevant functions from a stub generated by  slang. Look at, for  example,
>> DropPlugin; there is a generic part created from the slang that calls eg
>> dropRequestFileName which is implemented in platforms/??/plugins/DropPlugin/sq??DragDrop.c etc
>>
> Actually either way is fine. If it's easy to implement in C, then do that
> exactly as Tim suggests. If you prefer implementing in Smalltalk, you can
> do that too, just stick to simple Smalltalk that is likely to be translatable.
>
> Robert, I'm not offering to implement this, but if you go to the trouble
> of producing a Smalltalk implementation then I'm sure that either Tim or
> I or someone else will be happy to help you make it "slangified" such that
> it can be translated to C in a plugin, like the other Cryptography plugins.
>
> If you are implementing your algorithm from scratch, then it would be
> nice if it could be done in Smalltalk, because that means we can all
> read it, play with it in the image, and write unit tests to validate and
> document its behavior. We can figure out the translation to C afterwords,
> once you have a good implementation in Smalltalk (and yes I will help
> with that).

I have a smalltalk implmentation that came from Google Java code and is 
fully implemented in squeak/pharo. I am intermittently fixing byte 
mutations in the payload, so it is working to a degree. Check out the 
classes GenericGF, GenericGFPoly and GaloisField to see the insides.  
FECEncoder and FECDecoder are calling the galoisField which builds a 
ReedSolomon Decoder. That last is where the error detection occurs.

Thank you all very much for looking out!

> On the other hand, if you are trying to adapt some existing C code that
> already works, then you are better off following Tim's original suggestion
> above.
>
> Dave
>   

-- 
. .. .. ^,^ robert


More information about the Vm-dev mailing list