| line | true | false | branch | 
 
| 219 | 40876 | 0 | for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) { | 
 
| 220 | 38321 | 2555 | if (mg->mg_type == PARI_MAGIC_TYPE | 
 
| 221 | 38321 | 0 | && mg->mg_private == PARI_MAGIC_PRIVATE) | 
 
| 534 | 1171 | 0 | (void)SvUPGRADE((SV*)av, SVt_PVAV); | 
 
| 535 | 1171 | 0 | SV_PARISTACK_set(av, s); | 
 
| 553 | 0 | 0 | if (SvTYPE(sv) != SVt_PVCV && SvTYPE(sv) != SVt_PVGV) { | 
 
|  | 0 | 0 | if (SvTYPE(sv) != SVt_PVCV && SvTYPE(sv) != SVt_PVGV) { | 
 
| 655 | 9 | 0 | if (typ(x) != t_POL || lgef(x) != 4 || | 
 
| 656 | 0 | 9 | !gcmp0((GEN)x[2]) || !gcmp1((GEN)x[3])) | 
 
| 700 | 2 | 1 | if (SvROK(sv)) { | 
 
| 702 | 2 | 0 | if (SvOBJECT(tsv)) { | 
 
| 703 | 1 | 1 | if (SvSTASH(tsv) == pariStash) { | 
 
| 706 | 0 | 1 | GEN x = (GEN)SV_myvoidp_get(tsv); | 
 
|  | 1 | 0 | GEN x = (GEN)SV_myvoidp_get(tsv); | 
 
| 707 | 1 | 0 | if (typ(x) == t_POL	/* Polynomial. */ | 
 
| 708 | 1 | 0 | && lgef(x)==4		/* 2 terms */ | 
 
| 709 | 1 | 0 | && (gcmp0((GEN)x[2]))	/* Free */ | 
 
| 710 | 1 | 0 | && (gcmp1((GEN)x[3]))) { /* Leading */ | 
 
| 716 | 1 | 0 | } else if (SvSTASH(tsv) == pariEpStash) { | 
 
| 722 | 1 | 0 | return (entree*) SV_myvoidp_get(tsv); | 
 
|  | 0 | 0 | return (entree*) SV_myvoidp_get(tsv); | 
 
| 724 | 0 | 0 | } else if (sv_derived_from(sv, "Math::Pari")) { /* Avoid recursion */ | 
 
| 725 | 0 | 0 | if (sv_derived_from(sv, "Math::Pari::Ep")) | 
 
| 732 | 0 | 1 | if (!SvOK(sv)) | 
 
|  | 0 | 0 | if (!SvOK(sv)) | 
 
|  | 0 | 0 | if (!SvOK(sv)) | 
 
| 734 | 1 | 0 | s = SvPV(sv,na); | 
 
| 737 | 6 | 2 | while (isalnum((unsigned char)*s1)) | 
 
| 739 | 2 | 0 | if (*s1 || s1 == s || !isalpha((unsigned char)*s)) { | 
 
|  | 2 | 0 | if (*s1 || s1 == s || !isalpha((unsigned char)*s)) { | 
 
|  | 0 | 2 | if (*s1 || s1 == s || !isalpha((unsigned char)*s)) { | 
 
| 743 | 0 | 0 | if (!generate) | 
 
| 796 | 2 | 1 | if (n < 0 || n >= lg(x)) | 
 
|  | 1 | 1 | if (n < 0 || n >= lg(x)) | 
 
| 859 | 29 | 0 | char *s = SvPV(workErrsv, l); | 
 
| 861 | 29 | 0 | if (s && l) { | 
 
|  | 2 | 27 | if (s && l) { | 
 
| 863 | 2 | 0 | char *nl1 = nl ? memchr(nl+1,'\n',l - (STRLEN)(nl-s+1)) : NULL; | 
 
| 866 | 0 | 2 | if (nl1 && (STRLEN)(nl1 - s) < l - 1) | 
 
|  | 0 | 0 | if (nl1 && (STRLEN)(nl1 - s) < l - 1) | 
 
| 868 | 2 | 0 | else if (nl && (STRLEN)(nl - s) < l - 1) | 
 
|  | 0 | 2 | else if (nl && (STRLEN)(nl - s) < l - 1) | 
 
| 885 | 25 | 0 | char *s = SvPV(errSv,l), *nl, *nl1; | 
 
| 891 | 25 | 0 | if (l && s[l-1] == '\n') | 
 
|  | 0 | 25 | if (l && s[l-1] == '\n') | 
 
| 893 | 25 | 0 | if (l && s[l-1] == '.') | 
 
|  | 23 | 2 | if (l && s[l-1] == '.') | 
 
| 896 | 9 | 16 | nl1 = nl ? memchr(nl+1,'\n',l - (STRLEN)(nl-s+1)) : NULL; | 
 
| 900 | 0 | 25 | if (!cb_exception_resets_avma) | 
 
| 905 | 7 | 18 | if (nl1 && (STRLEN)(nl1 - s) < l - 1) | 
 
|  | 7 | 0 | if (nl1 && (STRLEN)(nl1 - s) < l - 1) | 
 
| 907 | 2 | 16 | else if (nl && (STRLEN)(nl - s) < l - 1) | 
 
|  | 2 | 0 | else if (nl && (STRLEN)(nl - s) < l - 1) | 
 
| 917 | 0 | 25 | if (!cb_exception_resets_avma) | 
 
| 944 | 0 | 1 | if (uv & 0x1) | 
 
| 991 | 52051 | 0 | if (!prefer_str) return readseq(s); | 
 
| 1008 | 4 | 6491075 | if (SvGMAGICAL(sv)) mg_get(sv); /* MAYCHANGE in perlguts.pod - bug in perl */ | 
 
| 1009 | 3816006 | 2675073 | if (SvROK(sv)) { | 
 
| 1011 | 3812866 | 3140 | if (SvOBJECT(tsv)) { | 
 
| 1012 | 3812830 | 36 | if (SvSTASH(tsv) == pariStash) { | 
 
| 1015 | 1499 | 3811333 | return (GEN) SV_myvoidp_get(tsv); | 
 
|  | 3811333 | 0 | return (GEN) SV_myvoidp_get(tsv); | 
 
| 1017 | 34 | 2 | } else if (SvSTASH(tsv) == pariEpStash) { | 
 
| 1020 | 34 | 0 | return (GEN)(((entree*) SV_myvoidp_get(tsv))->value); | 
 
|  | 0 | 0 | return (GEN)(((entree*) SV_myvoidp_get(tsv))->value); | 
 
| 1022 | 2 | 0 | } else if (sv_derived_from(sv, "Math::Pari")) { /* Avoid recursion */ | 
 
| 1023 | 0 | 2 | if (sv_derived_from(sv, "Math::Pari::Ep")) | 
 
| 1031 | 3140 | 0 | if (type==SVt_PVAV) { | 
 
| 1036 | 6042 | 3140 | for (i=0;i<=len;i++) { | 
 
| 1038 | 0 | 6042 | if (!svp) croak("Internal error in sv2pari!"); | 
 
| 1039 | 0 | 6042 | ret[i+1]=(long)sv2pariHow(*svp, prefer_str > 1 ? 2 : 0); | 
 
| 1043 | 0 | 0 | return readseq(SvPV(sv,na)); /* For overloading */ | 
 
| 1047 | 2622649 | 52424 | else if (SvIOK(sv)) return PerlInt_to_i(sv); | 
 
|  | 1 | 2622648 | else if (SvIOK(sv)) return PerlInt_to_i(sv); | 
 
|  | 1 | 0 | else if (SvIOK(sv)) return PerlInt_to_i(sv); | 
 
|  | 2622648 | 0 | else if (SvIOK(sv)) return PerlInt_to_i(sv); | 
 
| 1048 | 372 | 52052 | else if (SvNOK(sv)) { | 
 
| 1049 | 372 | 0 | double n = (double)SvNV(sv); | 
 
| 1062 | 52051 | 1 | else if (SvPOK(sv))  return str2gen(SvPV(sv,na), prefer_str); | 
 
|  | 52051 | 0 | else if (SvPOK(sv))  return str2gen(SvPV(sv,na), prefer_str); | 
 
| 1063 | 0 | 1 | else if (SvIOKp(sv)) return PerlInt_to_i(sv); | 
 
|  | 0 | 0 | else if (SvIOKp(sv)) return PerlInt_to_i(sv); | 
 
|  | 0 | 0 | else if (SvIOKp(sv)) return PerlInt_to_i(sv); | 
 
|  | 0 | 0 | else if (SvIOKp(sv)) return PerlInt_to_i(sv); | 
 
| 1064 | 0 | 1 | else if (SvNOKp(sv)) return dbltor((double)SvNV(sv)); | 
 
|  | 0 | 0 | else if (SvNOKp(sv)) return dbltor((double)SvNV(sv)); | 
 
| 1065 | 0 | 1 | else if (SvPOKp(sv)) return str2gen(SvPV(sv,na), prefer_str); | 
 
|  | 0 | 0 | else if (SvPOKp(sv)) return str2gen(SvPV(sv,na), prefer_str); | 
 
| 1066 | 1 | 0 | else if (SvOK(sv))   croak("Variable in sv2pari is not of known type"); | 
 
|  | 1 | 0 | else if (SvOK(sv))   croak("Variable in sv2pari is not of known type"); | 
 
|  | 0 | 1 | else if (SvOK(sv))   croak("Variable in sv2pari is not of known type"); | 
 
| 1068 | 0 | 1 | if (warn_undef) warn("undefined value in sv2pari"); | 
 
| 1076 | 289 | 0 | if (typ(in)==t_VEC) { | 
 
| 1080 | 361 | 289 | for (;len;len--) { | 
 
| 1083 | 361 | 0 | if ((t=typ(elt)) == t_VEC) { | 
 
| 1085 | 0 | 0 | } else if (t != t_COL) { | 
 
| 1088 | 0 | 361 | if (lg(elt)!=l) { | 
 
| 1093 | 0 | 0 | } else if (typ(in) != t_MAT) { | 
 
| 1111 | 0 | 35798 | if (typ(in) != t_INT) | 
 
| 1119 | 0 | 86 | if (sizeof(long) >= sizeof(IV) && in[2] < 0) | 
 
| 1132 | 0 | 35798 | if (overflow) { | 
 
| 1134 | 0 | 0 | if (signe(in) > 0) { | 
 
| 1143 | 35716 | 82 | return newSViv(signe(in) > 0 ? (IV)uv : -(IV)uv); | 
 
| 1161 | 0 | 1 | if (typ(x)==t_REAL) return rtodbl(x); | 
 
| 1202 | 6 | 442 | renewWorkSv; | 
 
|  | 6 | 0 | renewWorkSv; | 
 
| 1203 | 1 | 447 | if (typ(in) == t_STR)		/* Puts "" around without special-casing */ | 
 
| 1220 | 14 | 0 | if(digits>0) {fmt_nbPset(digits); prec_digits_set(digits);} | 
 
| 1241 | 1 | 0 | if(digits>0) {precdl = digits;} | 
 
| 1255 | 0 | 0 | if (n != 0) { | 
 
| 1273 | 0 | 810 | renewWorkSv; | 
 
|  | 0 | 0 | renewWorkSv; | 
 
| 1285 | 0 | 0 | renewWorkSv; | 
 
|  | 0 | 0 | renewWorkSv; | 
 
| 1301 | 0 | 0 | renewWorkSv; | 
 
|  | 0 | 0 | renewWorkSv; | 
 
| 1314 | 15 | 458287 | setSVpari_keep_avma(sv, in, oldavma); | 
 
|  | 15 | 0 | setSVpari_keep_avma(sv, in, oldavma); | 
 
|  | 419446 | 38856 | setSVpari_keep_avma(sv, in, oldavma); | 
 
|  | 15 | 419431 | setSVpari_keep_avma(sv, in, oldavma); | 
 
| 1333 | 0 | 0 | if(!x[0]) { /* user function */ | 
 
| 1336 | 0 | 0 | } else if (x==bernzone) { | 
 
| 1346 | 0 | 0 | case G_SCALAR: sv_catpvf(d->acc, " %2ld: %s\n", | 
 
| 1390 | 2 | 0 | if (SvROK(sv)) { | 
 
| 1393 | 2 | 0 | if (g && SvOBJECT(tsv)) { | 
 
|  | 2 | 0 | if (g && SvOBJECT(tsv)) { | 
 
| 1396 | 2 | 0 | if (SvSTASH(tsv) == pariStash) { | 
 
| 1401 | 2 | 0 | tmp = SvIV(tsv); | 
 
| 1419 | 0 | 2 | if (tmp == PTR2IV(g))		/* Did not change */ | 
 
| 1424 | 0 | 2 | setSVpari_keep_avma(sv,g,oldavma); | 
 
|  | 0 | 0 | setSVpari_keep_avma(sv,g,oldavma); | 
 
|  | 2 | 0 | setSVpari_keep_avma(sv,g,oldavma); | 
 
|  | 0 | 2 | setSVpari_keep_avma(sv,g,oldavma); | 
 
| 1440 | 1289871 | 1231952 | for (sv1 = PariStack; sv1 != sv; sv1 = nextsv) { | 
 
| 1442 | 491 | 1289380 | SV_OAVMA_switch(nextsv, sv1, GENmovedOffStack);	/* Mark as moved off stack. */ | 
 
| 1443 | 491 | 1289380 | SV_myvoidp_reset_clone(sv1);			/* Relocate to cloned */ | 
 
|  | 1289380 | 0 | SV_myvoidp_reset_clone(sv1);			/* Relocate to cloned */ | 
 
| 1477 | 0 | 458300 | PUSHMARK(sp); | 
 
| 1478 | 458300 | 0 | EXTEND(sp, numargs + 1); | 
 
|  | 0 | 458300 | EXTEND(sp, numargs + 1); | 
 
| 1479 | 458302 | 458300 | for (i = 0; i < numargs; i++) { | 
 
| 1482 | 458302 | 0 | PUSHs(pari2mortalsv(va_arg(args, GEN), oldavma)); | 
 
| 1487 | 71 | 458229 | if (rettype == G_VOID && count == 1) | 
 
|  | 0 | 71 | if (rettype == G_VOID && count == 1) | 
 
| 1491 | 0 | 458300 | if (count != (rettype == G_SCALAR)) | 
 
| 1494 | 458229 | 71 | if (rettype == G_SCALAR) | 
 
| 1498 | 458299 | 1 | FREETMPS ; | 
 
| 1501 | 71 | 458229 | if (rettype == G_VOID) | 
 
| 1505 | 52262 | 405967 | if (PariStack != oPariStack) | 
 
| 1546 | 1 | 9 | if(SvROK(cv)) | 
 
| 1549 | 9 | 1 | if (numargs < 0 && SvPOK(cv) && (s0 = s = SvPV(cv,len))) { | 
 
|  | 9 | 0 | if (numargs < 0 && SvPOK(cv) && (s0 = s = SvPV(cv,len))) { | 
 
|  | 9 | 0 | if (numargs < 0 && SvPOK(cv) && (s0 = s = SvPV(cv,len))) { | 
 
|  | 9 | 0 | if (numargs < 0 && SvPOK(cv) && (s0 = s = SvPV(cv,len))) { | 
 
| 1554 | 11 | 9 | while (s < end && *s == '$') | 
 
|  | 11 | 0 | while (s < end && *s == '$') | 
 
| 1556 | 0 | 9 | if (s < end && *s == ';') | 
 
|  | 0 | 0 | if (s < end && *s == ';') | 
 
| 1558 | 0 | 9 | while (s < end && *s == '$') | 
 
|  | 0 | 0 | while (s < end && *s == '$') | 
 
| 1560 | 0 | 9 | if (s < end && *s == '@') { | 
 
|  | 0 | 0 | if (s < end && *s == '@') { | 
 
| 1564 | 9 | 0 | if (s == end) {			/* Got it! */ | 
 
| 1571 | 0 | 10 | if (numargs < 0) {		/* Variable number of arguments. */ | 
 
| 1575 | 0 | 10 | } else if (numargs >= 256) { | 
 
| 1583 | 0 | 10 | while (opt--) { | 
 
| 1599 | 10 | 0 | if (code != (char*)defcode) | 
 
| 1601 | 0 | 10 | if (help) | 
 
| 1609 | 0 | 0 | if (!ep->code || (*ep->code != 'x')) { | 
 
|  | 0 | 0 | if (!ep->code || (*ep->code != 'x')) { | 
 
| 1612 | 0 | 0 | if (ep->code && (ep->code != (char *)defcode)) | 
 
|  | 0 | 0 | if (ep->code && (ep->code != (char *)defcode)) | 
 
| 1632 | 2 | 0 | if (newsize) { | 
 
| 1639 | 0 | 2 | if (pari_mainstack->vsize) | 
 
| 1641 | 2 | 0 | else if (newsize != pari_mainstack->rsize) | 
 
| 1675 | 12 | 7182 | if (doing_PARI_autoload) | 
 
| 1678 | 0 | 7182 | if (hv_fetch(converted, s, len, FALSE)) | 
 
| 1684 | 7173 | 9 | if (cv == Nullcv) { | 
 
| 1704 | 0 | 0 | PUSHMARK(sp); | 
 
| 1713 | 0 | 0 | FREETMPS ; | 
 
| 1718 | 0 | 0 | if (PariStack != oPariStack) | 
 
| 1736 | 0 | 47 | if (!is_matvec_t(typ(g))) | 
 
| 1738 | 47 | 0 | if (n >= l || n < 0) | 
 
|  | 0 | 47 | if (n >= l || n < 0) | 
 
| 1752 | 0 | 6 | if (!is_matvec_t(typ(g))) | 
 
| 1754 | 6 | 0 | if (n >= l || n < 0) | 
 
|  | 0 | 6 | if (n >= l || n < 0) | 
 
| 1760 | 4 | 2 | if (typ(g) == t_MAT) { | 
 
| 1763 | 4 | 0 | if (typ(elt) != t_COL) { | 
 
| 1764 | 1 | 3 | if (typ(elt) != t_VEC) | 
 
| 1768 | 2 | 1 | if (lg(elt)!=l && len != 2) | 
 
|  | 1 | 1 | if (lg(elt)!=l && len != 2) | 
 
| 1775 | 2 | 2 | if (docol) | 
 
| 1779 | 0 | 4 | if (isclone(old)) killbloc(old); | 
 
| 1793 | 0 | 0 | for (i=0; ptrs; i++,ptrs>>=1) | 
 
| 1794 | 0 | 0 | if (ptrs & 1) *((GEN*)argvec[i]) = gclone(*((GEN*)argvec[i])); | 
 
| 1853 | 0 | 71 | if (PariStack != oPariStack) | 
 
| 1868 | 0 | 422463 | if (PariStack != oPariStack) | 
 
| 1880 | 0 | 0 | setSVpari_keep_avma(tr->var1, arg1, oldavma); | 
 
|  | 0 | 0 | setSVpari_keep_avma(tr->var1, arg1, oldavma); | 
 
|  | 0 | 0 | setSVpari_keep_avma(tr->var1, arg1, oldavma); | 
 
|  | 0 | 0 | setSVpari_keep_avma(tr->var1, arg1, oldavma); | 
 
| 1884 | 0 | 0 | if (PariStack != oPariStack) | 
 
| 1902 | 775 | 7 | if (!SvPOK(cv) || !(s = SvPV(cv,len)) || len != 1 || s[0] != '$') { | 
 
|  | 775 | 0 | if (!SvPOK(cv) || !(s = SvPV(cv,len)) || len != 1 || s[0] != '$') { | 
 
|  | 775 | 0 | if (!SvPOK(cv) || !(s = SvPV(cv,len)) || len != 1 || s[0] != '$') { | 
 
|  | 775 | 0 | if (!SvPOK(cv) || !(s = SvPV(cv,len)) || len != 1 || s[0] != '$') { | 
 
|  | 0 | 775 | if (!SvPOK(cv) || !(s = SvPV(cv,len)) || len != 1 || s[0] != '$') { | 
 
| 1911 | 6 | 769 | return snm_closure((entree*) (is_void ? &eH_vG : &eH_G), extraargs); | 
 
| 1933 | 0 | 1198 | if (!ep) | 
 
| 1935 | 0 | 1198 | if (!s) | 
 
| 1940 | 7767 | 951 | while (*s) { | 
 
| 1941 | 0 | 7767 | if (i >= ARGS_SUPPORTED - 1) | 
 
| 1956 | 138 | 4 | argvec[i++] = (GEN) (long)SvIV(args[j]); | 
 
| 1972 | 0 | 607 | if (*s != '=') | 
 
| 1974 | 0 | 607 | if (saw_V >= MaxPariVar) | 
 
| 1994 | 0 | 844 | if (!args[j]) | 
 
| 1996 | 0 | 844 | if (saw_V > 1) { | 
 
| 1997 | 0 | 0 | if (saw_V > 2) | 
 
| 2000 | 607 | 237 | } else if (saw_V == 1) { | 
 
| 2001 | 607 | 0 | AssignPariExprR(expr,args[j], 'I'==s[-1], LoopVar(0)); | 
 
|  | 607 | 0 | AssignPariExprR(expr,args[j], 'I'==s[-1], LoopVar(0)); | 
 
| 2009 | 10 | 10 | if (*s == '*') { | 
 
| 2015 | 10 | 10 | while (j < items) | 
 
| 2020 | 10 | 0 | argvec[i++] = (GEN) SvPV(args[j],na); | 
 
| 2041 | 1681 | 275 | if (j >= items || !SvOK(args[j])) | 
 
|  | 482 | 1199 | if (j >= items || !SvOK(args[j])) | 
 
|  | 482 | 0 | if (j >= items || !SvOK(args[j])) | 
 
|  | 482 | 0 | if (j >= items || !SvOK(args[j])) | 
 
| 2043 | 482 | 275 | if (j < items) | 
 
| 2046 | 632 | 125 | if ( *s == 'G' || *s == '&' | 
 
|  | 622 | 10 | if ( *s == 'G' || *s == '&' | 
 
| 2047 | 622 | 0 | || *s == 'r' || *s == 's' | 
 
|  | 622 | 0 | || *s == 'r' || *s == 's' | 
 
| 2048 | 622 | 0 | || *s == 'E' || *s == 'I' || *s == 'V') { | 
 
|  | 622 | 0 | || *s == 'E' || *s == 'I' || *s == 'V') { | 
 
|  | 474 | 148 | || *s == 'E' || *s == 'I' || *s == 'V') { | 
 
| 2052 | 9 | 139 | if (*s == 'n')              { | 
 
| 2056 | 3 | 136 | if (*s == 'P')              { | 
 
| 2060 | 274 | 0 | while (*s && *s++ != ','); | 
 
|  | 138 | 136 | while (*s && *s++ != ','); | 
 
| 2061 | 0 | 136 | if (!*s) | 
 
| 2062 | 0 | 0 | if (!s[0] && s[-1] != ',') | 
 
|  | 0 | 0 | if (!s[0] && s[-1] != ',') | 
 
| 2066 | 0 | 0 | if (pre[0] == '\"' && pre[1] == '\"' | 
 
|  | 0 | 0 | if (pre[0] == '\"' && pre[1] == '\"' | 
 
| 2067 | 0 | 0 | && s - pre == 3) { | 
 
| 2080 | 0 | 0 | if ((*pre == '1' || *pre == '0') && pre[1]==',') { | 
 
|  | 0 | 0 | if ((*pre == '1' || *pre == '0') && pre[1]==',') { | 
 
|  | 0 | 0 | if ((*pre == '1' || *pre == '0') && pre[1]==',') { | 
 
| 2082 | 0 | 0 | ? gen_1 : gen_0); | 
 
| 2093 | 320 | 879 | if (*s == 'G' || *s == '&' || *s == 'n' | 
 
|  | 318 | 2 | if (*s == 'G' || *s == '&' || *s == 'n' | 
 
|  | 313 | 5 | if (*s == 'G' || *s == '&' || *s == 'n' | 
 
| 2094 | 313 | 0 | || *s == 'P' || *s == 'r' || *s == 's' | 
 
|  | 313 | 0 | || *s == 'P' || *s == 'r' || *s == 's' | 
 
|  | 313 | 0 | || *s == 'P' || *s == 'r' || *s == 's' | 
 
| 2095 | 76 | 237 | || *s == 'E' || *s == 'I' || *s == 'V') | 
 
|  | 76 | 0 | || *s == 'E' || *s == 'I' || *s == 'V') | 
 
|  | 76 | 0 | || *s == 'E' || *s == 'I' || *s == 'V') | 
 
| 2097 | 288 | 0 | while (*s && *s++ != ','); | 
 
|  | 76 | 212 | while (*s && *s++ != ','); | 
 
| 2098 | 94 | 118 | if (!s[0] && s[-1] != ',') { | 
 
|  | 0 | 94 | if (!s[0] && s[-1] != ',') { | 
 
| 2129 | 9 | 0 | if (saw_M) { | 
 
| 2137 | 0 | 7520 | if (j > items) | 
 
| 2140 | 0 | 951 | if (j < items) | 
 
| 2154 | 2 | 2 | while (c-- > 0) | 
 
| 2165 | 0 | 1 | if (!sign) | 
 
| 2226 | 0 | 0 | if (newvalue >= 0) | 
 
| 2238 | 0 | 255863 | return (EpVALENCE(ep) == 0 || (EpVALENCE(ep) != EpNEW && typ((GEN)(ep->value))==t_CLOSURE));	/* == EpVAR */ | 
 
|  | 0 | 0 | return (EpVALENCE(ep) == 0 || (EpVALENCE(ep) != EpNEW && typ((GEN)(ep->value))==t_CLOSURE));	/* == EpVAR */ | 
 
|  | 0 | 0 | return (EpVALENCE(ep) == 0 || (EpVALENCE(ep) != EpNEW && typ((GEN)(ep->value))==t_CLOSURE));	/* == EpVAR */ | 
 
| 2279 | 34510 | 258706 | return tag >= INTERNAL_TAG_start && tag <= INTERNAL_TAG_end; | 
 
|  | 34510 | 0 | return tag >= INTERNAL_TAG_start && tag <= INTERNAL_TAG_end; | 
 
| 2298 | 0 | 0 | gand(GEN x, GEN y) { return gequal0(x)? gen_0: (gequal0(y)? gen_0: gen_1); } | 
 
|  | 0 | 0 | gand(GEN x, GEN y) { return gequal0(x)? gen_0: (gequal0(y)? gen_0: gen_1); } | 
 
| 2301 | 0 | 0 | gor(GEN x, GEN y) { return gequal0(x)? (gequal0(y)? gen_0: gen_1): gen_1; } | 
 
|  | 0 | 0 | gor(GEN x, GEN y) { return gequal0(x)? (gequal0(y)? gen_0: gen_1): gen_1; } | 
 
| 2376 | 35791 | 0 | if (typ(in) == t_INT) { | 
 
| 2391 | 0 | 0 | if (typ(in) == t_INT) { | 
 
| 2429 | 53132 | 0 | if (items==1) { | 
 
| 2435 | 0 | 0 | for (i=0;i | 
 
| 2446 | 3 | 0 | if (items==1) { | 
 
| 2448 | 3 | 0 | if (t_VEC == typ(RETVAL)) | 
 
| 2454 | 0 | 0 | for (i=0;i | 
 
| 2469 | 0 | 0 | for (i=0;i | 
 
| 2482 | 25 | 12 | for (i=0;i | 
 
| 2493 | 289 | 0 | if (items==1) { | 
 
| 2499 | 0 | 0 | for (i=0;i | 
 
| 2501 | 0 | 0 | if (t_VEC == typ((GEN)(RETVAL[i+1]))) { | 
 
| 2503 | 0 | 0 | } else if (t_COL != typ((GEN)(RETVAL[i+1]))) { | 
 
| 2518 | 0 | 0 | for (i=0;i | 
 
| 2520 | 0 | 0 | if (t_VEC == typ((GEN)(RETVAL[i+1]))) { | 
 
| 2522 | 0 | 0 | } else if (t_COL != typ((GEN)(RETVAL[i+1]))) { | 
 
| 2558 | 0 | 69 | if (rettype != RETTYPE_VOID) | 
 
| 2562 | 0 | 58 | if (has_pointer) | 
 
| 2564 | 0 | 58 | if (OUT_cnt) | 
 
| 2586 | 0 | 879 | if (rettype != RETTYPE_GEN) | 
 
| 2590 | 0 | 873 | if (has_pointer) | 
 
| 2592 | 2 | 871 | if (OUT_cnt) | 
 
| 2616 | 0 | 8 | if (rettype != RETTYPE_LONG) | 
 
| 2620 | 0 | 8 | if (has_pointer) | 
 
| 2622 | 0 | 8 | if (OUT_cnt) | 
 
| 2646 | 0 | 5 | if (rettype != RETTYPE_INT) | 
 
| 2651 | 0 | 5 | if (has_pointer) | 
 
| 2653 | 0 | 5 | if (OUT_cnt) | 
 
| 2666 | 0 | 2705 | if (!FUNCTION) { | 
 
| 2682 | 0 | 1499 | if (!FUNCTION) { | 
 
| 2699 | 0 | 36785 | if (!FUNCTION) { | 
 
| 2720 | 0 | 12914 | if (!FUNCTION) { | 
 
| 2739 | 0 | 8 | if (!FUNCTION) { | 
 
| 2762 | 0 | 0 | if (!FUNCTION) { | 
 
| 2783 | 0 | 24 | if (!FUNCTION) { | 
 
| 2800 | 0 | 0 | if (!FUNCTION) { | 
 
| 2819 | 0 | 380 | if (!FUNCTION) { | 
 
| 2837 | 0 | 80 | if (!FUNCTION) { | 
 
| 2858 | 0 | 2941217 | if (!FUNCTION) { | 
 
| 2862 | 2027098 | 914119 | RETVAL = inv? FUNCTION(arg2,arg1): FUNCTION(arg1,arg2); | 
 
| 2876 | 0 | 2 | if (!FUNCTION) { | 
 
| 2899 | 0 | 69 | if (!FUNCTION) { | 
 
| 2903 | 7 | 62 | RETVAL = (inv? FUNCTION(arg2,arg1): FUNCTION(arg1,arg2)) == gen_1; | 
 
| 2922 | 0 | 0 | if (!FUNCTION) { | 
 
| 2926 | 0 | 0 | RETVAL = inv? FUNCTION(arg2,arg1): FUNCTION(arg1,arg2); | 
 
| 2945 | 0 | 20 | if (!FUNCTION) { | 
 
| 2949 | 2 | 18 | RETVAL = inv? FUNCTION(arg2,arg1): FUNCTION(arg1,arg2); | 
 
| 2965 | 0 | 11 | if (!FUNCTION) { | 
 
| 2984 | 0 | 18 | if (!FUNCTION) { | 
 
| 3003 | 0 | 0 | if (!FUNCTION) { | 
 
| 3025 | 0 | 0 | if (!FUNCTION) { | 
 
| 3045 | 0 | 0 | if (!FUNCTION) { | 
 
| 3063 | 0 | 0 | if (!FUNCTION) { | 
 
| 3082 | 0 | 6 | if (!FUNCTION) { | 
 
| 3100 | 0 | 47 | if (!FUNCTION) { | 
 
| 3104 | 1 | 46 | RETVAL=FUNCTION(arg1,arg2 ? numvar(arg2) : -1); | 
 
| 3118 | 0 | 0 | if (!FUNCTION) { | 
 
| 3141 | 0 | 3 | if (!FUNCTION) { | 
 
| 3144 | 1 | 2 | if (inv) { | 
 
| 3146 | 0 | 1 | arg2 = (long)SvIV(ST(0)); | 
 
| 3149 | 2 | 0 | arg2 = (long)SvIV(ST(1)); | 
 
| 3167 | 0 | 1 | if (!FUNCTION) { | 
 
| 3188 | 0 | 9 | if (!FUNCTION) { | 
 
| 3206 | 0 | 3 | if (!FUNCTION) { | 
 
| 3225 | 0 | 16 | if (!FUNCTION) { | 
 
| 3244 | 0 | 2 | if (!FUNCTION) { | 
 
| 3263 | 0 | 0 | if (!FUNCTION) { | 
 
| 3285 | 0 | 25 | if (!FUNCTION) { | 
 
| 3307 | 0 | 0 | if (!FUNCTION) { | 
 
| 3325 | 0 | 0 | if (!FUNCTION) { | 
 
| 3347 | 0 | 1 | if (!FUNCTION) { | 
 
| 3351 | 0 | 1 | RETVAL=FUNCTION(arg1, arg2, arg3, arg4 ? &arg4 : NULL); | 
 
| 3366 | 0 | 2 | if (!FUNCTION) { | 
 
| 3386 | 0 | 0 | if (!FUNCTION) { | 
 
| 3404 | 0 | 0 | if (!FUNCTION) { | 
 
| 3421 | 0 | 22 | if (!FUNCTION) { | 
 
| 3441 | 0 | 2 | if (!FUNCTION) { | 
 
| 3465 | 0 | 137 | if (!FUNCTION) { | 
 
| 3489 | 0 | 0 | if (!FUNCTION) { | 
 
| 3512 | 0 | 0 | # arg1 and arg2 may finish to be the same entree*, like after $x=$y=PARIvar 'x' | 
 
|  | 0 | 0 | # arg1 and arg2 may finish to be the same entree*, like after $x=$y=PARIvar 'x' | 
 
| 3513 | 0 | 0 | if (arg1 == arg2 && arg1) { | 
 
| 3523 | 0 | 0 | #endif | 
 
| 3548 | 0 | 1 | if (!FUNCTION) { | 
 
| 3570 | 0 | 11 | if (!FUNCTION) { | 
 
| 3592 | 0 | 0 | if (!FUNCTION) { | 
 
| 3611 | 0 | 0 | if (!FUNCTION) { | 
 
| 3629 | 0 | 0 | if (!FUNCTION) { | 
 
| 3648 | 0 | 0 | if (!FUNCTION) { | 
 
| 3669 | 0 | 6 | if (!FUNCTION) { | 
 
| 3692 | 0 | 0 | if (!FUNCTION) { | 
 
| 3716 | 0 | 1 | if (!FUNCTION) { | 
 
| 3739 | 0 | 1 | if (!FUNCTION) { | 
 
| 3789 | 8337 | 247640 | if (*name=='g') { | 
 
| 3792 | 1 | 5236 | if (strEQ(name,"gadd")) { | 
 
| 3795 | 0 | 5236 | } else if (strEQ(name,"gand")) { | 
 
| 3801 | 0 | 476 | if (strEQ(name,"gcmp0")) { | 
 
| 3804 | 0 | 476 | } else if (strEQ(name,"gcmp1")) { | 
 
| 3807 | 0 | 476 | } else if (strEQ(name,"gcmp_1")) { | 
 
| 3810 | 0 | 476 | } else if (strEQ(name,"gcmp")) { | 
 
| 3816 | 0 | 2 | if (strEQ(name,"gdiv")) { | 
 
| 3819 | 1 | 1 | } else if (strEQ(name,"gdivent")) { | 
 
| 3822 | 1 | 0 | } else if (strEQ(name,"gdivround")) { | 
 
| 3828 | 1 | 2618 | if (strEQ(name,"geq")) { | 
 
| 3831 | 2618 | 0 | } else if (strEQ(name,"gegal") || strEQ(name,"gequal")) {	/* old name */ | 
 
|  | 0 | 2618 | } else if (strEQ(name,"gegal") || strEQ(name,"gequal")) {	/* old name */ | 
 
| 3837 | 0 | 0 | if (strEQ(name,"gge")) { | 
 
| 3840 | 0 | 0 | } else if (strEQ(name,"ggt")) { | 
 
| 3846 | 0 | 0 | if (strEQ(name,"gle")) { | 
 
| 3849 | 0 | 0 | } else if (strEQ(name,"glt")) { | 
 
| 3855 | 0 | 0 | if (strEQ(name,"gmul")) { | 
 
| 3858 | 0 | 0 | } else if (strEQ(name,"gmod")) { | 
 
| 3864 | 0 | 1 | if (strEQ(name,"gneg")) { | 
 
| 3867 | 1 | 0 | } else if (strEQ(name,"gne")) { | 
 
| 3873 | 0 | 0 | if (strEQ(name,"gor")) { | 
 
| 3879 | 0 | 1 | if (strEQ(name,"gpui") || strEQ(name,"gpow")) { | 
 
|  | 0 | 0 | if (strEQ(name,"gpui") || strEQ(name,"gpow")) { | 
 
| 3885 | 1 | 0 | if (strEQ(name,"gsub")) { | 
 
| 3891 | 105 | 247535 | } else if (*name=='_') { | 
 
| 3892 | 102 | 3 | if (name[1] == 'g') { | 
 
| 3895 | 16 | 0 | if (strEQ(name,"_gadd")) { | 
 
| 3898 | 0 | 0 | } else if (strEQ(name,"_gand")) { | 
 
| 3905 | 1 | 5 | if (strEQ(name,"_gbitand")) { | 
 
| 3908 | 1 | 4 | } else if (strEQ(name,"_gbitor")) { | 
 
| 3911 | 1 | 3 | } else if (strEQ(name,"_gbitxor")) { | 
 
| 3914 | 1 | 2 | } else if (strEQ(name,"_gbitneg")) { | 
 
| 3918 | 2 | 0 | } else if (strEQ(name,"_gbitshiftl")) { | 
 
| 3931 | 0 | 0 | if (strEQ(name,"_gcmp")) { | 
 
| 3934 | 0 | 0 | } else if (strEQ(name,"_gcmp0")) { | 
 
| 3940 | 15 | 0 | if (strEQ(name,"_gdiv")) { | 
 
| 3946 | 2 | 0 | if (strEQ(name,"_geq")) { | 
 
| 3952 | 1 | 0 | if (strEQ(name,"_gge")) { | 
 
| 3955 | 0 | 0 | } else if (strEQ(name,"_ggt")) { | 
 
| 3961 | 1 | 3 | if (strEQ(name,"_gle")) { | 
 
| 3964 | 3 | 0 | } else if (strEQ(name,"_glt")) { | 
 
| 3970 | 17 | 2 | if (strEQ(name,"_gmul")) { | 
 
| 3973 | 2 | 0 | } else if (strEQ(name,"_gmod")) { | 
 
| 3979 | 9 | 1 | if (strEQ(name,"_gneg")) { | 
 
| 3982 | 1 | 0 | } else if (strEQ(name,"_gne")) { | 
 
| 3988 | 0 | 0 | if (strEQ(name,"_gor")) { | 
 
| 3994 | 15 | 0 | if (strEQ(name,"_gpui")) { | 
 
| 4000 | 14 | 0 | if (strEQ(name,"_gsub")) { | 
 
| 4009 | 1 | 0 | if (strEQ(name,"_abs")) { | 
 
| 4015 | 0 | 0 | if (strEQ(name,"_cos")) { | 
 
| 4021 | 1 | 0 | if (strEQ(name,"_exp")) { | 
 
| 4027 | 1 | 0 | if (strEQ(name,"_lex")) { | 
 
| 4030 | 0 | 0 | } else if (strEQ(name,"_log")) { | 
 
| 4036 | 0 | 0 | if (strEQ(name,"_sin")) { | 
 
| 4039 | 0 | 0 | } else if (strEQ(name,"_sqrt")) { | 
 
| 4047 | 255865 | 112 | if (!func) { | 
 
| 4057 | 2 | 255863 | if (!ep) | 
 
| 4060 | 255863 | 0 | if (ep && isPariFunction(ep)) { | 
 
|  | 255863 | 0 | if (ep && isPariFunction(ep)) { | 
 
| 4064 | 255863 | 0 | if (ep->code	/* This is in func_codes.h: */ | 
 
|  | 253720 | 2143 | if (ep->code	/* This is in func_codes.h: */ | 
 
| 4065 | 125435 | 128285 | && (*(ep->code) ? (PERL_constant_ISIV == func_ord_by_type (aTHX_ ep->code, | 
 
| 4083 | 0 | 255863 | if (!func) { | 
 
| 4088 | 0 | 255975 | if (func == unsupported) { | 
 
| 4091 | 255975 | 0 | } else if (func) { | 
 
| 4103 | 0 | 715 | if (!ep->code) { | 
 
| 4105 | 715 | 0 | } else if (ep->code[0] == 'p' && ep->code[1] == 0) { | 
 
|  | 715 | 0 | } else if (ep->code[0] == 'p' && ep->code[1] == 0) { | 
 
| 4107 | 0 | 0 | } else if (ep->code[0] == 0) { | 
 
| 4166 | 0 | 129713 | if (!ep) | 
 
| 4169 | 0 | 129713 | if (!ep->code) | 
 
| 4174 | 0 | 129713 | if (*s1 == 'x') | 
 
| 4176 | 13328 | 116385 | if (*s1 == 'v') { | 
 
| 4180 | 7378 | 109007 | else if (*s1 == 'l') { | 
 
| 4184 | 4046 | 104961 | else if (*s1 == 'i') { | 
 
| 4198 | 255975 | 0 | if (protocv) { | 
 
| 4199 | 255975 | 0 | proto = SvPV((SV*)protocv,na); | 
 
| 4204 | 255975 | 0 | if (proto) | 
 
| 4206 | 129713 | 126262 | XSINTERFACE_FUNC_SET(RETVAL, flexible ? (void*)ep : (void*)func); | 
 
| 4208 | 0 | 0 | croak( "Cannot load a Pari macro `%s': macros are unsupported; VALENCE=%#04x, code=<%s>, isFunction=%d, EpVAR=%d", | 
 
|  | 0 | 0 | croak( "Cannot load a Pari macro `%s': macros are unsupported; VALENCE=%#04x, code=<%s>, isFunction=%d, EpVAR=%d", | 
 
| 4226 | 510 | 0 | while (++i <= 1) { | 
 
| 4227 | 255 | 255 | if (i==1) | 
 
| 4234 | 314160 | 255 | for(ep = table; ep->name; ep++)  { | 
 
| 4236 | 293216 | 20944 | if ((tag == -1 && !_is_internal(ep->menu)) || ep->menu == tag) { | 
 
|  | 34510 | 258706 | if ((tag == -1 && !_is_internal(ep->menu)) || ep->menu == tag) { | 
 
|  | 1087 | 54367 | if ((tag == -1 && !_is_internal(ep->menu)) || ep->menu == tag) { | 
 
| 4237 | 259793 | 0 | switch (valence) { | 
 
| 4240 | 1673 | 258120 | if (ep->code == 0) | 
 
| 4292 | 1190 | 256930 | XPUSHs(sv_2mortal(newSVpv(ep->name, 0))); | 
 
| 4305 | 244 | 0 | if (!mem || !SvOK(mem)) { | 
 
|  | 0 | 244 | if (!mem || !SvOK(mem)) { | 
 
|  | 0 | 0 | if (!mem || !SvOK(mem)) { | 
 
|  | 0 | 0 | if (!mem || !SvOK(mem)) { | 
 
| 4308 | 244 | 0 | if (!pri || !SvOK(pri)) { | 
 
|  | 0 | 244 | if (!pri || !SvOK(pri)) { | 
 
|  | 0 | 0 | if (!pri || !SvOK(pri)) { | 
 
|  | 0 | 0 | if (!pri || !SvOK(pri)) { | 
 
| 4311 | 0 | 244 | if (reboot) { | 
 
| 4344 | 244 | 0 | primelimit = SvIV(pri); | 
 
| 4345 | 244 | 0 | parisize = SvIV(mem); | 
 
| 4358 | 244 | 0 | if (!(reboot++)) { | 
 
| 4377 | 244 | 0 | if (!worksv) | 
 
| 4379 | 0 | 244 | if (workErrsv) | 
 
| 4397 | 0 | 244 | if (!GP_DATA->colormap)				/* init_defaults() leaves them NULL */ | 
 
| 4399 | 0 | 244 | if (!GP_DATA->graphcolors) | 
 
| 4423 | 244 | 0 | if (!   code_return_1) { | 
 
| 4435 | 0 | 18 | EXTEND(sp, 4);		/* Got cv + 0, - but on newer Perls, this does not count.  Return 4. */ | 
 
| 4450 | 19 | 0 | switch(GIMME_V) { | 
 
| 4457 | 103 | 19 | for (sv1 = PariStack; sv1 != (SV *) GENfirstOnStack; sv1 = nextsv) { | 
 
| 4458 | 39 | 64 | GEN x = (GEN) SV_myvoidp_get(sv1); | 
 
|  | 64 | 0 | GEN x = (GEN) SV_myvoidp_get(sv1); | 
 
| 4460 | 103 | 0 | sv_catpvf(ret,"%s %2ld: %s\n", pref, i, SvPV_nolen(tmp)); | 
 
| 4464 | 39 | 64 | nextsv = SV_Stack_find_next(sv1); | 
 
| 4467 | 19 | 0 | if(GIMME_V == G_VOID) { | 
 
|  | 19 | 0 | if(GIMME_V == G_VOID) { | 
 
| 4468 | 19 | 0 | PerlIO_puts(PerlIO_stdout(), SvPV_nolen(ret)); | 
 
| 4476 | 0 | 0 | for (sv1 = PariStack; sv1 != (SV *) GENfirstOnStack; sv1 = nextsv) { | 
 
| 4477 | 0 | 0 | GEN x = (GEN) SV_myvoidp_get(sv1); | 
 
|  | 0 | 0 | GEN x = (GEN) SV_myvoidp_get(sv1); | 
 
| 4478 | 0 | 0 | XPUSHs(sv_2mortal(pari_print(x))); | 
 
| 4479 | 0 | 0 | nextsv = SV_Stack_find_next(sv1); | 
 
| 4490 | 0 | 0 | switch(GIMME_V) { | 
 
| 4496 | 0 | 0 | for(; x < (GEN)myPARI_top; x += gsizeword(x), i++) { | 
 
| 4498 | 0 | 0 | sv_catpvf(ret," %2ld: %s\n",i,SvPV_nolen(tmp)); | 
 
| 4501 | 0 | 0 | if(GIMME_V == G_VOID) { | 
 
|  | 0 | 0 | if(GIMME_V == G_VOID) { | 
 
| 4502 | 0 | 0 | PerlIO_puts(PerlIO_stdout(), SvPV_nolen(ret)); | 
 
| 4510 | 0 | 0 | for(; x < (GEN)myPARI_top; x += gsizeword(x), i++) | 
 
| 4511 | 0 | 0 | XPUSHs(sv_2mortal(pari_print(x))); | 
 
| 4518 | 0 | 0 | int context = GIMME_V, m; | 
 
| 4542 | 0 | 0 | if(GIMME_V == G_VOID) { | 
 
|  | 0 | 0 | if(GIMME_V == G_VOID) { | 
 
| 4543 | 0 | 0 | PerlIO_puts(PerlIO_stdout(), SvPV_nolen(tmp)); | 
 
| 4552 | 0 | 0 | for(m = 0; m <= av_len((AV*)ret); m++) | 
 
| 4553 | 0 | 0 | XPUSHs(sv_2mortal(SvREFCNT_inc(*av_fetch((AV*)ret,m,0)))); | 
 
| 4574 | 1175 | 3507437 | SV_OAVMA_PARISTACK_get(sv, oldavma, ostack); | 
 
| 4577 | 1175 | 3507437 | if (SvMAGICAL(sv) && SvTYPE(sv) == SVt_PVAV) { | 
 
|  | 1175 | 0 | if (SvMAGICAL(sv) && SvTYPE(sv) == SVt_PVAV) { | 
 
| 4582 | 1175 | 0 | if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) { | 
 
|  | 1175 | 0 | if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) { | 
 
|  | 1145 | 30 | if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) { | 
 
|  | 1145 | 0 | if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) { | 
 
| 4592 | 1175 | 3507437 | SV_PARISTACK_set(sv, GENheap);	/* To avoid extra free() in moveoff.... */ | 
 
| 4593 | 2469559 | 1039053 | if (ostack == GENheap)	/* Leave it alone? XXXX */ | 
 
| 4595 | 1289871 | 1179688 | else if (ostack == GENmovedOffStack) {/* Know that it _was temporary. */ | 
 
| 4596 | 491 | 1289380 | killbloc((GEN)SV_myvoidp_get(sv)); | 
 
|  | 1289380 | 0 | killbloc((GEN)SV_myvoidp_get(sv)); | 
 
| 4599 | 1179688 | 0 | if (ostack != (char*)PariStack) { /* But not the newest one. */ | 
 
| 4601 | 0 | 1179688 | RUN_IF_DEBUG_PARI( warn("%li items moved off stack, onStack=%ld, offStack=%ld", howmany, (long)onStack, (long)offStack) ); | 
 
| 4608 | 0 | 1179688 | if (oldavma > sentinel) { |