comp.lang.ada
 help / color / mirror / Atom feed
* Galois fields
@ 2013-09-21 15:50 karhof21
  2013-09-21 18:50 ` Niklas Holsti
  2013-09-22  9:43 ` mockturtle
  0 siblings, 2 replies; 3+ messages in thread
From: karhof21 @ 2013-09-21 15:50 UTC (permalink / raw)


Are Galois Fields (I only need binary GFs) supported by any publicly available Ada library?

Thanks


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Galois fields
  2013-09-21 15:50 Galois fields karhof21
@ 2013-09-21 18:50 ` Niklas Holsti
  2013-09-22  9:43 ` mockturtle
  1 sibling, 0 replies; 3+ messages in thread
From: Niklas Holsti @ 2013-09-21 18:50 UTC (permalink / raw)


On 13-09-21 18:50 , karhof21@gmail.com wrote:
> Are Galois Fields (I only need binary GFs) supported by any publicly available Ada library?

Mats Weber's Ada component library contains some kind of Galois field
packages. I've never used these Galois packages, but I have used other
parts of the library successfully. According to Google, the library
should be at

   mats.weber.org/ada/mw_components.html‎

but at the moment this URL does not work for me. If you cannot find the
library on the web, you can get a copy from me. The two Galois packages
seem to be rather independent of the rest of the library (which contains
95 other packages).

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
      .      @       .


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Galois fields
  2013-09-21 15:50 Galois fields karhof21
  2013-09-21 18:50 ` Niklas Holsti
@ 2013-09-22  9:43 ` mockturtle
  1 sibling, 0 replies; 3+ messages in thread
From: mockturtle @ 2013-09-22  9:43 UTC (permalink / raw)


On Saturday, September 21, 2013 5:50:28 PM UTC+2, karh...@gmail.com wrote:
> Are Galois Fields (I only need binary GFs) supported by any publicly available Ada library?
> 
> 
> 
> Thanks

I have a GF binary library that I wrote for myself in my early Ada days.  It is a generic package that you must instantiate with the desired GF size (up to 2^64, so it fits in a 64-bit integer).

Unfortunately I did not publish the code by itself, but you can find it "embedded" in an old (and, alas, sleeping) project of mine hosted on launchpad. Just go here

http://bazaar.launchpad.net/~riccardo-bernardini/+junk/pre-ppetp/files/head:/src/lib/Algebra/Galois/

(or here: http://bit.ly/1gOe996 if the URL above is too long) and take the two files gf_2p_varsize.{ads, adb}.  You just need to instantiate it with something like

  package GF32 is
     new Gf_2p_Varsize(Exponent   => 32,
                       Basic_Type => Unsigned_32);

and then use it like

   X, Y, Z : GF32.Galois;

   X = Y * Z;


Disclaimer: As I said, I wrote this package in my early Ada days, so maybe it is not the most elegant code around, but it works...

Should you decide to use it and have any question, please ask.

Riccardo


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-09-22  9:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-21 15:50 Galois fields karhof21
2013-09-21 18:50 ` Niklas Holsti
2013-09-22  9:43 ` mockturtle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox