The first comment is that will only work on Unix-alikes, since '|' needs a shell.
So, if this is on a Unix-alike you need to establish if the program is in the path at run time and cache the result. I have no idea if this would actually work, but for example system('gp --version') might provide a suitable test. On Fri, 27 Apr 2007, Robin Hankin wrote: > Hello > > Quite often I need higher precision, or larger numbers, > than IEEE double precision allows. One strategy I sometimes > use is to use system() to call pari/gp, which is not constrained by > IEEE. > > [pari/gp is a GPL high-level mathematical programming language > geared towards pure mathematics] > > Two of my packages contain lines like the following: > > > system(" echo '1.12^66' | gp -q f",intern=TRUE) > [1] > "1771.697189476241729649767636564084681203806302318041262248838950177194 > 116346432205160921568393661760" > > Note the high precision of the answer. > > My question is, how to deal with the possibility that pari/gp is not > installed? > > If the system cannot find gp for some reason, I get: > > > system(" echo '1.12^66' | gp -q f",intern=TRUE) > sh: line 1: gp: command not found > character(0) > > > > What's the recommended way to handle this eventuality gracefully? The > functions that do use pari/gp have "pure" R equivalents (but much > slower and less accurate) so I want users to be able to install the > package without pari/gp. > > > -- > Robin Hankin > Uncertainty Analyst > National Oceanography Centre, Southampton > European Way, Southampton SO14 3ZH, UK > tel 023-8059-7743 > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel