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 2187 0 if (!prefer_str) return readseq(s);
1008 4 20344974 if (SvGMAGICAL(sv)) mg_get(sv); /* MAYCHANGE in perlguts.pod - bug in perl */
1009 13373232 6971746 if (SvROK(sv)) {
1011 13372776 456 if (SvOBJECT(tsv)) {
1012 9028190 4344586 if (SvSTASH(tsv) == pariStash) {
1015 2283 9025909 return (GEN) SV_myvoidp_get(tsv);
9025909 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 6969109 2637 else if (SvIOK(sv)) return PerlInt_to_i(sv);
1 6969108 else if (SvIOK(sv)) return PerlInt_to_i(sv);
1 0 else if (SvIOK(sv)) return PerlInt_to_i(sv);
6969108 0 else if (SvIOK(sv)) return PerlInt_to_i(sv);
1048 377 2260 else if (SvNOK(sv)) {
1049 377 0 double n = (double)SvNV(sv);
1062 2187 73 else if (SvPOK(sv)) return str2gen(SvPV(sv,na), prefer_str);
2187 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 5250765 2830216 for (sv1 = PariStack; sv1 != sv; sv1 = nextsv) {
1442 324 5250441 SV_OAVMA_switch(nextsv, sv1, GENmovedOffStack); /* Mark as moved off stack. */
1443 324 5250441 SV_myvoidp_reset_clone(sv1); /* Relocate to cloned */
5250441 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)
1940 12443 1946 while (*s) {
1941 0 12443 if (i >= ARGS_SUPPORTED - 1)
1956 133 1 argvec[i++] = (GEN) (long)SvIV(args[j]);
1968 0 1381 if (EpVALENCE(ep1) != EpVAR && *(s-1) == 'V')
0 0 if (EpVALENCE(ep1) != EpVAR && *(s-1) == 'V')
1994 0 1381 if (!args[j])
1996 0 1381 if (saw_V > 1) {
1997 0 0 if (saw_V > 2)
1999 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));
2000 1381 0 } else if (saw_V == 1) {
2001 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));
2009 0 0 if (*s == '*') {
2015 0 0 while (j < items)
2020 0 0 argvec[i++] = (GEN) SvPV(args[j],na);
2041 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]))
2043 20 493 if (j < items)
2046 160 353 if ( *s == 'G' || *s == '&'
156 4 if ( *s == 'G' || *s == '&'
2047 156 0 || *s == 'r' || *s == 's'
156 0 || *s == 'r' || *s == 's'
2048 156 0 || *s == 'E' || *s == 'I' || *s == 'V') {
156 0 || *s == 'E' || *s == 'I' || *s == 'V') {
0 156 || *s == 'E' || *s == 'I' || *s == 'V') {
2052 14 142 if (*s == 'n') {
2056 0 142 if (*s == 'P') {
2060 287 0 while (*s && *s++ != ',');
145 142 while (*s && *s++ != ',');
2061 0 142 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 92 1417 if (*s == 'G' || *s == '&' || *s == 'n'
90 2 if (*s == 'G' || *s == '&' || *s == 'n'
86 4 if (*s == 'G' || *s == '&' || *s == 'n'
2094 86 0 || *s == 'P' || *s == 'r' || *s == 's'
86 0 || *s == 'P' || *s == 'r' || *s == 's'
86 0 || *s == 'P' || *s == 'r' || *s == 's'
2095 86 0 || *s == 'E' || *s == 'I' || *s == 'V')
86 0 || *s == 'E' || *s == 'I' || *s == 'V')
86 0 || *s == 'E' || *s == 'I' || *s == 'V')
2097 316 0 while (*s && *s++ != ',');
88 228 while (*s && *s++ != ',');
2098 87 141 if (!s[0] && s[-1] != ',') {
0 87 if (!s[0] && s[-1] != ',') {
2129 4 0 if (saw_M) {
2137 0 12443 if (j > items)
2140 0 1946 if (j < items)
2154 2 2 while (c-- > 0)
2165 0 1 if (!sign)
2226 0 0 if (newvalue >= 0)
2376 1482 0 if (typ(in) == t_INT) {
2391 0 0 if (typ(in) == t_INT) {
2429 10495 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 17 4 for (i=0;i
2493 62 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 16 if (rettype != RETTYPE_VOID)
2562 0 14 if (has_pointer)
2564 0 14 if (OUT_cnt)
2586 0 1894 if (rettype != RETTYPE_GEN)
2590 0 1889 if (has_pointer)
2592 2 1887 if (OUT_cnt)
2616 0 32 if (rettype != RETTYPE_LONG)
2620 0 32 if (has_pointer)
2622 0 32 if (OUT_cnt)
2646 0 4 if (rettype != RETTYPE_INT)
2651 0 4 if (has_pointer)
2653 0 4 if (OUT_cnt)
2666 0 56 if (!FUNCTION) {
2682 0 764 if (!FUNCTION) {
2699 0 45787 if (!FUNCTION) {
2720 0 30008 if (!FUNCTION) {
2739 0 7 if (!FUNCTION) {
2762 0 0 if (!FUNCTION) {
2783 0 32 if (!FUNCTION) {
2800 0 0 if (!FUNCTION) {
2819 0 173 if (!FUNCTION) {
2837 0 320 if (!FUNCTION) {
2858 0 8934971 if (!FUNCTION) {
2862 2509265 6425706 RETVAL = inv? FUNCTION(arg2,arg1): FUNCTION(arg1,arg2);
2876 0 4 if (!FUNCTION) {
2899 0 102 if (!FUNCTION) {
2903 7 95 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 13 if (!FUNCTION) {
2984 0 20 if (!FUNCTION) {
3003 0 2 if (!FUNCTION) {
3025 0 0 if (!FUNCTION) {
3045 0 0 if (!FUNCTION) {
3063 0 1 if (!FUNCTION) {
3082 0 13 if (!FUNCTION) {
3100 0 41 if (!FUNCTION) {
3104 2 39 RETVAL=FUNCTION(arg1,arg2 ? numvar(arg2) : -1);
3118 0 0 if (!FUNCTION) {
3141 0 2 if (!FUNCTION) {
3144 1 1 if (inv) {
3146 0 1 arg2 = (long)SvIV(ST(0));
3149 1 0 arg2 = (long)SvIV(ST(1));
3167 0 1 if (!FUNCTION) {
3188 0 10 if (!FUNCTION) {
3206 0 1 if (!FUNCTION) {
3225 0 75 if (!FUNCTION) {
3244 0 2 if (!FUNCTION) {
3263 0 2 if (!FUNCTION) {
3285 0 74 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 1 if (!FUNCTION) {
3386 0 5 if (!FUNCTION) {
3404 0 0 if (!FUNCTION) {
3421 0 26 if (!FUNCTION) {
3441 0 2 if (!FUNCTION) {
3465 0 137 if (!FUNCTION) {
3489 0 0 if (!FUNCTION) {
3512 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'
3513 0 0 if (arg1 == arg2 && arg1) {
3523 0 34 #endif
3548 0 3 if (!FUNCTION) {
3570 0 11 if (!FUNCTION) {
3592 0 0 if (!FUNCTION) {
3611 0 2 if (!FUNCTION) {
3629 0 0 if (!FUNCTION) {
3648 0 0 if (!FUNCTION) {
3669 0 2 if (!FUNCTION) {
3692 0 0 if (!FUNCTION) {
3716 0 1 if (!FUNCTION) {
3739 0 1 if (!FUNCTION) {
3789 329 10678 if (*name=='g') {
3792 1 220 if (strEQ(name,"gadd")) {
3795 0 220 } else if (strEQ(name,"gand")) {
3801 0 20 if (strEQ(name,"gcmp0")) {
3804 0 20 } else if (strEQ(name,"gcmp1")) {
3807 0 20 } else if (strEQ(name,"gcmp_1")) {
3810 0 20 } else if (strEQ(name,"gcmp")) {
3816 0 4 if (strEQ(name,"gdiv")) {
3819 3 1 } else if (strEQ(name,"gdivent")) {
3822 1 0 } else if (strEQ(name,"gdivround")) {
3828 1 80 if (strEQ(name,"geq")) {
3831 80 0 } else if (strEQ(name,"gegal") || strEQ(name,"gequal")) { /* old name */
0 80 } 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 103 10575 } else if (*name=='_') {
3892 100 3 if (name[1] == 'g') {
3895 11 0 if (strEQ(name,"_gadd")) {
3898 0 0 } else if (strEQ(name,"_gand")) {
3905 1 4 if (strEQ(name,"_gbitand")) {
3908 1 3 } else if (strEQ(name,"_gbitor")) {
3911 1 2 } else if (strEQ(name,"_gbitxor")) {
3914 1 1 } else if (strEQ(name,"_gbitneg")) {
3918 1 0 } else if (strEQ(name,"_gbitshiftl")) {
3931 0 0 if (strEQ(name,"_gcmp")) {
3934 0 0 } else if (strEQ(name,"_gcmp0")) {
3940 14 0 if (strEQ(name,"_gdiv")) {
3946 20 0 if (strEQ(name,"_geq")) {
3952 1 0 if (strEQ(name,"_gge")) {
3955 0 0 } else if (strEQ(name,"_ggt")) {
3961 1 1 if (strEQ(name,"_gle")) {
3964 1 0 } else if (strEQ(name,"_glt")) {
3970 14 3 if (strEQ(name,"_gmul")) {
3973 3 0 } else if (strEQ(name,"_gmod")) {
3979 7 1 if (strEQ(name,"_gneg")) {
3982 1 0 } else if (strEQ(name,"_gne")) {
3988 0 0 if (strEQ(name,"_gor")) {
3994 11 0 if (strEQ(name,"_gpui")) {
4000 11 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 10895 112 if (!func) {
4057 2 10893 if (!ep)
4060 10893 0 if (ep && isPariFunction(ep)) {
10893 0 if (ep && isPariFunction(ep)) {
4064 10893 0 if (ep->code /* This is in func_codes.h: */
10852 41 if (ep->code /* This is in func_codes.h: */
4065 7010 3842 && (*(ep->code) ? (PERL_constant_ISIV == func_ord_by_type (aTHX_ ep->code,
4083 0 10893 if (!func) {
4088 0 11005 if (func == unsupported) {
4091 11005 0 } else if (func) {
4103 0 41 if (!ep->code) {
4105 41 0 } else if (ep->code[0] == 'p' && ep->code[1] == 0) {
41 0 } else if (ep->code[0] == 'p' && ep->code[1] == 0) {
4107 0 0 } else if (ep->code[0] == 0) {
4166 0 3942 if (!ep)
4169 0 3942 if (!ep->code)
4174 0 3942 if (*s1 == 'x')
4176 480 3462 if (*s1 == 'v') {
4180 260 3202 else if (*s1 == 'l') {
4184 40 3162 else if (*s1 == 'i') {
4198 11005 0 if (protocv) {
4199 11005 0 proto = SvPV((SV*)protocv,na);
4204 11005 0 if (proto)
4206 3942 7063 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 64 32 while (++i <= 1) {
4227 32 32 if (i==1)
4234 17696 64 for(ep = table; ep->name; ep++) {
4236 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) {
4237 6216 5397 switch (valence) {
4240 105 6111 if (ep->code == 0)
4292 60 11448 XPUSHs(sv_2mortal(newSVpv(ep->name, 0)));
4305 26 0 if (!mem || !SvOK(mem)) {
0 26 if (!mem || !SvOK(mem)) {
0 0 if (!mem || !SvOK(mem)) {
0 0 if (!mem || !SvOK(mem)) {
4308 26 0 if (!pri || !SvOK(pri)) {
0 26 if (!pri || !SvOK(pri)) {
0 0 if (!pri || !SvOK(pri)) {
0 0 if (!pri || !SvOK(pri)) {
4311 0 26 if (reboot) {
4344 26 0 primelimit = SvIV(pri);
4345 26 0 parisize = SvIV(mem);
4358 26 0 if (!(reboot++)) {
4377 26 0 if (!worksv)
4379 0 26 if (workErrsv)
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 102 19 for (sv1 = PariStack; sv1 != (SV *) GENfirstOnStack; sv1 = nextsv) {
4458 39 63 GEN x = (GEN) SV_myvoidp_get(sv1);
63 0 GEN x = (GEN) SV_myvoidp_get(sv1);
4460 102 0 sv_catpvf(ret,"%s %2ld: %s\n", pref, i, SvPV_nolen(tmp));
4464 39 63 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 2295 9026077 SV_OAVMA_PARISTACK_get(sv, oldavma, ostack);
4577 2295 9026077 if (SvMAGICAL(sv) && SvTYPE(sv) == SVt_PVAV) {
2295 0 if (SvMAGICAL(sv) && SvTYPE(sv) == SVt_PVAV) {
4582 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) {
2265 30 if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) {
2265 0 if (mg && (obj = mg->mg_obj) && SvROK(obj) && SvRV(obj) == sv) {
4592 2295 9026077 SV_PARISTACK_set(sv, GENheap); /* To avoid extra free() in moveoff.... */
4593 8023165 1005207 if (ostack == GENheap) /* Leave it alone? XXXX */
4595 5250765 2772400 else if (ostack == GENmovedOffStack) {/* Know that it _was temporary. */
4596 324 5250441 killbloc((GEN)SV_myvoidp_get(sv));
5250441 0 killbloc((GEN)SV_myvoidp_get(sv));
4599 2772400 0 if (ostack != (char*)PariStack) { /* But not the newest one. */
4601 0 2772400 RUN_IF_DEBUG_PARI( warn("%li items moved off stack, onStack=%ld, offStack=%ld", howmany, (long)onStack, (long)offStack) );
4608 0 2772400 if (oldavma > sentinel) {