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 |