• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..07-May-2022-

Makefile.amH A D07-Jun-20161.4 KiB333

Makefile.inH A D10-Dec-201914 KiB495400

README.adding_codeH A D07-Jun-20162 KiB4534

gen_bb_mul_code.cH A D07-Jun-20166.7 KiB192145

mul1cl.cH A D07-Jun-20164.6 KiB157110

mul2cl.cH A D07-Jun-20163.6 KiB10457

mul2cl2.cH A D07-Jun-20162.6 KiB7127

mul2k.cH A D07-Jun-20161.8 KiB5016

mul2t.cH A D07-Aug-20176.3 KiB155101

mul2t2.cH A D07-Aug-20176.9 KiB168102

mul3cl.cH A D07-Jun-20163.1 KiB9045

mul3k.cH A D07-Jun-20162 KiB5723

mul3k2.cH A D07-Jun-20162.4 KiB6530

mul3k3.cH A D07-Jun-20162.9 KiB9537

mul3t.cH A D07-Jun-20166.2 KiB189132

mul4cl1.cH A D07-Jun-20164 KiB11466

mul4clk.cH A D07-Jun-20163.2 KiB8344

mul4k.cH A D07-Jun-20162.1 KiB6228

mul4t.cH A D07-Aug-20176.6 KiB200146

mul5clk2.cH A D07-Jun-20164.4 KiB11669

mul5clk_c.cH A D07-Jun-20164.7 KiB12070

mul5k3.cH A D07-Jun-20165 KiB15598

mul5k_a.cH A D07-Jun-20163 KiB6832

mul5k_b.cH A D07-Jun-20162.2 KiB6228

mul5k_c.cH A D07-Jun-20163.9 KiB8952

mul5k_d.cH A D07-Jun-20162.6 KiB7340

mul6clk2.cH A D07-Jun-20164.2 KiB10965

mul6k_a.cH A D07-Jun-20163.1 KiB7032

mul6k_b.cH A D07-Jun-20162.2 KiB6228

mul6k_c.cH A D07-Jun-20162.7 KiB7542

mul7cl.cH A D07-Jun-20166.9 KiB198145

mul7k.cH A D07-Jun-20162.4 KiB6833

mul7k3.cH A D07-Jun-20166.1 KiB164115

mul8k.cH A D07-Jun-20162.5 KiB7033

mul9cl.cH A D07-Jun-201611.3 KiB280233

mul9clk2.cH A D07-Jun-20168.4 KiB223110

mul9k.cH A D07-Jun-20162.6 KiB7538

mul9k2.cH A D07-Jun-20163.1 KiB8854

mul9k3.cH A D07-Jun-20168.5 KiB227168

README.adding_code

1
2(This documentation is related to the development of gf2x)
3
4This lowlevel/ subdirectory is the place where new code may be added to gf2x,
5in particular new code for lowlevel routines, so-called mul1, mul2, mul3,
6and so on. The steps for adding code are:
7
8* Choose a file name. Assuming you are coding a new version of mul3, for
9  instance, you might choose to name your file mul3foo.c. The file name
10  must match mul[0-9] because probably some scripts rely on it.
11
12* Write a skeleton for mul3foo.c based on pre-existing files. There are a
13  couple of very important things in writing this file:
14  - The file must be guarded by a #ifndef GF2X_MUL3_H_ / ... / #endif
15    construct. The name of the macro matters.
16  - The file must include gf2x-small.h
17  - The function included must be called gf2x_mul3, and match the
18    expected prototype.
19
20* For inserting this function in the tuning mechanism, edit Makefile.am ;
21  Since the tedious Makefile.am code is now generated by a perl script
22  (albeit not automatically), one just has to add a new line among those
23  starting with #*
24  Then, to regenerate the tedious section of Makefile.am, do:
25    perl -i ./generate-test-list.pl Makefile.am
26  Note that this edits Makefile.am in place, so you'd better quit your
27  text editing section on Makefil.am first.
28
29Generated code:
30
31It is more complicated to add a new code _generation_ mechanism, and
32requires the following steps.
33
34* Assuming the generator code is in C (but it does not matter much), then
35  it must be codded, and a rule for building the _generator_ must be
36  added to Makefile.am. There is not much to it, probably a matter of
37  adding only a simple line to Makefile.am
38
39* Your generator must accept arguments, and output its result to a file
40  whose name matches gen_mul3 (for a mul3 of course). Or possibly write
41  to stdout. Then you have to copy one of the very ugly paragraphs, e.g.
42  the one for tune_gen_mul1_w64k2. The same warnings as above apply.
43
44* The generation rule has to be told to generate-test-list.pl somehow.
45