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