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