I'll want `/' as an operator in the expression syntax, so they can't
have it any more. Use `;' instead.
* Use: Parses an elliptic curve description, which has the form
*
* * a field description
* Use: Parses an elliptic curve description, which has the form
*
* * a field description
* * `prime', `primeproj', `bin', or `binproj'
* * an optional `:'
* * the %$a$% parameter
* * `prime', `primeproj', `bin', or `binproj'
* * an optional `:'
* * the %$a$% parameter
field *f;
if ((f = field_parse(qd)) == 0) goto fail;
field *f;
if ((f = field_parse(qd)) == 0) goto fail;
switch (qd_enum(qd, "prime,primeproj,bin,binproj")) {
case 0:
if (F_TYPE(f) != FTY_PRIME) {
switch (qd_enum(qd, "prime,primeproj,bin,binproj")) {
case 0:
if (F_TYPE(f) != FTY_PRIME) {
* curve, or it has the form
*
* * elliptic curve description
* curve, or it has the form
*
* * elliptic curve description
* * common point
* * optional `:'
* * group order
* * common point
* * optional `:'
* * group order
}
if ((c = ec_curveparse(qd)) == 0) goto fail;
}
if ((c = ec_curveparse(qd)) == 0) goto fail;
- qd_delim(qd, '/'); if (!ec_ptparse(qd, &g)) goto fail;
+ qd_delim(qd, ';'); if (!ec_ptparse(qd, &g)) goto fail;
qd_delim(qd, ':'); if ((r = qd_getmp(qd)) == 0) goto fail;
qd_delim(qd, '*'); if ((h = qd_getmp(qd)) == 0) goto fail;
ei->c = c; ei->g = g; ei->r = r; ei->h = h;
qd_delim(qd, ':'); if ((r = qd_getmp(qd)) == 0) goto fail;
qd_delim(qd, '*'); if ((h = qd_getmp(qd)) == 0) goto fail;
ei->c = c; ei->g = g; ei->r = r; ei->h = h;
* Use: Parses an elliptic curve description, which has the form
*
* * a field description
* Use: Parses an elliptic curve description, which has the form
*
* * a field description
* * `prime', `primeproj', `bin', or `binproj'
* * an optional `:'
* * the %$a$% parameter
* * `prime', `primeproj', `bin', or `binproj'
* * an optional `:'
* * the %$a$% parameter
* information in @ei@. This has the form
*
* * elliptic curve description
* information in @ei@. This has the form
*
* * elliptic curve description
* * common point
* * optional `:'
* * group order
* * common point
* * optional `:'
* * group order
then an optional
.RB ` , '
and the representation of the normal element \*(*b; an optional
then an optional
.RB ` , '
and the representation of the normal element \*(*b; an optional
a
.IR "curve type" ,
which is one of
a
.IR "curve type" ,
which is one of
separated by an optional
.RB ` , ';
an optional
separated by an optional
.RB ` , ';
an optional
5846006549323611672814742442876390689256843201587
inf;
5846006549323611672814742442876390689256843201587
inf;
- "binpoly: 0x800000000000000000000000000000000000000c9/bin: 1, 1"
+ "binpoly: 0x800000000000000000000000000000000000000c9; bin: 1, 1"
"0x2fe13c0537bbc11acaa07d793de4e6d5e5c94eee8,
0x289070fb05d38ff58321f2e800536d538ccdaa3d9"
5846006549323611672814741753598448348329118574063
inf;
"0x2fe13c0537bbc11acaa07d793de4e6d5e5c94eee8,
0x289070fb05d38ff58321f2e800536d538ccdaa3d9"
5846006549323611672814741753598448348329118574063
inf;
- "binpoly: 0x800000000000000000000000000000000000000c9/binproj: 1, 1"
+ "binpoly: 0x800000000000000000000000000000000000000c9; binproj: 1, 1"
"0x2fe13c0537bbc11acaa07d793de4e6d5e5c94eee8,
0x289070fb05d38ff58321f2e800536d538ccdaa3d9"
5846006549323611672814741753598448348329118574063
"0x2fe13c0537bbc11acaa07d793de4e6d5e5c94eee8,
0x289070fb05d38ff58321f2e800536d538ccdaa3d9"
5846006549323611672814741753598448348329118574063