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