Hi, On Mon, Feb 19, 2007 at 12:29:55AM +0800, Jerome BENOIT wrote:
I am new in GiNaC and in C++ (but very familiar with another CAS and C).
I would like to implement a function which returns table. Unless I missed something, there is no ready to use table object in GiNaC.
I guess you want to use GiNaC::exmap (and [re-]read your favourite C++ textbook, at least the chapter which describes STL containers, in particular associative arrays). For example, #include <iostream> #include <ginac/ginac.h> using namespace std; using namespace GiNaC; exmap foo(const ex& x, const ex& y) { exmap something; something[x] = x + y/2; something[y] = cos(x); return something; } int main(int argc, char** argv) { symbol x("x"), y("y"); exmap tbl; tbl = foo(x-y, 2*y); for (exmap::const_iterator i=tbl.begin(); i!=tbl.end(); ++i) cout << i->first << " => " << i->second << endl; // will print something like: // 2*y => cos(-y+x) // -y+x => x return 0; } Best regards, Alexei -- All science is either physics or stamp collecting.