Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 30 additions & 91 deletions pkg/precompiles.sty
Original file line number Diff line number Diff line change
Expand Up @@ -126,120 +126,59 @@
\newcol{\csEcmul} {CS\_ECMUL}{CIRCUIT\_SELECTOR\_ECMUL}
\newcol{\csEcpairing} {CS\_ECPAIRING}{CIRCUIT\_SELECTOR\_ECPAIRING}
\newcol{\csGTwo} {CS\_G2\_MEMBERSHIP}{CIRCUIT\_SELECTOR\_G2\_MEMBERSHIP}
\newcol{\trivialPairing} {TRIVIAL\_PAIRING}{OVERALL\_TRIVIAL\_PAIRING}
\newcol{\trivialPairing} {TRIVIAL\_PAIRING}{OVERALL\_TRIVIAL\_PAIRING}

% System of constraints
\define@cmdkey [ECDATA] {var} {anchorRow} {}
\define@cmdkey [ECDATA] {var} {relOffset} {}
\define@cmdkey [ECDATA] {var} {xHi} {}
\define@cmdkey [ECDATA] {var} {xLo} {}
\define@cmdkey [ECDATA] {var} {yHi} {}
\define@cmdkey [ECDATA] {var} {yLo} {}
\define@cmdkey [ECDATA] {var} {xSquareHi} {}
\define@cmdkey [ECDATA] {var} {xSquareLo} {}
\define@cmdkey [ECDATA] {var} {ySquareHi} {}
\define@cmdkey [ECDATA] {var} {ySquareLo} {}
\define@cmdkey [ECDATA] {var} {xCubeHi} {}
\define@cmdkey [ECDATA] {var} {xCubeLo} {}
\define@cmdkey [ECDATA] {var} {xCubePlusThreeHi} {}
\define@cmdkey [ECDATA] {var} {xCubePlusThreeLo} {}
\define@cmdkey [ECDATA] {var} {xImHi} {}
\define@cmdkey [ECDATA] {var} {xImLo} {}
\define@cmdkey [ECDATA] {var} {xReHi} {}
\define@cmdkey [ECDATA] {var} {xReLo} {}
\define@cmdkey [ECDATA] {var} {yImHi} {}
\define@cmdkey [ECDATA] {var} {yImLo} {}
\define@cmdkey [ECDATA] {var} {yReHi} {}
\define@cmdkey [ECDATA] {var} {yReLo} {}

\presetkeys [ECDATA] {var} {
anchorRow = \missingParameter ,
relOffset = \missingParameter ,
xHi = \missingParameter ,
xLo = \missingParameter ,
yHi = \missingParameter ,
yLo = \missingParameter ,
xSquareHi = \missingParameter ,
xSquareLo = \missingParameter ,
ySquareHi = \missingParameter ,
ySquareLo = \missingParameter ,
xCubeHi = \missingParameter ,
xCubeLo = \missingParameter ,
xCubePlusThreeHi = \missingParameter,
xCubePlusThreeLo = \missingParameter,
xImHi = \missingParameter ,
xImLo = \missingParameter ,
xReHi = \missingParameter ,
xReLo = \missingParameter ,
yImHi = \missingParameter ,
yImLo = \missingParameter ,
yReHi = \missingParameter ,
yReLo = \missingParameter
}{}


\newcommand{\callCOneMembership} {\texttt{callToC1Membership}}

\newcommand{\callToCOneMembership}[6]{
\callCOneMembership_{#1}
\left[ \begin{array}{ll}
\utt{Rel. row offset:} & #2 \\
\utt{x coord. hi:} & #3 \\
\utt{x coord. lo:} & #4 \\
\utt{y coord. hi:} & #5 \\
\utt{y coord. lo:} & #6 \\
\utt{First argument (high):} & \col{#3} \\
\utt{First argument (low):} & \col{#4} \\
\utt{Second argument (high):} & \col{#5} \\
\utt{Second argument (low):} & \col{#6} \\
\end{array} \right]}

\newcommand{\callCOneMembershipWCP} {\texttt{callToC1MembershipWCP}}

\newcommand{\callToCOneMembershipWCP}[1]{
\setkeys[ECDATA]{var}{#1}
\callCOneMembershipWCP_{\cmdECDATA@var@anchorRow}
\newcommand{\callToCOneMembershipWCP}[6]{
\callCOneMembershipWCP_{#1}
\left[ \begin{array}{ll}
\utt{Rel. row offset:} & \cmdECDATA@var@relOffset \\
\utt{x coord. hi:} & \cmdECDATA@var@xHi \\
\utt{x coord. lo:} & \cmdECDATA@var@xLo \\
\utt{y coord. hi:} & \cmdECDATA@var@yHi \\
\utt{y coord. lo:} & \cmdECDATA@var@yLo \\
\utt{LHS of (E) hi:} & \cmdECDATA@var@ySquareHi \\
\utt{LHS of (E) lo:} & \cmdECDATA@var@ySquareLo \\
\utt{RHS of (E) hi:} & \cmdECDATA@var@xCubePlusThreeHi \\
\utt{RHS of (E) lo:} & \cmdECDATA@var@xCubePlusThreeLo \\
\utt{Where (E) is:} & y^2 = x^3 + 3
\utt{Rel. row offset:} & #2 \\
\utt{First argument (high):} & \col{#3} \\
\utt{First argument (low):} & \col{#4} \\
\utt{Second argument (high):} & \col{#5} \\
\utt{Second argument (low):} & \col{#6} \\
\end{array} \right]}

\newcommand{\callCOneMembershipEXT} {\texttt{callToC1MembershipEXT}}

\newcommand{\callToCOneMembershipEXT}[1]{
\setkeys[ECDATA]{var}{#1}
\callCOneMembershipEXT_{\cmdECDATA@var@anchorRow}
\newcommand{\callToCOneMembershipEXT}[6]{
\callCOneMembershipEXT_{#1}
\left[ \begin{array}{ll}
\utt{Rel. row offset:} & \cmdECDATA@var@relOffset \\
\utt{x coord. hi:} & \cmdECDATA@var@xHi \\
\utt{x coord. lo:} & \cmdECDATA@var@xLo \\
\utt{y coord. hi:} & \cmdECDATA@var@yHi \\
\utt{y coord. lo:} & \cmdECDATA@var@yLo \\
\utt{square of x coord. hi:} & \cmdECDATA@var@xSquareHi \\
\utt{square of x coord. lo:} & \cmdECDATA@var@xSquareLo \\
\utt{cube of x coord. hi:} & \cmdECDATA@var@xCubeHi \\
\utt{cube of x coord. lo:} & \cmdECDATA@var@xCubeLo \\
\utt{Rel. row offset:} & #2 \\
\utt{First argument (high):} & \col{#3} \\
\utt{First argument (low):} & \col{#4} \\
\utt{Second argument (high):} & \col{#5} \\
\utt{Second argument (low):} & \col{#6} \\
\end{array} \right]}

\newcommand{\callWellFormedCoordinates} {\texttt{callToWellFormedCoordinates}}

\newcommand{\callToWellFormedCoordinates}[1]{
\setkeys[ECDATA]{var}{#1}
\callWellFormedCoordinates_{\cmdECDATA@var@anchorRow}
\newcommand{\callToWellFormedCoordinates}[9]{ % TODO: a standard macro cannot have more than 9 arguments, thus here 'i' is hardcoded: use xkeyval
\callWellFormedCoordinates_{i}
\left[ \begin{array}{ll}
\utt{Rel. row offset:} & \cmdECDATA@var@relOffset \\
\utt{x coord. imaginary hi:} & \cmdECDATA@var@xImHi \\
\utt{x coord. imaginary lo:} & \cmdECDATA@var@xImLo \\
\utt{x coord. real hi:} & \cmdECDATA@var@xReHi \\
\utt{x coord. real lo:} & \cmdECDATA@var@xReLo \\
\utt{y coord. imaginary hi:} & \cmdECDATA@var@yImHi \\
\utt{y coord. imaginary lo:} & \cmdECDATA@var@yImLo \\
\utt{y coord. real hi:} & \cmdECDATA@var@yReHi \\
\utt{y coord. real lo:} & \cmdECDATA@var@yReLo \\
\utt{Rel. row offset:} & #1 \\
\utt{First argument (high):} & \col{#2} \\
\utt{First argument (low):} & \col{#3} \\
\utt{Second argument (high):} & \col{#4} \\
\utt{Second argument (low):} & \col{#5} \\
\utt{Third argument (high):} & \col{#6} \\
\utt{Third argument (low):} & \col{#7} \\
\utt{Fourth argument (high):} & \col{#8} \\
\utt{Fourth argument (low):} & \col{#9} \\
\end{array} \right]}

% base 10 : 21888242871839275222246405745257275088696311157297823662689037894645226208583
Expand Down
28 changes: 14 additions & 14 deletions pkg/xkeyval_macros/ext_calls.sty
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@
\setkeys[EXT]{var}{#1}
\extCallToAddModName _{\cmdEXT@var@anchorRow}
\left[ \begin{array}{ll}
\utt{Rel. row offset:} & \cmdEXT@var@relOffset \\
\utt{First argument hi:} & \cmdEXT@var@argOneHi \\
\utt{First argument lo:} & \cmdEXT@var@argOneLo \\
\utt{Second argument hi:} & \cmdEXT@var@argTwoHi \\
\utt{Second argument lo:} & \cmdEXT@var@argTwoLo \\
\utt{Third argument hi:} & \cmdEXT@var@argThreeHi \\
\utt{Third argument lo:} & \cmdEXT@var@argThreeLo \\
\utt{Rel. row offset:} & \cmdEXT@var@relOffset \\
\utt{First argument (high):} & \cmdEXT@var@argOneHi \\
\utt{First argument (low):} & \cmdEXT@var@argOneLo \\
\utt{Second argument (high):} & \cmdEXT@var@argTwoHi \\
\utt{Second argument (low):} & \cmdEXT@var@argTwoLo \\
\utt{Third argument (high):} & \cmdEXT@var@argThreeHi \\
\utt{Third argument (low):} & \cmdEXT@var@argThreeLo \\
\end{array} \right]
}

Expand All @@ -45,13 +45,13 @@
\setkeys[EXT]{var}{#1}
\extCallToMulModName _{\cmdEXT@var@anchorRow}
\left[ \begin{array}{ll}
\utt{Rel. row offset:} & \cmdEXT@var@relOffset \\
\utt{First argument hi:} & \cmdEXT@var@argOneHi \\
\utt{First argument lo:} & \cmdEXT@var@argOneLo \\
\utt{Second argument hi:} & \cmdEXT@var@argTwoHi \\
\utt{Second argument lo:} & \cmdEXT@var@argTwoLo \\
\utt{Third argument hi:} & \cmdEXT@var@argThreeHi \\
\utt{Third argument lo:} & \cmdEXT@var@argThreeLo \\
\utt{Rel. row offset:} & \cmdEXT@var@relOffset \\
\utt{First argument (high):} & \cmdEXT@var@argOneHi \\
\utt{First argument (low):} & \cmdEXT@var@argOneLo \\
\utt{Second argument (high):} & \cmdEXT@var@argTwoHi \\
\utt{Second argument (low):} & \cmdEXT@var@argTwoLo \\
\utt{Third argument (high):} & \cmdEXT@var@argThreeHi \\
\utt{Third argument (low):} & \cmdEXT@var@argThreeLo \\
\end{array} \right]
}

Expand Down
13 changes: 1 addition & 12 deletions prc/ecdata/specialized/ecpairing.tex
Original file line number Diff line number Diff line change
Expand Up @@ -42,18 +42,7 @@
\begin{description}
\item[\underline{Row $n^°(i+4)$:}]
\[
\callToWellFormedCoordinates {
anchorRow = i ,
relOffset = 4 ,
xImHi = \locBXImHi ,
xImLo = \locBXImLo ,
xReHi = \locBXReHi ,
xReLo = \locBXReLo ,
yImHi = \locBYImHi ,
yImLo = \locBYImLo ,
yReHi = \locBYReHi ,
yReLo = \locBYReLo ,
}
\callToWellFormedCoordinates{4}{\locBXImHi}{\locBXImLo}{\locBXReHi}{\locBXReLo}{\locBYImHi}{\locBYImLo}{\locBYReHi}{\locBYReLo}
\]

\[
Expand Down
57 changes: 6 additions & 51 deletions prc/ecdata/utils/c1_membership.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,16 @@
\left\{ \begin{array}{l}
\callToCOneMembership
{i}{\relof}
{\locPXHi}{\locPXLo}{\locPYHi}{\locPYLo} \vspace{4mm} \\
{\locPXHi}{\locPXLo }{\locPYHi }{\locPYLo} \vspace{4mm} \\
\qquad \qquad \iff
\left\{ \begin{array}{l}
\callToCOneMembershipWCP {
anchorRow = i ,
relOffset = \relof ,
xHi = \locPXHi ,
xLo = \locPXLo ,
yHi = \locPYHi ,
yLo = \locPYLo ,
ySquareHi = \locPYSquareHi ,
ySquareLo = \locPYSquareLo ,
xCubePlusThreeHi = \locPXCubePlusThreeHi ,
xCubePlusThreeLo = \locPXCubePlusThreeLo ,
} \\
\callToCOneMembershipWCP{i}{\relof}{\locPXHi}{\locPXLo}{\locPYHi}{\locPYLo} \\
\locPXIsInRange \define \wcpRes_{i+\relof} \\
\locPYIsInRange \define \wcpRes_{i+\relof+1} \\
\locPSatisfiesCubic \define \wcpRes_{i+\relof+2} \\
\vspace{1mm} \\
%
\callToCOneMembershipEXT {
anchorRow = i ,
relOffset = \relof ,
xHi = \locPXHi ,
xLo = \locPXLo ,
yHi = \locPYHi ,
yLo = \locPYLo ,
xSquareHi = \locPXSquareHi ,
xSquareLo = \locPXSquareLo ,
xCubeHi = \locPXCube ,
xCubeLo = \locPXCube ,
}
\\
%
\callToCOneMembershipEXT{i}{\relof}{\locPXHi}{\locPXLo}{\locPYHi}{\locPYLo} \\
\locPYSquareHi \define \extResHi_{i+\relof} \\
\locPYSquareLo \define \extResLo_{i+\relof} \\
\locPXSquareHi \define \extResHi_{i+\relof+1} \\
Expand Down Expand Up @@ -70,18 +47,7 @@

\[
\left\{ \begin{array}{l}
\callToCOneMembershipWCP {
anchorRow = i ,
relOffset = \relof ,
xHi = \locPXHi ,
xLo = \locPXLo ,
yHi = \locPYHi ,
yLo = \locPYLo ,
ySquareHi = \locPYSquareHi ,
ySquareLo = \locPYSquareLo ,
xCubePlusThreeHi = \locPXCubePlusThreeHi ,
xCubePlusThreeLo = \locPXCubePlusThreeLo ,
} \vspace{4mm} \\
\callToCOneMembershipWCP{i}{\relof}{\locPXHi}{\locPXLo}{\locPYHi}{\locPYLo} \vspace{4mm} \\
\qquad \qquad \iff
\left\{ \begin{array}{lcl}
% \callToLt
Expand Down Expand Up @@ -133,18 +99,7 @@

\[
\left\{ \begin{array}{l}
\callToCOneMembershipEXT {
anchorRow = i ,
relOffset = \relof ,
xHi = \locPXHi ,
xLo = \locPXLo ,
yHi = \locPYHi ,
yLo = \locPYLo ,
xSquareHi = \locPXSquareHi ,
xSquareLo = \locPXSquareLo ,
xCubeHi = \locPXCube ,
xCubeLo = \locPXCube ,
} \vspace{4mm} \\
\callToCOneMembershipEXT{i}{\relof}{\locPXHi}{\locPXLo }{\locPYHi }{\locPYLo} \vspace{4mm} \\
\qquad \qquad \iff
\left\{ \begin{array}{lcl}
% \callToMulMod{i+\relof}{$\locPYHi$}{$\locPYLo$}{$\locPYHi$}{$\locPYLo$}{$\bnOuterPrimeHi$}{$\bnOuterPrimeLo$}
Expand Down
13 changes: 1 addition & 12 deletions prc/ecdata/utils/well_formed_coordinates.tex
Original file line number Diff line number Diff line change
@@ -1,17 +1,6 @@
\[
\left\{ \begin{array}{l}
\callToWellFormedCoordinates {
anchorRow = i ,
relOffset = \relof ,
xImHi = \locBXImHi ,
xImLo = \locBXImLo ,
xReHi = \locBXReHi ,
xReLo = \locBXReLo ,
yImHi = \locBYImHi ,
yImLo = \locBYImLo ,
yReHi = \locBYReHi ,
yReLo = \locBYReLo ,
} \vspace{4mm} \\
\callToWellFormedCoordinates{\relof}{\locBXImHi}{\locBXImLo}{\locBXReHi}{\locBXReLo}{\locBYImHi}{\locBYImLo}{\locBYReHi}{\locBYReLo} \vspace{4mm} \\
\qquad \qquad \iff
\left\{ \begin{array}{l}
% \callToLt
Expand Down