Bill Allombert on Thu, 26 Jun 2003 22:07:40 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Description system |
Hello PARI CVS users, I have just commited the description system. This will cause some minor annoyance to CVS users. 1) You need perl in your PATH 2) You need to do cvs update -d this time so that new directory are added. 3) You will need to rerun Configure so that makefile are rebuild. If all go well, you just need to run make gp at this stage. If things go wild, try cd src/desc; make veryclean; make; cd ../.. Now, what is the description system ? This is a database of PARI functions in RFC822 format. Each PARI function is described by a file: For poldisc we have: src/functions/polynomials/poldisc: Function: poldisc Section: polynomials C-Name: poldisc0 Prototype: GDn Help: poldisc(x,{v}): discriminant of the polynomial x, with respect to main variable if v is omitted, with respect to v otherwise Description: (pol):gen discsr($1) (gen):gen poldisc0($1, -1) (gen, var):gen poldisc0($1, $2) Function: name of the function under GP Section: what section the function belong: polynomials is for 7: POLYNOMIALS and power series C-Name: The name of the C function implementing Function Prototype: The PARI prototype (for install, etc...) Help: The help string returned by ?poldisc under GP. Description: This will be used by GP2C This show the various C functions available for the same task: (pol):gen discsr($1) mean that if the argument of poldisc a t_POL, the result is a GEN and discsr(P) can be used in place of the generic poldisc0(P, -1) These files are merged to build the full database (src/desc/Def) which is used to build C files that are linked inside libpari/gp. (Without that we would need dlopen().) PARI tarball will already contains all the needed files so that perl is not needed to build PARI. This change break gp2c and Math::PARI, but now they can use the src/desc/Def file instead of parsing the C files. Cheers, Bill.