Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
% Copyright (c) 2000 The PARI Group1%2% This file is part of the PARI/GP documentation3%4% Permission is granted to copy, distribute and/or modify this document5% under the terms of the GNU General Public License67\catcode`\@=118%9% GENERAL FORMATTING10%11\newif\ifSUBSECTOC\SUBSECTOCtrue12\newif\ifSUBSECDOT\SUBSECDOTtrue13\newif\ifGPHELP14\newif\ifPDF15\newread\std16\def\checkfile#1{\def\@stdfile{#1}\openin\std=#1\relax}17\long\def\@ifundef#1#2#3{\expandafter\ifx\csname18#1\endcsname\relax#2\else#3\fi}1920% do we come from gphelp ?21\@ifundef{fromgphelp}{\GPHELPfalse}{\GPHELPtrue}22\ifGPHELP %YES23\overfullrule=0pt24\else %NO25\magnification=\magstephalf26\PDFfalse27\ifx\pdfoutput\undefined28\else29\ifnum\pdfoutput<130\else31\PDFtrue32\fi33\fi34\fi3536% if paricfg.tex is there (Configure succeeded), input it, otherwise use37% default values38\checkfile{paricfg.tex}39\ifeof\std40\checkfile{doc/paricfg.tex}41\fi42\ifeof\std43\ifGPHELP\else% OK for gphelp to use default values44\message{paricfg.tex not found. You should run Configure.}45\fi46\def\vers{2.0.x}47\def\includedir{/usr/local/include/pari}48\def\libdir{/usr/local/lib}49\else50\input\@stdfile51\fi5253\font\chaptertitlefont=cmr12 scaled \magstep154\font\chaptertitlebf=cmbx10 scaled \magstep255\font\sectiontitlebf=cmbx1256\font\seventt=cmtt8 scaled 87557\scriptfont\ttfam=\seventt % we should really set the \hyphenchar etc first58\parskip=6pt plus 3pt minus 1.5pt59%\overfullrule=0pt6061%%62%% TABLE OF CONTENTS63%%64\newwrite\toc65\def\tableofcontents{\begintitle66\openin\std=\jobname.toc67\ifeof\std68\else69\begingroup70\centerline{\bf Table of Contents}\medskip71\parskip=0pt plus 1pt72\parindent=0pt73\catcode`\_=11 % make _ an ordinary char (frequent in function names)74\catcode`\@=11 % make @ an ordinary char (appears in \_ expansion)75\obeylines\input\jobname.toc76\endgroup77\fi78\openout\toc=\jobname.toc79\endtitle}8081%%82%% CROSS REFERENCING & INDEX83%%84\newif\ifsecondpass85\newwrite\out86\newwrite\aux87\newwrite\index88\ifGPHELP % disable crossreferences89\def\condwrite#1#2{}90\def\idx#1{#1}91\def\toindex#1{}92\def\tocwrite#1{}93\def\label#1{}94\def\gphelpref#1{[Label: {\tt #1}]}95\def\gphelpsecref#1{Section~\gphelpref{#1}}96\def\ref{\let\do=\gphelpref\doverb}97\def\secref{\let\do=\gphelpsecref\doverb}98\else % none of the following is needed by gphelp99\def\typeout#1{\immediate\write\out{#1}}100\def\@namedef#1{\expandafter\def\csname#1\endcsname}101\def\newlabel#1#2{\@ifundef{r@#1}{}{\message{Label `#1' multiply102defined}}\global\@namedef{r@#1}{#2}}103104\openin\std=\jobname.std105\ifeof\std106\secondpassfalse107\typeout{FIRST PASS}108\openout\index=\jobname.idx109\let\condwrite=\write110\else111\secondpasstrue112\typeout{SECOND PASS}113\let\immediate\relax114\def\condwrite#1#2{}115\fi116117%default font for index entry118\def\f@nt{rm}119120%% \toindex{#1} = put #1 in index; use font \f@nt, indicate \pageno.121%% If PDF, associate the page to a unique integer (\pdfdestcntr).122\ifPDF123\def\toindex#1{\putdest124\immediate\condwrite\index{!#1!\f@nt!\the\pageno!\number\pdfdestcntr}}125\else126\def\toindex#1{%127\immediate\condwrite\index{!#1!\f@nt!\the\pageno!}}128\fi129130\checkfile{\jobname.aux}131\ifeof\std132\message{No aux file.}133\else134\input\@stdfile% input aux file if present135\fi136137% \ref, \label. We need an auxiliary file written during first pass138\openout\aux=\jobname.aux139140\ifx\inputlineno\undefined141\let\on@line\empty142\else143\def\on@line{ on input line \the\inputlineno}144\fi145\def\@errundef#1{\typeout{Reference `#1' on page \the\pageno \space146undefined\on@line}}147148\def\@car#1#2\@nil{#1}149\def\@cdr#1#2\@nil{#2}150151\def\@ref {\expandafter\@cdr\@temp \@nil\null}152\def\@cref{\expandafter\@car\@temp \@nil\null}153154\def\label#1{\immediate\write\aux{\string155\newlabel{#1}{{\the\chapno}{\currentlabel}}}}156\def\ref#1{\@ifundef{r@#1}157{{\bf ??}\@errundef{#1}}158{\edef\@temp{\csname r@#1\endcsname}%159\def\lbl{\@ref}\def\chp{\@cref}%160\ifx\chp{\the\chapno}\lbl\else\chp.\lbl\fi}}161\def\secref#1{Section~\ref{#1}}162\fi % end of non-gphelp section163164%%165%% VERBATIM MODE166%%167% \doverb: setup verbatim mode for the first argument, and execute \do{\arg}168\def\setupverb{\def\do##1{\catcode`##1=12}\dospecials169\catcode`\ =10% standard space170\catcode`\f=13% to break ugly ligatures as in nf{}init, use \EFF instead171}172% f won't produce any ligature if catcode 13, e.g in verbatim mode (cf above).173{ \let\GDEF=\gdef \global\let\EFF=f \catcode`\f=13174\GDEFf{\EFF{}}}175176\begingroup177\catcode`<=1\catcode`\{=12178\catcode`>=2\catcode`\}=12179\gdef\d@verb<%180\def\next{##1}<\gdef\@va<##1>\endgroup%181\do<\@va>>% \@va is the verbatim argument182\next>183%184\gdef\d@verbb<%185\def\next{##1}{##2}<\gdef\@va<##1>\gdef\@vb<##2>\endgroup%186\do<\@va><\@vb>>% \@vxxx are the verbatim arguments187\next>188%189\gdef\d@verbbb<%190\def\next{##1}{##2}{##3}<\gdef\@va<##1>\gdef\@vb<##2>\gdef\@vc<##3>\endgroup%191\do<\@va><\@vb><\@vc>>% \@vxxx are the verbatim arguments192\next>193%194\endgroup195\def\doverb {\begingroup\setupverb\d@verb}196\def\doverbb{\begingroup\setupverb\d@verbb}197% make ',' active to allow automatic glue between function arguments, see \fun198\def\doverbbbcomma{\begingroup\catcode`\,=13\setupverb\d@verbbb}199\def\func@mma{,\hskip 0.5em plus 0.6em minus 0.3em}200{\catcode`\,=13\gdef,{\func@mma}}201202% argument (silently) goes to index203\def\sidx{\gdef\f@nt{rm}\let\do=\toindex\doverb} % \rm204\def\kbdsidx{\gdef\f@nt{tt}\let\do=\toindex\doverb}% \tt205\def\varsidx{\gdef\f@nt{it}\let\do=\toindex\doverb}% \tt206207% argument printed + sent to index208\def\@idx#1{#1\toindex{#1}}209\def\idx{\gdef\f@nt{rm}\let\do=\@idx\doverb}210211% to index + set up as key (keyword)212\def\@keyidx#1{{\bf\@idx{#1}}}213\def\teb{\gdef\f@nt{tt}\let\do=\@keyidx\doverb}214215% to index + set up as kbd (verbatim)216\def\@kbdidx#1{{\tt\@idx{#1}}}217\def\tet{\gdef\f@nt{tt}\let\do=\@kbdidx\doverb}218219\def\@url#1{\hbox{\tt#1}}220\def\url{\let\do=\@url\doverb}221222% to index + set up as var (variable)223\def\@kbdvar#1{{\it\@idx{#1}\/}}224\def\tev{\gdef\f@nt{it}\let\do=\@kbdvar\doverb}225226\def\@synt#1#2{\gdef\f@nt{tt}\toindex{#1}227The library syntax is \key{#1}({\tt #2})}228\def\synt{\let\do=\@synt\doverb}229230% function prototypes231\def\funno#1#2#3{\tolerance 1000%232\noindent{\tt#1 #2(#3)}\catcode`\,=12\penalty-100{}} % no index233\def\@fun#1#2#3{\gdef\f@nt{tt}\toindex{#2}\funno{#1}{#2}{#3}}234\def\fun{\let\do=\@fun\doverbbbcomma}235236\def\@doc#1#2{\gdef\f@nt{tt}\toindex{#1}\noindent{\tt#2}}237\def\doc{\let\do=\@doc\doverbb}238239%%240%% SECTIONS241%%242\newcount\appno243\newcount\chapno244\newcount\secno245\newcount\subsecno246\newcount\subsubsecno247248\def\newpage{\hbox{}\vfill\eject}249%Table of contents. cf TeXBook Exercise 21.10250\def\tocwrite#1{{\let\the=0\edef\next{\condwrite\toc{#1}}\next}}251\let\putchapdest\relax252\let\sectionhook\relax253254\def\title#1#2{%255\ifodd\pageno\else\newpage\fi256\tocwrite{{\bf #1 #2\string\dotfill\the\pageno}}257\ifGPHELP\else258\putchapdest259\centerline{\chaptertitlefont #1}\medskip260\fi261\centerline{\let\bf\chaptertitlebf \chaptertitlefont #2}\vskip1cm}262\def\sectitle#1{%263\ifGPHELP\else%264\vskip 0pt plus 54pt\penalty-600% good break265\vskip 24pt plus -45pt minus 9pt\fi%266\putchapdest%267\tocwrite{{\hskip0.5cm#1\string\dotfill\the\pageno}}%268\leftline{\sectionhook{\sectiontitlebf #1}.}269\penalty10000 % impossible break270\smallskip}% whatever follows will add a \parskip271272\def\subsectitle#1{%273\ifGPHELP\else%274\vskip 0pt plus 45pt\penalty-300275\vskip 6pt plus -42pt minus 3pt\fi%276\ifSUBSECTOC\tocwrite{{\sevenrm \hskip1cm#1\string\dotfill\the\pageno}}\fi%277\sectionhook\noindent{\bf#1}.}278279\def\subsubsectitle#1{% a \parskip is being added anyway by \noindent280\ifGPHELP\else%281\par\vskip 0pt plus 39pt\penalty-200282\vskip 0pt plus -37pt minus 1.5pt\fi%283\sectionhook\noindent{\bf#1}.}284285\ifGPHELP286\let\maketitle\relax287\else288\def\maketitle{%289\ifnum\chapno=0290\currentlabel.291\else292\number\chapno.\currentlabel\293\fi}294\fi295296\def\misctitle#1{\par\vskip 0pt plus 66pt\penalty-400297\vskip 3pt plus -64pt minus 1.5pt\noindent{\bf #1.}}298299% Chapter headings occupy two lines in the manual (only one in300% INSTALL.tex and gphelp-extracted bits). Syntax requirement: After calling301% \chapter{...} and possibly \label{...} etc, an empty line _must_ follow302% before the first paragraph of text or section heading begins. [GN]303\def\chapter#1#2\par{304\secno=0\global\advance\chapno by 1305\title{Chapter \number\chapno:}{#1}#2\noindent\ignorespaces}306\def\appendix#1\par{307\chapno=0308\secno=0\global\advance\appno by 1309\def\applet{\ifcase\appno\or A\or B\or C\or D\or E\or F\or G\fi}310\title{Appendix \applet:}{#1}\noindent\ignorespaces}311\def\section#1{%312\subsecno=0\global\advance\secno by 1%313\gdef\currentlabel{\number\secno}%314\sectitle{\maketitle#1}}315\def\subsec#1{316\subsubsecno=0\global\advance\subsecno by 1317\gdef\currentlabel{\number\secno.\number\subsecno}318\subsectitle{\maketitle#1}}319\def\subsubsec#1{320\global\advance\subsubsecno by 1321\gdef\currentlabel{\number\secno.\number\subsecno.\number\subsubsecno}322\subsubsectitle{\maketitle#1}}323324\def\annotepar#1{\noindent\llap{#1:\ \ }}325\def\emacs{\annotepar{EMACS}}326327\def\subseckbd#1{\subsec{\kbd{#1}}}328329%330% General purpose331%332\def\begintitle{333\begingroup\nopagenumbers334\font\mine=cmb10 scaled 1893335\hbox{}336}337\def\authors{338\centerline{The PARI Group}339\vskip 1.truecm340\centerline{Institut de Math\'ematiques de Bordeaux, UMR 5251 du CNRS.}341\centerline{Universit\'e de Bordeaux, 351 Cours de la Lib\'eration}342\centerline{F-33405 TALENCE Cedex, FRANCE}343\centerline{\tt e-mail: pari@math.u-bordeaux.fr}344\vskip 1.5truecm345\centerline{\sectiontitlebf Home Page:}346\centerline{\kbd{http://pari.math.u-bordeaux.fr/}}347\vskip 2.truecm348}349350\def\copyrightpage{351\begintitle352\vskip 14cm353\noindent Copyright \copyright\ 2000--2021 The PARI Group354\medskip\par355\noindent Permission is granted to make and distribute verbatim copies of356this manual provided the copyright notice and this permission notice are357preserved on all copies.358\medskip\par359\noindent Permission is granted to copy and distribute modified versions, or360translations, of this manual under the conditions for verbatim copying,361provided also that the entire resulting derived work is distributed under the362terms of a permission notice identical to this one.363\bigskip\par364\noindent PARI/GP is Copyright \copyright\ 2000--2021 The PARI Group365\medskip\par366\noindent PARI/GP is free software; you can redistribute it and/or modify it367under the terms of the GNU General Public License as published by the Free368Software Foundation. It is distributed in the hope that it will be useful,369but WITHOUT ANY WARRANTY WHATSOEVER.370\endtitle371}372373\def\endtitle{\newpage\endgroup}374375% fraktur font376\newfam\euffam377\font\teneuf=eufm10378\font\eighteuf=eufm8379\font\seveneuf=eufm7380\textfont\euffam=\teneuf381\scriptfont\euffam=\eighteuf382\scriptscriptfont\euffam=\seveneuf383\def\goth#1{{\fam\euffam#1}}384385\def\kbd#1{{\tt #1}}386\def\key#1{{\bf #1}}387\def\emph#1{{\it #1\/}}388\def\var#1{\hbox{\it #1\/}}389\def\floor#1{\left\lfloor #1 \right\rfloor}390\def\ceil#1{\left\lceil #1 \right\rceil}391\def\round#1{\left\lfloor #1 \right\rceil}392\def\fl{\var{f\kern0pt lag}}393\def\Cl{\text{Cl}}394\def\gcd{\text{gcd}}395\def\lcm{\text{lcm}}396\def\Norm{\text{Norm}}397\def\Hom{\text{Hom}}398\def\Frob{\text{Frob}}399\def\Id{\text{Id}}400\def\disc{\text{disc}}401\def\item{$\bullet$~}402%\def\nmid{\not\mid} % Ugly403404\def\bs{{\char'134}}405\def\obr{{\char'173}}406\def\cbr{{\char'175}}407\def\pow{\^{}\hskip0pt}408\def\til{\raise-0.3em\hbox{\~{}}}409\def\b#1{{\tt \bs#1}}410\def\mod{\,{\rm mod}\,}411\def\text#1{{\rm#1}}412\def\dfrac#1#2{{{#1}\over{#2}}}413\def\binom#1#2{\pmatrix{{#1}\cr{#2}}}414\def\Bbb#1{{\bf #1}}415{\catcode`\_=11416\gdef\typ#1{\kbd{t_#1}}}417\def\Z{\Bbb Z}418\def\Q{\Bbb Q}419\def\F{\Bbb F}420\def\P{\Bbb P}421\def\R{\Bbb R}422\def\C{\Bbb C}423\def\dotfill{\leaders\hbox to 3truemm{\hfil.\hfil}\hfill}424\def\B{\kbd{BITS\_IN\_LONG}}425\def\op{{\it op\/}}426427% verbatim mode428% @ made active: assume verbatim text doesn't contain it429\newif\ifnopar430{\catcode`\^=13\global\let^=\pow\obeyspaces\global\let \ }431\def\ttverb{%432\nopartrue433\catcode`\_=12%434\catcode`\$=12%435\catcode`\\=12%436\catcode`\{=12%437\catcode`\}=12%438\catcode`\&=12%439\catcode`\#=12%440\catcode`\%=12%441\catcode`\^=13%442\catcode`\~=13\def~{{\til}}%443\catcode`\@=0%444\def\par{\futurelet\next\dopars}%445\def\dopars{%446\ifnopar \noparfalse%447\else% treat two consecutive \par specialy448\ifx\next\par \vskip4pt plus 1pt\nopartrue%449\else \leavevmode\endgraf\fi\fi}%450\obeyspaces\obeylines\tt}451452% back to normalcy453\def\unverb{%454\catcode`\\=0%455\catcode`\{=1%456\catcode`\}=2%457\catcode`\$=3%458\catcode`\&=4%459\catcode`\#=6%460\catcode`\^=7%461\catcode`\_=8%462\catcode`\^^I=10}463464\def\bprog{\begingroup%465\vskip 0pt plus 1pt%466\leavevmode\parskip=0pt plus 1pt%467\interlinepenalty2000\clubpenalty9000\widowpenalty9000%468\ttverb}469470\def\bprogfile#1{\bprog\input#1\eprog}471\def\eprog{\endgroup\par}472{\obeylines473\gdef\com{\begingroup\unverb\comstart}474\gdef\comstart#1^^M{\it#1\endgroup475} % newline after @endgroup is important476}477% comments478\def\Ccom{\begingroup\unverb\Ccomstart}479\def\Ccomstart#1*/{\rm#1\endgroup*/}480481\ifPDF482\input pdfmacs.tex483\fi484\catcode`\@=12485486487