Branch Coverage

Pari.xs
Criterion Covered Total %
branch 501 1048 47.8


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) {