| version 1.3, 2000/03/23 11:54:07 |
version 1.8, 2005/03/26 23:25:46 |
|
|
| $OpenXM: OpenXM/src/asir-contrib/guideline.txt,v 1.2 2000/02/05 07:25:36 takayama Exp $ |
$OpenXM: OpenXM/src/asir-contrib/guideline.txt,v 1.7 2005/03/24 23:41:16 takayama Exp $ |
| |
|
| How to commit your asir program to asir-contrib? [1999, 12/23] |
How to commit your asir program to asir-contrib? [2005, 3/24] |
| |
|
| 1. The function names and global variables |
1. The name of your source code should be |
| should start with xyz_ or Xyz_ where xyz is |
yourname_xyz.rr |
| the name of your package. |
if xyz is a general name like matrix, prime, resultant, etc. |
| For example, all functions in the package "sm1" start with |
The part "yourname" may be your nickname. |
| sm1_, e.g., there are functions sm1_gb, sm1_hilbert, and so on |
Example: noro_matrix.rr |
| in the package "sm1". |
If xyz is not a general name, the part yourname_ is not necessary. |
| |
|
| Your asir source should be at asir-contrib/packages/src. |
Your asir source should be at asir-contrib/packages/src. |
| |
Or, you may make a new directory under asir-contrib/packages/src |
| |
to put your programs and data. |
| |
Example: asir-contrib/packages/src/todo_parametrize |
| |
|
| |
Your may use both your own directory and the top level source code |
| |
to load sources in the own directory. |
| |
Example: asir-contrib/packages/src/naka_mora |
| |
asir-contrib/packages/src/naka_mora.rr |
| |
|
| |
2. Please encapsulate your source code with modules. |
| |
When you use the module name which represents a mathematical notion |
| |
or a data structure, |
| |
the module name should be |
| |
pxxxx |
| |
where "p" is your identifying prefix and xxxx is a name of mathematical |
| |
notion or data structure name related to your module. |
| |
Example: nmatrix where "p" is "n" and "xxxx" is "matrix". |
| |
Example: fres where "p" is "f" and "xxxx" is "res" (or "resultant"). |
| |
Example: nmora where "p" is "n" and "xxxx" is "mora". |
| |
|
| |
|
| 2. Manuals should be written by the texinfo in English. |
3. Manuals should be written by the texinfo in English and/or Japanese. |
| They are put in asir-contrib/packagers/doc |
They are put under the directory |
| and are included from asir-contrib/packagers/doc/cman-eg.texi. |
asir-contrib/packagers/doc/'yourname_xyz' |
| Japanese committers are expected to write Japanese manuals, too. |
The Makefile asir-contrib/packagers/doc/'yourname_xyz'/Makefile |
| Japanese manuals are included from |
is also necessary. |
| asir-contrib/packagers/doc/cman.texi. |
Example: asir-contrib/packages/doc/todo_parametrize/Makefile |
| As to styles of manuals, see files in asir-contrib/packages/doc. |
asir-contrib/packages/doc/todo_parametrize/todo_parametrize_ja.texi |
| |
|
| 3. If you want to embed your manual in the source, you are welcome |
4. If you want to embed your manual in the source, you are welcome |
| to use "oxweave". |
to use "oxweave & gentexi" or "gdoc" (see http://texinfo.org). |
| |
|
| 4. Please refer to papers that explain algorithms in your package |
5. Please refer to papers that explain algorithms in your package |
| from your texinfo manual. |
from your texinfo manual. |
| Papers are welcome to be included in this asir-contrib package. |
|
| Put them under asir-contrib/packages/doc directory. |
|
| |
|
| |
|
| 5. Please compare your implementation with other implementations. |
6. Please include test data that you used to check the correctness |
| |
of your implementation or to make demonstrations. |
| |
|
| 6. Please include test data that you used to check the correctness |
7. About function names of your module. |
| of your implementation. |
Please use any names you like. |
| |
However, please also include "long function names" separated by "_" |
| |
such as "total_degree". |
| |
|
| |
|
| |
|
| |
Directory structure |
| |
Windows: |
| |
bin/ |
| |
lib/ |
| |
lib-asir-contrib/ |
| |
|
| |
Unix: |
| |
lib/asir |
| |
lib/asir-contrib |
| |
|
| |
Documents (unix): |
| |
Online manual (ja) |
| |
lib/asir/help-jp/ |
| |
lib/asir/help-jp/'modulename.functionname' |
| |
|
| |
HTML manual (ja) |
| |
doc/asir-contrib/help-ja/cman-ja_toc.html |
| |
doc/asir-contrib/help-ja/'yourname_xyz'/'yourname_xyz'_ja_toc.html |