File: [local] / OpenXM / src / asir-doc / int-parts / datatype / char2ff.texi (download)
Revision 1.1, Mon Apr 23 05:45:36 2001 UTC (23 years, 5 months ago) by noro
Branch: MAIN
CVS Tags: R_1_3_1-2, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9
Risa/Asir manual on the internal specifications.
|
@comment $OpenXM: OpenXM/src/asir-doc/int-parts/datatype/char2ff.texi,v 1.1 2001/04/23 05:45:36 noro Exp $
@section $BI8?t(B 2 $B$NM-8BBN$N85(B
@example
struct oGF2N @{ GF(2^n) $B$N85(B
short id; $B<1JL;R(B (= O_N)
char nid; $B?t<1JL;R(B (= N_GF2N)
char pad;
struct oUP2 *body; GF(2^n) $B$N85(B
@};
typedef struct oGF2N *GF2N;
typedef struct oUP2 @{ GF(2) $B>e$N(B 1 $BJQ?tB?9`<0(B
int w; $BG[Ns(B b $B$N%5%$%:(B
unsigned int b[1]; $B78?tG[Ns(B (dense $BI=8=(B)
@} *UP2;
typedef struct oUP2 *UP2;
@end example
$BI8?t(B 2 $B$NM-8BBN$r07$&$?$a$N7?$G$"$k(B. $BI8?t$O(B UP2 $B7?$NB?9`<0$H$7$F$"$k@EE*JQ(B
$B?t$K3JG<$5$l$k(B. $B3F85<+BN$OB0$9$kBN$K4X$9$k>pJs$r$b$C$F$*$i$:(B, $B@_Dj$5$l$?(B
$BI8?t$NCM$K$h$j1i;;$,9T$o$l$k(B.
@subsection $BI8?t(B 2 $B$NM-8BBN$N85$N@8@.(B, $BJQ49(B
@example
#include "ca.h"
void setmod_gf2n(P p)
$B@0?t78?tB?9`<0(B p $B$N3F78?t$r(B GF(2) $B$N85$H$_$?B?9`<0$r(B, GF(2) $B$N3HBgBN$N(B
$BDj5AB?9`<0$H$7$F@_Dj$9$k(B. $BB?9`<0$N(B GF(2) $B>e$N4{Ls@-$O%A%'%C%/$7$J$$(B.
void getmod_gf2n(UP2 *p)
$B$=$N;~E@$G@_Dj$5$l$F$$$kDj5AB?9`<0$r(B UP2 $B7A<0$GJV$9(B.
void ptogf2n(Obj q,GF2N *l)
$B@0?t78?tB?9`<0(B p $B$N3F78?t$r(B GF(2) $B$N85$H$_$?B?9`<0$r(B, GF2N $B7?$KJQ49$9$k(B.
$BDj5AB?9`<0$,@_Dj$5$l$F$$$k(B, $B$$$J$$$K$+$+$o$i$:(B, $B4JC12=$O9T$o$J$$(B.
void gf2ntop(GF2N q,P *l)
ptogf2n() $B$N5UA`:n$G$"$k(B.
void simpgf2n(GF2N n,GF2N *r)
body $B$,(B, n $B$N(B body $B$N$=$N;~E@$G@_Dj$5$l$F$$$kDj5AB?9`<0$K$h$k>jM>$G$"$k(B
$B$h$&$J(B GF2N $B7?$N85$r@8@.$9$k(B.
@end example
@noindent
@subsection $B;MB'(B
@noindent
$B0z?t$O(B F(2^n)$B$N85$^$?$OM-M}?t(B. $BM-M}?t$O$=$N;~E@$G@_Dj$5$l$F$$$k(BGF(2^n)
$B$N85$KJQ49$5$l$k(B.
@example
#include "ca.h"
addgf2n(GF2N a,GF2N b,GF2N *rp)
*rp = a + b
subgf2n(GF2N a,GF2N b,GF2N *rp)
*rp = a - b
mulgf2n(GF2N a,GF2N b,GF2N *rp)
*rp = a * b
divgf2n(GF2N a,GF2N b,GF2N *rp)
*rp = a / b
pwrgf2n(GF2N a,Q e,GF2N *rp)
*rp = a ^ e
int cmpgf2n(GF2N a,GF2N b)
body $B$NCM$r(B GF(2) $B>e$NB?9`<0$H$7$FHf3S(B
@end example