> < ^ From:

^ Subject:

Dear Forum,

I wonder if it is possible to use GAP as a library, i.e. to create a

library that would perform a particular computation, and that

is callable for the outside world in the usual C way, just as one would

use the standard numeric library (libm on mosty Unix systems) to

do a particular numeric computation.

In my case I have a large C++ program that needs to be extended by a

computation that takes a square matrix of integers, constructs a graph

from it in some way, does something with this graph (including

automorphism group computation), and returns a couple of numbers back to

the main program.

This extension part would be perhaps 50 or 100 lines of GAP code at most,

but it would be 10-20 times bigger in C or C++ (provided that I use nauty

for doing the automorphism group part).

The computation needs to be done perhaps 10000 or 100000 times, so there is

no question of calling GAP to do the job via a script, or something like

this.

I could in principle also start GAP as a main routine, and call the large

C++ program in question from it. Hence the second question.

Is there a description somewhere of such a procedure (again, I don't want

to communicate with the C++ program via a file, I have to do it the normal

way? In other words, is there a C-interface for GAP?

(yes, it is there, I suppose, but I cannot seem to find any docs about it).

Thanks,

---

Dmitrii Pasechnik

http://www.cs.uu.nl/staff/dima.html

Miles-Receive-Header: reply

> < [top]