Branch Coverage

Pari.xs
Criterion Covered Total %
branch 489 1014 48.2


line true false branch
219 8696589 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
220 4349031 4347558 if (mg->mg_type == PARI_MAGIC_TYPE
221 4349031 0 && mg->mg_private == PARI_MAGIC_PRIVATE)
534 2293 0 (void)SvUPGRADE((SV*)av, SVt_PVAV);
535 2293 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 1638 46 if (SvROK(sv)) {
702 1638 0 if (SvOBJECT(tsv)) {
703 1637 1 if (SvSTASH(tsv) == pariStash) {
706 3 1634 GEN x = (GEN)SV_myvoidp_get(tsv);
1634 0 GEN x = (GEN)SV_myvoidp_get(tsv);
707 1632 5 if (typ(x) == t_POL /* Polynomial. */
708 1632 0 && lgef(x)==4 /* 2 terms */
709 1632 0 && (gcmp0((GEN)x[2])) /* Free */
710 1632 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 39 7 if (!SvOK(sv))
39 0 if (!SvOK(sv))
39 0 if (!SvOK(sv))
734 6 1 s = SvPV(sv,na);
737 2003 1684 while (isalnum((unsigned char)*s1))
739 1683 1 if (*s1 || s1 == s || !isalpha((unsigned char)*s)) {
1683 0 if (*s1 || s1 == s || !isalpha((unsigned char)*s)) {
0 1683 if (*s1 || s1 == s || !isalpha((unsigned char)*s)) {
743 0 45 if (!generate)
773 1676 5 if (!SvREADONLY(sv)) {
778 1676 5 if (override) {
796 2 1 if (n < 0 || n >= lg(x))
1 1 if (n < 0 || n >= lg(x))
859 14 0 char *s = SvPV(workErrsv, l);
861 14 0 if (s && l) {
0 14 if (s && l) {
863 0 0 char *nl1 = nl ? memchr(nl+1,'\n',l - (STRLEN)(nl-s+1)) : NULL;
866 0 0 if (nl1 && (STRLEN)(nl1 - s) < l - 1)
0 0 if (nl1 && (STRLEN)(nl1 - s) < l - 1)
868 0 0 else if (nl && (STRLEN)(nl - s) < l - 1)
0 0 else if (nl && (STRLEN)(nl - s) < l - 1)
885 14 0 char *s = SvPV(errSv,l), *nl, *nl1;
891 14 0 if (l && s[l-1] == '\n')
0 14 if (l && s[l-1] == '\n')
893 14 0 if (l && s[l-1] == '.')
9 5 if (l && s[l-1] == '.')
896 11 3 nl1 = nl ? memchr(nl+1,'\n',l - (STRLEN)(nl-s+1)) : NULL;
905 2 12 if (nl1 && (STRLEN)(nl1 - s) < l - 1)
2 0 if (nl1 && (STRLEN)(nl1 - s) < l - 1)
907 9 3 else if (nl && (STRLEN)(nl - s) < l - 1)
9 0 else if (nl && (STRLEN)(nl - s) < l - 1)
944 0 1 if (uv & 0x1)
991 2183 0 if (!prefer_str) return readseq(s);
1008 4 20344966 if (SvGMAGICAL(sv)) mg_get(sv); /* MAYCHANGE in perlguts.pod - bug in perl */
1009 13373225 6971745 if (SvROK(sv)) {
1011 13372769 456 if (SvOBJECT(tsv)) {
1012 9028183 4344586 if (SvSTASH(tsv) == pariStash) {
1015 2283 9025902 return (GEN) SV_myvoidp_get(tsv);
9025902 0 return (GEN) SV_myvoidp_get(tsv);
1017 4344584 2 } else if (SvSTASH(tsv) == pariEpStash) {
1020 4344584 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 456 0 if (type==SVt_PVAV) {
1036 1068 456 for (i=0;i<=len;i++) {
1038 0 1068 if (!svp) croak("Internal error in sv2pari!");
1039 0 1068 ret[i+1]=(long)sv2pariHow(*svp, prefer_str > 1 ? 2 : 0);
1043 0 0 return readseq(SvPV(sv,na)); /* For overloading */
1047 6969108 2637 else if (SvIOK(sv)) return PerlInt_to_i(sv);
1 6969107 else if (SvIOK(sv)) return PerlInt_to_i(sv);
1 0 else if (SvIOK(sv)) return PerlInt_to_i(sv);
6969107 0 else if (SvIOK(sv)) return PerlInt_to_i(sv);
1048 381 2256 else if (SvNOK(sv)) {
1049 381 0 double n = (double)SvNV(sv);
1062 2183 73 else if (SvPOK(sv)) return str2gen(SvPV(sv,na), prefer_str);
2183 0 else if (SvPOK(sv)) return str2gen(SvPV(sv,na), prefer_str);
1063 0 73 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 73 else if (SvNOKp(sv)) return dbltor((double)SvNV(sv));
0 0 else if (SvNOKp(sv)) return dbltor((double)SvNV(sv));
1065 0 73 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 73 0 else if (SvOK(sv)) croak("Variable in sv2pari is not of known type");
73 0 else if (SvOK(sv)) croak("Variable in sv2pari is not of known type");
0 73 else if (SvOK(sv)) croak("Variable in sv2pari is not of known type");
1068 0 73 if (warn_undef) warn("undefined value in sv2pari");
1076 62 0 if (typ(in)==t_VEC) {
1080 124 62 for (;len;len--) {
1083 124 0 if ((t=typ(elt)) == t_VEC) {
1085 0 0 } else if (t != t_COL) {
1088 0 124 if (lg(elt)!=l) {
1093 0 0 } else if (typ(in) != t_MAT) {
1111 0 1489 if (typ(in) != t_INT)
1119 0 46 if (sizeof(long) >= sizeof(IV) && in[2] < 0)
1132 0 1489 if (overflow) {
1134 0 0 if (signe(in) > 0) {
1143 1447 42 return newSViv(signe(in) > 0 ? (IV)uv : -(IV)uv);
1161 0 1 if (typ(x)==t_REAL) return rtodbl(x);
1202 51 496 renewWorkSv;
51 0 renewWorkSv;
1203 1 546 if (typ(in) == t_STR) /* Puts "" around without special-casing */
1220 26 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 802 renewWorkSv;
0 0 renewWorkSv;
1285 0 0 renewWorkSv;
0 0 renewWorkSv;
1301 0 0 renewWorkSv;
0 0 renewWorkSv;
1314 0 1566 setSVpari_keep_avma(sv, in, oldavma);
0 0 setSVpari_keep_avma(sv, in, oldavma);
0 0 setSVpari_keep_avma(sv, in, oldavma);
33 1533 setSVpari_keep_avma(sv, in, oldavma);
33 0 setSVpari_keep_avma(sv, in, oldavma);
0 33 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);
0 0 setSVpari_keep_avma(sv,g,oldavma);
2 0 setSVpari_keep_avma(sv,g,oldavma);
2 0 setSVpari_keep_avma(sv,g,oldavma);
0 2 setSVpari_keep_avma(sv,g,oldavma);
1440 5250756 2830218 for (sv1 = PariStack; sv1 != sv; sv1 = nextsv) {
1442 324 5250432 SV_OAVMA_switch(nextsv, sv1, GENmovedOffStack); /* Mark as moved off stack. */
1443 324 5250432 SV_myvoidp_reset_clone(sv1); /* Relocate to cloned */
5250432 0 SV_myvoidp_reset_clone(sv1); /* Relocate to cloned */
1477 0 1473 PUSHMARK(sp);
1478 1473 0 EXTEND(sp, numargs + 1);
0 1473 EXTEND(sp, numargs + 1);
1479 1566 1473 for (i = 0; i < numargs; i++) {
1482 1548 18 PUSHs(pari2mortalsv(va_arg(args, GEN), oldavma));
1487 0 1473 if (rettype == G_VOID && count == 1)
0 0 if (rettype == G_VOID && count == 1)
1491 0 1473 if (count != (rettype == G_SCALAR))
1494 1473 0 if (rettype == G_SCALAR)
1498 1472 1 FREETMPS ;
1501 0 1473 if (rettype == G_VOID)
1505 0 1473 if (PariStack != oPariStack)
1546 1 9 if(SvROK(cv))
1549 9 1 if (numargs < 0 && SvPOK(cv) && (s0 = s = SvPV(cv,len))) {
7 2 if (numargs < 0 && SvPOK(cv) && (s0 = s = SvPV(cv,len))) {
7 0 if (numargs < 0 && SvPOK(cv) && (s0 = s = SvPV(cv,len))) {
7 0 if (numargs < 0 && SvPOK(cv) && (s0 = s = SvPV(cv,len))) {
1554 9 7 while (s < end && *s == '$')
9 0 while (s < end && *s == '$')
1556 0 7 if (s < end && *s == ';')
0 0 if (s < end && *s == ';')
1558 0 7 while (s < end && *s == '$')
0 0 while (s < end && *s == '$')
1560 0 7 if (s < end && *s == '@') {
0 0 if (s < end && *s == '@') {
1564 7 0 if (s == end) { /* Got it! */
1571 2 8 if (numargs < 0) { /* Variable number of arguments. */
1575 0 8 } else if (numargs >= 256) {
1583 0 8 while (opt--) {
1599 8 2 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 1 0 if (newsize) {
1675 12 656 if (doing_PARI_autoload)
1678 0 656 if (hv_fetch(converted, s, len, FALSE))
1684 647 9 if (cv == Nullcv) {
1704 0 2376679 PUSHMARK(sp);
1713 2376679 0 FREETMPS ;
1718 57815 2318864 if (PariStack != oPariStack)
1736 65 0 if (!is_matvec_t(typ(g)))
0 65 if (!is_matvec_t(typ(g)))
1738 65 0 if (n >= l || n < 0)
0 65 if (n >= l || n < 0)
1752 6 0 if (!is_matvec_t(typ(g)))
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]));
1933 0 1946 if (!ep)
1935 0 1946 if (!s)
1939 12443 1946 while (*s) {
1940 0 12443 if (i >= ARGS_SUPPORTED - 1)
1955 133 1 argvec[i++] = (GEN) (long)SvIV(args[j]);
1967 0 1381 if (EpVALENCE(ep1) != EpVAR && *(s-1) == 'V')
0 0 if (EpVALENCE(ep1) != EpVAR && *(s-1) == 'V')
1993 0 1381 if (!args[j])
1995 0 1381 if (saw_V > 1) {
1996 0 0 if (saw_V > 2)
1998 0 0 AssignPariExpr2R(expr,args[j], 'I'==s[-1], LoopVar(0), LoopVar(1));
0 0 AssignPariExpr2R(expr,args[j], 'I'==s[-1], LoopVar(0), LoopVar(1));
0 0 AssignPariExpr2R(expr,args[j], 'I'==s[-1], LoopVar(0), LoopVar(1));
1999 1381 0 } else if (saw_V == 1) {
2000 1381 0 AssignPariExprR(expr,args[j], 'I'==s[-1], LoopVar(0));
1381 0 AssignPariExprR(expr,args[j], 'I'==s[-1], LoopVar(0));
0 0 AssignPariExprR(expr,args[j], 'I'==s[-1], LoopVar(0));
2008 0 0 if (*s == '*') {
2014 0 0 while (j < items)
2019 0 0 argvec[i++] = (GEN) SvPV(args[j],na);
2040 1529 493 if (j >= items || !SvOK(args[j]))
20 1509 if (j >= items || !SvOK(args[j]))
20 0 if (j >= items || !SvOK(args[j]))
20 0 if (j >= items || !SvOK(args[j]))
2042 20 493 if (j < items)
2045 160 353 if ( *s == 'G' || *s == '&'
156 4 if ( *s == 'G' || *s == '&'
2046 156 0 || *s == 'r' || *s == 's'
156 0 || *s == 'r' || *s == 's'
2047 156 0 || *s == 'E' || *s == 'I' || *s == 'V') {
156 0 || *s == 'E' || *s == 'I' || *s == 'V') {
0 156 || *s == 'E' || *s == 'I' || *s == 'V') {
2051 14 142 if (*s == 'n') {
2055 0 142 if (*s == 'P') {
2059 287 0 while (*s && *s++ != ',');
145 142 while (*s && *s++ != ',');
2060 0 142 if (!*s)
2061 0 0 if (!s[0] && s[-1] != ',')
0 0 if (!s[0] && s[-1] != ',')
2065 0 0 if (pre[0] == '\"' && pre[1] == '\"'
0 0 if (pre[0] == '\"' && pre[1] == '\"'
2066 0 0 && s - pre == 3) {
2079 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]==',') {
2081 0 0 ? gen_1 : gen_0);
2092 92 1417 if (*s == 'G' || *s == '&' || *s == 'n'
90 2 if (*s == 'G' || *s == '&' || *s == 'n'
86 4 if (*s == 'G' || *s == '&' || *s == 'n'
2093 86 0 || *s == 'P' || *s == 'r' || *s == 's'
86 0 || *s == 'P' || *s == 'r' || *s == 's'
86 0 || *s == 'P' || *s == 'r' || *s == 's'
2094 86 0 || *s == 'E' || *s == 'I' || *s == 'V')
86 0 || *s == 'E' || *s == 'I' || *s == 'V')
86 0 || *s == 'E' || *s == 'I' || *s == 'V')
2096 316 0 while (*s && *s++ != ',');
88 228 while (*s && *s++ != ',');
2097 87 141 if (!s[0] && s[-1] != ',') {
0 87 if (!s[0] && s[-1] != ',') {
2128 4 0 if (saw_M) {
2136 0 12443 if (j > items)
2139 0 1946 if (j < items)
2151 2 2 while (c-- > 0)
2162 0 1 if (!sign)
2223 0 0 if (newvalue >= 0)
2373 1482 0 if (typ(in) == t_INT) {
2388 0 0 if (typ(in) == t_INT) {
2426 10491 0 if (items==1) {
2432 0 0 for (i=0;i
2443 3 0 if (items==1) {
2445 3 0 if (t_VEC == typ(RETVAL))
2451 0 0 for (i=0;i
2466 0 0 for (i=0;i
2479 17 4 for (i=0;i
2490 62 0 if (items==1) {
2496 0 0 for (i=0;i
2498 0 0 if (t_VEC == typ((GEN)(RETVAL[i+1]))) {
2500 0 0 } else if (t_COL != typ((GEN)(RETVAL[i+1]))) {
2515 0 0 for (i=0;i
2517 0 0 if (t_VEC == typ((GEN)(RETVAL[i+1]))) {
2519 0 0 } else if (t_COL != typ((GEN)(RETVAL[i+1]))) {
2555 0 16 if (rettype != RETTYPE_VOID)
2559 0 14 if (has_pointer)
2561 0 14 if (OUT_cnt)
2583 0 1894 if (rettype != RETTYPE_GEN)
2587 0 1889 if (has_pointer)
2589 2 1887 if (OUT_cnt)
2613 0 32 if (rettype != RETTYPE_LONG)
2617 0 32 if (has_pointer)
2619 0 32 if (OUT_cnt)
2643 0 4 if (rettype != RETTYPE_INT)
2648 0 4 if (has_pointer)
2650 0 4 if (OUT_cnt)
2663 0 56 if (!FUNCTION) {
2679 0 764 if (!FUNCTION) {
2696 0 45787 if (!FUNCTION) {
2717 0 30006 if (!FUNCTION) {
2736 0 7 if (!FUNCTION) {
2759 0 0 if (!FUNCTION) {
2780 0 32 if (!FUNCTION) {
2797 0 0 if (!FUNCTION) {
2816 0 173 if (!FUNCTION) {
2834 0 320 if (!FUNCTION) {
2855 0 8934970 if (!FUNCTION) {
2859 2509265 6425705 RETVAL = inv? FUNCTION(arg2,arg1): FUNCTION(arg1,arg2);
2873 0 4 if (!FUNCTION) {
2896 0 102 if (!FUNCTION) {
2900 7 95 RETVAL = (inv? FUNCTION(arg2,arg1): FUNCTION(arg1,arg2)) == gen_1;
2919 0 0 if (!FUNCTION) {
2923 0 0 RETVAL = inv? FUNCTION(arg2,arg1): FUNCTION(arg1,arg2);
2942 0 20 if (!FUNCTION) {
2946 2 18 RETVAL = inv? FUNCTION(arg2,arg1): FUNCTION(arg1,arg2);
2962 0 13 if (!FUNCTION) {
2981 0 20 if (!FUNCTION) {
3000 0 2 if (!FUNCTION) {
3022 0 0 if (!FUNCTION) {
3042 0 0 if (!FUNCTION) {
3060 0 1 if (!FUNCTION) {
3079 0 13 if (!FUNCTION) {
3097 0 41 if (!FUNCTION) {
3101 2 39 RETVAL=FUNCTION(arg1,arg2 ? numvar(arg2) : -1);
3115 0 0 if (!FUNCTION) {
3138 0 2 if (!FUNCTION) {
3141 1 1 if (inv) {
3143 0 1 arg2 = (long)SvIV(ST(0));
3146 1 0 arg2 = (long)SvIV(ST(1));
3164 0 1 if (!FUNCTION) {
3185 0 10 if (!FUNCTION) {
3203 0 1 if (!FUNCTION) {
3222 0 75 if (!FUNCTION) {
3241 0 2 if (!FUNCTION) {
3260 0 2 if (!FUNCTION) {
3282 0 74 if (!FUNCTION) {
3304 0 0 if (!FUNCTION) {
3322 0 0 if (!FUNCTION) {
3344 0 1 if (!FUNCTION) {
3348 0 1 RETVAL=FUNCTION(arg1, arg2, arg3, arg4 ? &arg4 : NULL);
3363 0 1 if (!FUNCTION) {
3383 0 5 if (!FUNCTION) {
3401 0 0 if (!FUNCTION) {
3418 0 26 if (!FUNCTION) {
3438 0 2 if (!FUNCTION) {
3462 0 137 if (!FUNCTION) {
3486 0 0 if (!FUNCTION) {
3509 0 34 # 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'
3510 0 0 if (arg1 == arg2 && arg1) {
3520 0 34 #endif
3545 0 3 if (!FUNCTION) {
3567 0 11 if (!FUNCTION) {
3589 0 0 if (!FUNCTION) {
3608 0 2 if (!FUNCTION) {
3626 0 0 if (!FUNCTION) {
3645 0 0 if (!FUNCTION) {
3666 0 2 if (!FUNCTION) {
3689 0 0 if (!FUNCTION) {
3713 0 1 if (!FUNCTION) {
3736 0 1 if (!FUNCTION) {
3786 329 10678 if (*name=='g') {
3789 1 220 if (strEQ(name,"gadd")) {
3792 0 220 } else if (strEQ(name,"gand")) {
3798 0 20 if (strEQ(name,"gcmp0")) {
3801 0 20 } else if (strEQ(name,"gcmp1")) {
3804 0 20 } else if (strEQ(name,"gcmp_1")) {
3807 0 20 } else if (strEQ(name,"gcmp")) {
3813 0 4 if (strEQ(name,"gdiv")) {
3816 3 1 } else if (strEQ(name,"gdivent")) {
3819 1 0 } else if (strEQ(name,"gdivround")) {
3825 1 80 if (strEQ(name,"geq")) {
3828 80 0 } else if (strEQ(name,"gegal") || strEQ(name,"gequal")) { /* old name */
0 80 } else if (strEQ(name,"gegal") || strEQ(name,"gequal")) { /* old name */
3834 0 0 if (strEQ(name,"gge")) {
3837 0 0 } else if (strEQ(name,"ggt")) {
3843 0 0 if (strEQ(name,"gle")) {
3846 0 0 } else if (strEQ(name,"glt")) {
3852 0 0 if (strEQ(name,"gmul")) {
3855 0 0 } else if (strEQ(name,"gmod")) {
3861 0 1 if (strEQ(name,"gneg")) {
3864 1 0 } else if (strEQ(name,"gne")) {
3870 0 0 if (strEQ(name,"gor")) {
3876 0 1 if (strEQ(name,"gpui") || strEQ(name,"gpow")) {
0 0 if (strEQ(name,"gpui") || strEQ(name,"gpow")) {
3882 1 0 if (strEQ(name,"gsub")) {
3888 103 10575 } else if (*name=='_') {
3889 100 3 if (name[1] == 'g') {
3892 11 0 if (strEQ(name,"_gadd")) {
3895 0 0 } else if (strEQ(name,"_gand")) {
3902 1 4 if (strEQ(name,"_gbitand")) {
3905 1 3 } else if (strEQ(name,"_gbitor")) {
3908 1 2 } else if (strEQ(name,"_gbitxor")) {
3911 1 1 } else if (strEQ(name,"_gbitneg")) {
3915 1 0 } else if (strEQ(name,"_gbitshiftl")) {
3928 0 0 if (strEQ(name,"_gcmp")) {
3931 0 0 } else if (strEQ(name,"_gcmp0")) {
3937 14 0 if (strEQ(name,"_gdiv")) {
3943 20 0 if (strEQ(name,"_geq")) {
3949 1 0 if (strEQ(name,"_gge")) {
3952 0 0 } else if (strEQ(name,"_ggt")) {
3958 1 1 if (strEQ(name,"_gle")) {
3961 1 0 } else if (strEQ(name,"_glt")) {
3967 14 3 if (strEQ(name,"_gmul")) {
3970 3 0 } else if (strEQ(name,"_gmod")) {
3976 7 1 if (strEQ(name,"_gneg")) {
3979 1 0 } else if (strEQ(name,"_gne")) {
3985 0 0 if (strEQ(name,"_gor")) {
3991 11 0 if (strEQ(name,"_gpui")) {
3997 11 0 if (strEQ(name,"_gsub")) {
4006 1 0 if (strEQ(name,"_abs")) {
4012 0 0 if (strEQ(name,"_cos")) {
4018 1 0 if (strEQ(name,"_exp")) {
4024 1 0 if (strEQ(name,"_lex")) {
4027 0 0 } else if (strEQ(name,"_log")) {
4033 0 0 if (strEQ(name,"_sin")) {
4036 0 0 } else if (strEQ(name,"_sqrt")) {
4044 10895 112 if (!func) {
4054 2 10893 if (!ep)
4057 10893 0 if (ep && isPariFunction(ep)) {
10893 0 if (ep && isPariFunction(ep)) {
4061 10893 0 if (ep->code /* This is in func_codes.h: */
10852 41 if (ep->code /* This is in func_codes.h: */
4062 7010 3842 && (*(ep->code) ? (PERL_constant_ISIV == func_ord_by_type (aTHX_ ep->code,
4080 0 10893 if (!func) {
4085 0 11005 if (func == unsupported) {
4088 11005 0 } else if (func) {
4100 0 41 if (!ep->code) {
4102 41 0 } else if (ep->code[0] == 'p' && ep->code[1] == 0) {
41 0 } else if (ep->code[0] == 'p' && ep->code[1] == 0) {
4104 0 0 } else if (ep->code[0] == 0) {
4163 0 3942 if (!ep)
4166 0 3942 if (!ep->code)
4171 0 3942 if (*s1 == 'x')
4173 480 3462 if (*s1 == 'v') {
4177 260 3202 else if (*s1 == 'l') {
4181 40 3162 else if (*s1 == 'i') {
4195 11005 0 if (protocv) {
4196 11005 0 proto = SvPV((SV*)protocv,na);
4201 11005 0 if (proto)
4203 3942 7063 XSINTERFACE_FUNC_SET(RETVAL, flexible ? (void*)ep : (void*)func);
4205 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",
4223 64 32 while (++i <= 1) {
4224 32 32 if (i==1)
4231 17696 64 for(ep = table; ep->name; ep++) {
4233 11060 6636 if ((tag == -1 && !_is_internal(ep->menu)) || ep->menu == tag) {
0 11060 if ((tag == -1 && !_is_internal(ep->menu)) || ep->menu == tag) {
553 6083 if ((tag == -1 && !_is_internal(ep->menu)) || ep->menu == tag) {
4234 6216 5397 switch (valence) {
4237 105 6111 if (ep->code == 0)
4289 60 11448 XPUSHs(sv_2mortal(newSVpv(ep->name, 0)));
4302 26 0 if (!mem || !SvOK(mem)) {
0 26 if (!mem || !SvOK(mem)) {
0 0 if (!mem || !SvOK(mem)) {
0 0 if (!mem || !SvOK(mem)) {
4305 26 0 if (!pri || !SvOK(pri)) {
0 26 if (!pri || !SvOK(pri)) {
0 0 if (!pri || !SvOK(pri)) {
0 0 if (!pri || !SvOK(pri)) {
4308 0 26 if (reboot) {
4341 26 0 primelimit = SvIV(pri);
4342 26 0 parisize = SvIV(mem);
4355 26 0 if (!(reboot++)) {
4374 26 0 if (!worksv)
4376 0 26 if (workErrsv)
4432 0 18 EXTEND(sp, 4); /* Got cv + 0, - but on newer Perls, this does not count. Return 4. */
4447 19 0 switch(GIMME_V) {
4454 102 19 for (sv1 = PariStack; sv1 != (SV *) GENfirstOnStack; sv1 = nextsv) {
4455 39 63 GEN x = (GEN) SV_myvoidp_get(sv1);
63 0 GEN x = (GEN) SV_myvoidp_get(sv1);
4457 102 0 sv_catpvf(ret,"%s %2ld: %s\n", pref, i, SvPV_nolen(tmp));
4461 39 63 nextsv = SV_Stack_find_next(sv1);
4464 19 0 if(GIMME_V == G_VOID) {
19 0 if(GIMME_V == G_VOID) {
4465 19 0 PerlIO_puts(PerlIO_stdout(), SvPV_nolen(ret));
4473 0 0 for (sv1 = PariStack; sv1 != (SV *) GENfirstOnStack; sv1 = nextsv) {
4474 0 0 GEN x = (GEN) SV_myvoidp_get(sv1);
0 0 GEN x = (GEN) SV_myvoidp_get(sv1);
4475 0 0 XPUSHs(sv_2mortal(pari_print(x)));
4476 0 0 nextsv = SV_Stack_find_next(sv1);
4487 0 0 switch(GIMME_V) {
4493 0 0 for(; x < (GEN)myPARI_top; x += gsizeword(x), i++) {
4495 0 0 sv_catpvf(ret," %2ld: %s\n",i,SvPV_nolen(tmp));
4498 0 0 if(GIMME_V == G_VOID) {
0 0 if(GIMME_V == G_VOID) {
4499 0 0 PerlIO_puts(PerlIO_stdout(), SvPV_nolen(ret));
4507 0 0 for(; x < (GEN)myPARI_top; x += gsizeword(x), i++)
4508 0 0 XPUSHs(sv_2mortal(pari_print(x)));
4515 0 0 int context = GIMME_V, m;
4539 0 0 if(GIMME_V == G_VOID) {
0 0 if(GIMME_V == G_VOID) {
4540 0 0 PerlIO_puts(PerlIO_stdout(), SvPV_nolen(tmp));
4549 0 0 for(m = 0; m <= av_len((AV*)ret); m++)
4550 0 0 XPUSHs(sv_2mortal(SvREFCNT_inc(*av_fetch((AV*)ret,m,0))));
4571 2295 9026070 SV_OAVMA_PARISTACK_get(sv, oldavma, ostack);
4574 2295 9026070 if (SvMAGICAL(sv) && SvTYPE(sv) == SVt_PVAV) {
2295 0 if (SvMAGICAL(sv) && SvTYPE(sv) == SVt_PVAV) {
4579 2295 0 if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) {
2295 0 if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) {
2258 37 if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) {
2258 0 if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) {
4589 2295 9026070 SV_PARISTACK_set(sv, GENheap); /* To avoid extra free() in moveoff.... */
4590 8023158 1005207 if (ostack == GENheap) /* Leave it alone? XXXX */
4592 5250756 2772402 else if (ostack == GENmovedOffStack) {/* Know that it _was temporary. */
4593 324 5250432 killbloc((GEN)SV_myvoidp_get(sv));
5250432 0 killbloc((GEN)SV_myvoidp_get(sv));
4596 2772402 0 if (ostack != (char*)PariStack) { /* But not the newest one. */
4598 0 2772402 RUN_IF_DEBUG_PARI( warn("%li items moved off stack, onStack=%ld, offStack=%ld", howmany, (long)onStack, (long)offStack) );
4605 0 2772402 if (oldavma > sentinel) {