\hypertarget{models_8h_source}{}\doxysection{models.\+h} \label{models_8h_source}\index{/home/steaky/git/CRS/src/EllipticCurves/models.h@{/home/steaky/git/CRS/src/EllipticCurves/models.h}} \begin{DoxyCode}{0} \DoxyCodeLine{1 \textcolor{preprocessor}{\#ifndef \_MODELS\_H\_}} \DoxyCodeLine{2 \textcolor{preprocessor}{\#define \_MODELS\_H\_}} \DoxyCodeLine{3 } \DoxyCodeLine{4 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{5 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{6 } \DoxyCodeLine{7 \textcolor{preprocessor}{\#include "{}auxiliary.h"{}}} \DoxyCodeLine{8 } \DoxyCodeLine{9 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{10 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{11 \textcolor{preprocessor}{\#include }} \DoxyCodeLine{12 } \DoxyCodeLine{13 \textcolor{comment}{/*********************************************}} \DoxyCodeLine{14 \textcolor{comment}{ Short Weierstrass curves structure}} \DoxyCodeLine{15 \textcolor{comment}{*********************************************/}} \DoxyCodeLine{16 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_s_w__curve__t}{SW\_curve\_t}}\{} \DoxyCodeLine{17 } \DoxyCodeLine{18 \textcolor{keyword}{const} fq\_ctx\_t *F; \textcolor{comment}{// base field}} \DoxyCodeLine{19 fq\_t a, b; \textcolor{comment}{// curve parameters}} \DoxyCodeLine{20 \} \mbox{\hyperlink{struct_s_w__curve__t}{SW\_curve\_t}};} \DoxyCodeLine{21 } \DoxyCodeLine{22 \textcolor{comment}{/*********************************************}} \DoxyCodeLine{23 \textcolor{comment}{ Short Weierstrass points structure}} \DoxyCodeLine{24 \textcolor{comment}{*********************************************/}} \DoxyCodeLine{25 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_s_w__point__t}{SW\_point\_t}}\{} \DoxyCodeLine{26 } \DoxyCodeLine{27 fq\_t x, y, z; \textcolor{comment}{// coordinates}} \DoxyCodeLine{28 \mbox{\hyperlink{struct_s_w__curve__t}{SW\_curve\_t}} *E; \textcolor{comment}{// base curve}} \DoxyCodeLine{29 \} \mbox{\hyperlink{struct_s_w__point__t}{SW\_point\_t}};} \DoxyCodeLine{30 } \DoxyCodeLine{31 \textcolor{comment}{/*********************************************}} \DoxyCodeLine{32 \textcolor{comment}{ Montgomery curves structure}} \DoxyCodeLine{33 \textcolor{comment}{*********************************************/}} \DoxyCodeLine{34 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_m_g__curve__t}{MG\_curve\_t}}\{} \DoxyCodeLine{35 } \DoxyCodeLine{36 \textcolor{keyword}{const} fq\_ctx\_t *F;} \DoxyCodeLine{37 fq\_t A, B;} \DoxyCodeLine{38 \} \mbox{\hyperlink{struct_m_g__curve__t}{MG\_curve\_t}};} \DoxyCodeLine{39 } \DoxyCodeLine{40 \textcolor{comment}{/*********************************************}} \DoxyCodeLine{41 \textcolor{comment}{ Montgomery points structure}} \DoxyCodeLine{42 \textcolor{comment}{*********************************************/}} \DoxyCodeLine{43 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_m_g__point__t}{MG\_point\_t}}\{} \DoxyCodeLine{44 } \DoxyCodeLine{45 \mbox{\hyperlink{struct_m_g__curve__t}{MG\_curve\_t}} *E; \textcolor{comment}{// base curve}} \DoxyCodeLine{46 fq\_t X, Z; \textcolor{comment}{// coordinates}} \DoxyCodeLine{47 \} \mbox{\hyperlink{struct_m_g__point__t}{MG\_point\_t}};} \DoxyCodeLine{48 } \DoxyCodeLine{49 \textcolor{comment}{/*********************************************}} \DoxyCodeLine{50 \textcolor{comment}{ Tate normal curves structure}} \DoxyCodeLine{51 \textcolor{comment}{*********************************************/}} \DoxyCodeLine{52 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{struct_t_n__curve__t}{TN\_curve\_t}}\{} \DoxyCodeLine{53 } \DoxyCodeLine{54 \textcolor{keyword}{const} fq\_ctx\_t *F; \textcolor{comment}{// base field}} \DoxyCodeLine{55 fmpz\_t l; \textcolor{comment}{// torsion of (0,0)}} \DoxyCodeLine{56 fq\_t b, c; \textcolor{comment}{// coordinates}} \DoxyCodeLine{57 \} \mbox{\hyperlink{struct_t_n__curve__t}{TN\_curve\_t}};} \DoxyCodeLine{58 } \DoxyCodeLine{59 \textcolor{preprocessor}{\#endif}} \DoxyCodeLine{60 } \end{DoxyCode}