| Denis Simon on Tue, 04 Jul 2023 15:53:07 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: Question on "assert()" implementation in GP |
Hi Hermann,
Instead of ##, you can use gettime() and getabstime().
Denis SIMON.
----- Mail original -----
> De: hermann@stamm-wilbrandt.de
> À: "pari-users" <pari-users@pari.math.u-bordeaux.fr>
> Envoyé: Mardi 4 Juillet 2023 14:54:37
> Objet: Re: Question on "assert()" implementation in GP
> On 2023-07-04 13:20, hermann@stamm-wilbrandt.de wrote:
>> Is there some other mechanism than "quit()" that can be used to
>> achieve stopping in "gp < script" mode?
>>
>>
> I reread Bill's referenced email on "gp < script", and the reason was
> using ## to report time of last command. That is only possible with "gp
> < script".
>
> But without "##" and probably other features, "gp script" does what I
> want, abort on assert.
> And no "quit()" is needed, "error()" aborts itself.
>
> $ diff asst.gp asst.2.gp
> 1c1
> < assert(b, v, s) = { if(!(b), error(Str(v) " " Str(s))); quit }
> ---
>> assert(b, v, s) = { if(!(b), error(Str(v) " " Str(s))) }
> $
> $ gp -q asst.2.gp
> *** at top-level: assert(x==5,x,"wrong")
> *** ^----------------------
> *** in function assert: if(!(b),error(Str(v)" "Str(s)))
> *** ^-----------------------
> *** user error: 4 wrong
> *** Break loop: type 'break' to go back to GP prompt
> break>
>
>
> So the question remaining is:
> How can I measure runtime of a GP command in "gp script" mode, since
> "##" does not work in that mode?
>
>
> Regards,
>
> Hermann.