Annotation of OpenXM/src/asir-doc/int-parts/datatype/algnum.texi, Revision 1.1
1.1 ! noro 1: @comment $OpenXM$
! 2: @section $BBe?tE*?t(B
! 3:
! 4: @example
! 5: struct oAlg @{ $BBe?tE*?t(B
! 6: short id; $B<1JL;R(B (= O_N)
! 7: char nid; $B?t<1JL;R(B (= N_A)
! 8: char pad;
! 9: struct oObj *body; $BBe?tE*?t$rI=$9B?9`<0$^$?$OM-M}<0(B
! 10: @};
! 11:
! 12: typedef struct oAlg *Alg;
! 13:
! 14: struct oV @{ root
! 15: char *name; $BL>A0(B
! 16: pointer attr; $BDj5AB?9`<0(B ($B<gJQ?t$O(B #n )
! 17: pointer priv; $BBP1~$9$kITDj85(B (t#n) $B$X$N%]%$%s%?(B
! 18: @};
! 19:
! 20: typedef struct oV *V;
! 21:
! 22: struct oVL @{ root $B%j%9%H(B
! 23: V v; root
! 24: struct oVL *next; $B<!$X$N%]%$%s%?(B
! 25: @};
! 26:
! 27: typedef struct oVL *VL;
! 28:
! 29: extern VL ALG; $BDj5A:Q$_(B root $B$N%j%9%H(B
! 30: @end example
! 31:
! 32: $BBe?tE*?t$O(B, root $B$H8F$P$l$kFC<l$JBe?tE*?t$NM-M}?t78?tB?9`<0$^$?$OM-M}<0(B
! 33: $B$H$7$FI=8=$5$l$k(B. root $B$H$O(B, $B$=$l$^$GDj5A$5$l$?(B root $B$GI=$5$l$kBe?tE*(B
! 34: $B?t$r78?t$H$9$k(B 1 $BJQ?tB?9`<0$N:,$H$7$FDj5A$5$l$k(B. root $B$O(B, $BDj5A$,?7$7$$(B
! 35: $B=g$K(B, $BB?9`<0$KBP$9$kJQ?t%j%9%H$HF1$87A<0$G(B, root $B%j%9%H$H$7$F(B
! 36: $BBg0hJQ?t(B @code{ALG} $B$KJ];}$5$l$k(B. root $B$ODj5A=g$K(B @code{#n} (@code{n} $B$O(B
! 37: 0 $B$+$i;O$^$k(B) $B$H$$$&L>A0$GEPO?$5$l$k(B. $BBe?tE*?t$O(B, $B$=$l$^$G$KDj5A$5$l$?(B
! 38: $BITDj85$NM-M}<0$^$?$OB?9`<0$H$7$FI=8=$5$l$k$,(B, $B$3$l$r<B:]$KB?9`<0$H$7$F(B
! 39: $B07$&$?$a$K(B, $B3F(B root $B$K(B @code{t#n} $B$H$$$&L>A0$NFCJL$JITDj85$rBP1~$5$;$F(B
! 40: $B$$$k(B. $B$3$l$i$NA`:n$O(B, $B<!$K<($9(B @code{mkalg()} $B$K$h$j<+F0E*$K9T$o$l$k(B.
! 41:
! 42:
! 43: @subsection $BBe?tE*?t$N@8@.(B
! 44: @example
! 45: #include "ca.h"
! 46:
! 47: MKAlg(a,b) (macro; Obj a; Real b)
! 48: $B@8@.85$NB?9`<0$^$?$OM-M}<0$+$iBe?tE*?t$r@8@.$9$k(B.
! 49:
! 50: void mkalg(P p,Alg *r)
! 51: @code{p} $B$rDj5AB?9`<0$H$9$k(B root $B$r@8@.$9$k(B.
! 52:
! 53: void algtorat(Num n,Obj *r)
! 54: $BBe?tE*?t(B @code{n} $B$N3F(B root $B$rBP1~$9$kITDj85$KCV$-49$($?M-M}<0$^$?$OB?9`<0$r@8@.$9$k(B.
! 55:
! 56: void rattoalg(Obj obj,Alg *n)
! 57: root $B$KBP1~$9$kITDj85$r(B root $B$KCV$-49$($?Be?tE*?t$r@8@.$9$k(B.
! 58: @end example
! 59: @noindent
! 60: $B%^%/%m$GI,MW$JNN0h$O%^%/%mFb$G3NJ]$5$l$k(B.
! 61:
! 62: @subsection $B;MB'(B
! 63: @noindent
! 64: $B$$$:$l$b(B, $BBe?tE*?t(B, $BM-M}?tN>J}$rF~NO$K$H$l$k(B. $B7k2L$O$9$Y$FBe?tE*?t$H$J$k(B.
! 65:
! 66: @example
! 67: #include "ca.h"
! 68:
! 69: addalg(Num a,Num b,Alg *rp)
! 70: *rp = a + b
! 71:
! 72: subalg(Num a,Num b,Alg *rp)
! 73: *rp = a - b
! 74:
! 75: mulalg(Num a,Num b,Alg *rp)
! 76: *rp = a * b
! 77:
! 78: divalg(Num a,Num b,Alg *rp)
! 79: *rp = a / b
! 80:
! 81: pwralg(Num a,Num e,Alg *rp)
! 82: *rp = a ^ e
! 83:
! 84: int cmpalg(Num a,Num b)
! 85: root $B$NB?9`<0$"$k$$$OM-M}<0$H$7$FHf3S$9$k(B.
! 86: @end example
! 87:
! 88: @code{cmpalg()} $B$N7k2L$O(B, $BBe?tE*?t$r(B, root $B$NB?9`<0$"$k$$$OM-M}<0$H$_$F(B,
! 89: root $B4V$N=g=x$r85$K$7$?=g=xHf3S$K$h$j7h$^$k(B. root $B4V$N=g=x$O(B, $B8e$GDj5A(B
! 90: $B$5$l$?$b$NDx=g=x$,9b$/$J$k$h$&$K@_Dj$5$l$F$$$k(B.
! 91:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>