~mdw
/
catacomb-perl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Much wider support for Catacomb in all its glory.
[catacomb-perl]
/
field.xs
diff --git
a/field.xs
b/field.xs
index
5121979
..
78067c4
100644
(file)
--- a/
field.xs
+++ b/
field.xs
@@
-97,23
+97,23
@@
type(f)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
mp
*
-zero(f)
+
fe
*
+
_
zero(f)
Field *f
CODE:
RETVAL = MP_COPY(f->zero);
OUTPUT:
RETVAL
Field *f
CODE:
RETVAL = MP_COPY(f->zero);
OUTPUT:
RETVAL
-
mp
*
-one(f)
+
fe
*
+
_
one(f)
Field *f
CODE:
RETVAL = MP_COPY(f->one);
OUTPUT:
RETVAL
Field *f
CODE:
RETVAL = MP_COPY(f->one);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
m(f)
Field *f
CODE:
m(f)
Field *f
CODE:
@@
-121,6
+121,14
@@
m(f)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
+fe *
+q(f)
+ Field *f
+ CODE:
+ RETVAL = MP_COPY(f->q);
+ OUTPUT:
+ RETVAL
+
UV
nbits(f)
Field *f
UV
nbits(f)
Field *f
@@
-137,8
+145,8
@@
noctets(f)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
mp
*
-rand(f, r = &rand_global)
+
fe
*
+
_
rand(f, r = &rand_global)
Field *f
grand *r
CODE:
Field *f
grand *r
CODE:
@@
-155,19
+163,19
@@
samep(f, ff)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
mp
*
+
fe
*
in(f, x)
Field *f
in(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
RETVAL = F_IN(f, MP_NEW, x);
OUTPUT:
RETVAL
CODE:
RETVAL = F_IN(f, MP_NEW, x);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
out(f, x)
Field *f
out(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
RETVAL = F_OUT(f, MP_NEW, x);
OUTPUT:
CODE:
RETVAL = F_OUT(f, MP_NEW, x);
OUTPUT:
@@
-176,91
+184,93
@@
out(f, x)
bool
zerop(f, x)
Field *f
bool
zerop(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
RETVAL = F_ZEROP(f, x);
OUTPUT:
RETVAL
CODE:
RETVAL = F_ZEROP(f, x);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
neg(f, x)
Field *f
neg(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
RETVAL = F_NEG(f, MP_NEW, x);
OUTPUT:
RETVAL
CODE:
RETVAL = F_NEG(f, MP_NEW, x);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
add(f, x, y)
Field *f
add(f, x, y)
Field *f
-
mp
*x
-
mp
*y
+
fe
*x
+
fe
*y
CODE:
RETVAL = F_ADD(f, MP_NEW, x, y);
OUTPUT:
RETVAL
CODE:
RETVAL = F_ADD(f, MP_NEW, x, y);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
sub(f, x, y)
Field *f
sub(f, x, y)
Field *f
-
mp
*x
-
mp
*y
+
fe
*x
+
fe
*y
CODE:
RETVAL = F_SUB(f, MP_NEW, x, y);
OUTPUT:
RETVAL
CODE:
RETVAL = F_SUB(f, MP_NEW, x, y);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
mul(f, x, y)
Field *f
mul(f, x, y)
Field *f
-
mp
*x
-
mp
*y
+
fe
*x
+
fe
*y
CODE:
RETVAL = F_MUL(f, MP_NEW, x, y);
OUTPUT:
RETVAL
CODE:
RETVAL = F_MUL(f, MP_NEW, x, y);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
sqr(f, x)
Field *f
sqr(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
RETVAL = F_SQR(f, MP_NEW, x);
OUTPUT:
RETVAL
CODE:
RETVAL = F_SQR(f, MP_NEW, x);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
inv(f, x)
Field *f
inv(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
CODE:
+ if (F_ZEROP(f, x))
+ croak("division by zero");
RETVAL = F_INV(f, MP_NEW, x);
OUTPUT:
RETVAL
RETVAL = F_INV(f, MP_NEW, x);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
reduce(f, x)
Field *f
reduce(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
RETVAL = F_REDUCE(f, MP_NEW, x);
OUTPUT:
RETVAL
CODE:
RETVAL = F_REDUCE(f, MP_NEW, x);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
sqrt(f, x)
Field *f
sqrt(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
RETVAL = F_SQRT(f, MP_NEW, x);
OUTPUT:
RETVAL
CODE:
RETVAL = F_SQRT(f, MP_NEW, x);
OUTPUT:
RETVAL
-
mp
*
+
fe
*
quadsolve(f, x)
Field *f
quadsolve(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
if (F_TYPE(f) != FTY_BINARY)
croak("quadsolve only works on binary fields");
CODE:
if (F_TYPE(f) != FTY_BINARY)
croak("quadsolve only works on binary fields");
@@
-268,10
+278,10
@@
quadsolve(f, x)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
mp
*
+
fe
*
dbl(f, x)
Field *f
dbl(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
if (F_TYPE(f) != FTY_PRIME)
croak("dbl only works on prime fields");
CODE:
if (F_TYPE(f) != FTY_PRIME)
croak("dbl only works on prime fields");
@@
-279,10
+289,10
@@
dbl(f, x)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
mp
*
+
fe
*
tpl(f, x)
Field *f
tpl(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
if (F_TYPE(f) != FTY_PRIME)
croak("tpl only works on prime fields");
CODE:
if (F_TYPE(f) != FTY_PRIME)
croak("tpl only works on prime fields");
@@
-290,10
+300,10
@@
tpl(f, x)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
mp
*
+
fe
*
qdl(f, x)
Field *f
qdl(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
if (F_TYPE(f) != FTY_PRIME)
croak("qdl only works on prime fields");
CODE:
if (F_TYPE(f) != FTY_PRIME)
croak("qdl only works on prime fields");
@@
-301,10
+311,10
@@
qdl(f, x)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
-
mp
*
+
fe
*
hlv(f, x)
Field *f
hlv(f, x)
Field *f
-
mp
*x
+
fe
*x
CODE:
if (F_TYPE(f) != FTY_PRIME)
croak("hlv only works on prime fields");
CODE:
if (F_TYPE(f) != FTY_PRIME)
croak("hlv only works on prime fields");
@@
-312,3
+322,10
@@
hlv(f, x)
OUTPUT:
RETVAL
OUTPUT:
RETVAL
+SV *
+get(f)
+ Field *f
+ CODE:
+ RETVAL = info_field(f);
+ OUTPUT:
+ RETVAL