=================================================================== RCS file: /home/cvs/OpenXM/src/asir-contrib/guideline.txt,v retrieving revision 1.2 retrieving revision 1.10 diff -u -p -r1.2 -r1.10 --- OpenXM/src/asir-contrib/guideline.txt 2000/02/05 07:25:36 1.2 +++ OpenXM/src/asir-contrib/guideline.txt 2009/02/22 17:30:03 1.10 @@ -1,25 +1,74 @@ -$OpenXM: OpenXM/src/asir-contrib/guideline.txt,v 1.1 1999/12/23 03:59:06 takayama Exp $ +$OpenXM: OpenXM/src/asir-contrib/guideline.txt,v 1.9 2005/04/20 22:58:58 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 name of your source code should be + yourname_xyz.rr + if xyz is a general name like matrix, prime, resultant, etc. + The part "yourname" may be your nickname. + Example: noro_matrix.rr + If xyz is not a general name, the part yourname_ is not necessary. - 1. The function names and global variables - should start with xyz_ or Xyz_ where xyz is - the name of your package. - For example, all functions in the package "sm1" start with - sm1_, e.g., there are functions sm1_gb, sm1_hilbert, and so on - in the package "sm1". 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. - They are put in asir-contrib/packagers/doc - and are included from asir-contrib/packagers/doc/cman-eg.texi. - Japanese committers are expected to write Japanese manuals, too. - Japanese manuals are included from - asir-contrib/packagers/doc/cman.texi. - As to styles of manuals, see files in asir-contrib/packages/doc. + 3. Manuals should be written by the texinfo (gentexi, oxweave) + in English and/or Japanese. + They are put under the directory + asir-contrib/packagers/doc/'yourname_xyz' + The Makefile asir-contrib/packagers/doc/'yourname_xyz'/Makefile + is also necessary. + Example 1: asir-contrib/packages/doc/todo_parametrize/Makefile + asir-contrib/packages/doc/todo_parametrize/todo_parametrize_ja.texi + Example 2: asir-contrib/packages/doc/plucker - 3. If you want to embed your manual in the source, you are welcome - to use "oxweave". + 4. You are welcome to use "oxweave & gentexi" to generate texinfo manual. + Example: asir-contrib/packages/doc/plucker/*.oxg, *.oxw + 5. Please refer to papers that explain algorithms in your package + from your texinfo manual. - \ No newline at end of file + 6. Please include test data that you used to check the correctness + of your implementation or to make demonstrations. + + 7. About function names of your module. + 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-ja/ + lib/asir/help-ja/'modulename.functionname' + + HTML manual (ja) + doc/asir-contrib/ja/cman-html/cman-ja_toc.html + doc/asir-contrib/ja/'yourname_xyz'-html/'yourname_xyz'_ja_toc.html