Annotation of OpenXM/src/asir-doc/int-parts/datatype/char2ff.texi, Revision 1.1
1.1 ! noro 1: @comment $OpenXM$
! 2: @section $BI8?t(B 2 $B$NM-8BBN$N85(B
! 3:
! 4: @example
! 5: struct oGF2N @{ GF(2^n) $B$N85(B
! 6: short id; $B<1JL;R(B (= O_N)
! 7: char nid; $B?t<1JL;R(B (= N_GF2N)
! 8: char pad;
! 9: struct oUP2 *body; GF(2^n) $B$N85(B
! 10: @};
! 11:
! 12: typedef struct oGF2N *GF2N;
! 13:
! 14: typedef struct oUP2 @{ GF(2) $B>e$N(B 1 $BJQ?tB?9`<0(B
! 15: int w; $BG[Ns(B b $B$N%5%$%:(B
! 16: unsigned int b[1]; $B78?tG[Ns(B (dense $BI=8=(B)
! 17: @} *UP2;
! 18:
! 19: typedef struct oUP2 *UP2;
! 20: @end example
! 21: $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
! 22: $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
! 23: $BI8?t$NCM$K$h$j1i;;$,9T$o$l$k(B.
! 24:
! 25: @subsection $BI8?t(B 2 $B$NM-8BBN$N85$N@8@.(B, $BJQ49(B
! 26: @example
! 27: #include "ca.h"
! 28: void setmod_gf2n(P p)
! 29: $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
! 30: $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.
! 31:
! 32: void getmod_gf2n(UP2 *p)
! 33:
! 34: $B$=$N;~E@$G@_Dj$5$l$F$$$kDj5AB?9`<0$r(B UP2 $B7A<0$GJV$9(B.
! 35:
! 36: void ptogf2n(Obj q,GF2N *l)
! 37:
! 38: $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.
! 39: $BDj5AB?9`<0$,@_Dj$5$l$F$$$k(B, $B$$$J$$$K$+$+$o$i$:(B, $B4JC12=$O9T$o$J$$(B.
! 40:
! 41: void gf2ntop(GF2N q,P *l)
! 42: ptogf2n() $B$N5UA`:n$G$"$k(B.
! 43:
! 44: void simpgf2n(GF2N n,GF2N *r)
! 45: 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
! 46: $B$h$&$J(B GF2N $B7?$N85$r@8@.$9$k(B.
! 47: @end example
! 48: @noindent
! 49:
! 50: @subsection $B;MB'(B
! 51: @noindent
! 52: $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)
! 53: $B$N85$KJQ49$5$l$k(B.
! 54:
! 55: @example
! 56: #include "ca.h"
! 57:
! 58: addgf2n(GF2N a,GF2N b,GF2N *rp)
! 59: *rp = a + b
! 60:
! 61: subgf2n(GF2N a,GF2N b,GF2N *rp)
! 62: *rp = a - b
! 63:
! 64: mulgf2n(GF2N a,GF2N b,GF2N *rp)
! 65: *rp = a * b
! 66:
! 67: divgf2n(GF2N a,GF2N b,GF2N *rp)
! 68: *rp = a / b
! 69:
! 70: pwrgf2n(GF2N a,Q e,GF2N *rp)
! 71: *rp = a ^ e
! 72:
! 73: int cmpgf2n(GF2N a,GF2N b)
! 74: body $B$NCM$r(B GF(2) $B>e$NB?9`<0$H$7$FHf3S(B
! 75: @end example
! 76:
! 77:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>