Karim BELABAS on Sun, 4 Aug 2002 14:23:53 +0200 (MEST)

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

.gprc + version number


  I noticed that unrelated code rewrites [ filtre() and read_line_from_file() ]
had enabled multiline constructs [ {}, \ and = ] in .gprc (with a few minor
bugs which I ironed out). Since this looks useful, I documented it.

Second, I added a preprocessor test against PARI version number (using Bill's
patch introducing PARI_VERSION & friends) to the gprc capabilities. In short
the following is now valid _in the gprc file_:

  #if VERSION > 2.2.3
    new_galois_format = 1; \\ default introduced in 2.2.4
    read "new_script"; \\ syntax errors in older GP

[ this is all documented in the user's manual ]

It would be relatively painful to backport, this so I won't do it, but at
least it will be there from now on.

A few remarks:
1) it would be preferable (and trivial to implement) to have standard cpp
syntax (using pairs #if / #endif)  but that would introduce yet another
compatibility problem.

2) this could conceivably be useful under GP. Perhaps introducing the
following command would be enough:

   require(str) = raise an error if GP's version number is strictly lower
that str (which has the form "2.2.4", where the trailing components can be

Comments ?

Karim Belabas                    Tel: (+33) (0)1 69 15 57 48
Dép. de Mathematiques, Bat. 425  Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud             Email: Karim.Belabas@math.u-psud.fr
F-91405 Orsay (France)           http://www.math.u-psud.fr/~belabas/
PARI/GP Home Page: http://www.parigp-home.de/