manpagez: man pages & more
info ginac
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2.1 A minimal example

Here is an example for the implementation of a function with two arguments that is not further evaluated:

 
DECLARE_FUNCTION_2P(myfcn)

REGISTER_FUNCTION(myfcn, dummy())

Any code that has seen the DECLARE_FUNCTION line can use myfcn() in algebraic expressions:

 
{
    ...
    symbol x("x");
    ex e = 2*myfcn(42, 1+3*x) - x;
    cout << e << endl;
     // prints '2*myfcn(42,1+3*x)-x'
    ...
}

The dummy() option in the REGISTER_FUNCTION line signifies "no options". A function with no options specified merely acts as a kind of container for its arguments. It is a pure "dummy" function with no associated logic (which is, however, sometimes perfectly sufficient).

Let's now have a look at the implementation of GiNaC's cosine function for an example of how to make an "intelligent" function.


© manpagez.com 2000-2025
Individual documents may contain additional copyright information.