\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 <stdio.h>}}
\DoxyCodeLine{5 \textcolor{preprocessor}{\#include <stdlib.h>}}
\DoxyCodeLine{6 }
\DoxyCodeLine{7 \textcolor{preprocessor}{\#include "{}auxiliary.h"{}}}
\DoxyCodeLine{8 }
\DoxyCodeLine{9 \textcolor{preprocessor}{\#include <gmp.h>}}
\DoxyCodeLine{10 \textcolor{preprocessor}{\#include <flint/fmpz.h>}}
\DoxyCodeLine{11 \textcolor{preprocessor}{\#include <flint/fq.h>}}
\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}
