CoCoALib:Contribute

From ApCoCoAWiki

Contribute with an example

The easiest way to help the CoCoALib project is to have a look at the "example" directory, run the examples, play with them, and send a comment about what can be improved.

You could also create a new example to be added to the distibution.

How do I run an example?

Download CoCoALib-xxx and compile it: (you will need GMP)

cd CoCoALib-xxx
./configure
make

to run an example do this:

cd examples
make ex-yyyyy
./ex-yyyy

How do I contribute an example?

Let's say you have written an example "ex-MyExample.C". To add your code to the CoCoALib examples follow the instructions below:

  1. Put your file into the right place:
    • Copy the example file "ex-MyExample.C" into the subdirectory "CoCoALib-xxx/examples".
  2. Edit "CoCoALib-xxx/examples/Makefile":
    • Add "ex-MyExample.C" to the variable definition of "SRC".

Now everything is ready to start a test build. First you have to rebuild the Makefile dependencies:

cd CoCoALib-xxx
cd examples
rm Makefile_dependencies
make dependencies

Next you should follow the instructions under How do I run an example? to test-run your example.


Contibute with a new class

Let's say you have written a new class "MyClass". Let "MyClass.C" and "MyClass.H" be the files that contain your source code. To add your code the CoCoALib follow the instructions below:

  1. Put your files into the right place:
    • Copy the source file "MyClass.C" into the subdirectory "CoCoALib-xxx/src".
    • Copy the header file "MyClass.H" into the subdirectory "CoCoALib-xxx/include/CoCoA".
  2. Edit "CoCoALib-xxx/include/CoCoA/library.H":
    • Add an include directive for your header file "MyClass.H".
  3. Edit "CoCoALib-xxx/src/Makefile":
    • Add "MyClass.C" to the variable definition of "SRC".

Now everything is ready to start a test build. First you have to rebuild the Makefile dependencies:

cd CoCoALib-xxx
rm src/Makefile_dependencies
make dependencies

Next you should trigger a full build to see if everything works:

make all

If the build process terminates without an error you should write an example for your class and check if it works correctly. See How do I contribute an example? for more information.

Contribute a new CoCoAServer function

It is assumed that you already have done the steps listed in Contribute a CoCoA 4 function that calls the CoCoAServer.

All actions take place in "RegisterServerOp.C".

The documentation is in RegisterServerOp.txt and ServerOp.txt in the doc/ directory.