[BACK]Return to dpoly.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / int-parts / datatype

File: [local] / OpenXM / src / asir-doc / int-parts / datatype / dpoly.texi (download)

Revision 1.1, Mon Apr 23 05:45:36 2001 UTC (23 years, 2 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/dpoly.texi,v 1.1 2001/04/23 05:45:36 noro Exp $
@section $BJ,;6I=8=B?9`<0(B

@example
typedef struct oDL @{   $B;X?t%Y%/%H%k(B
    int td;            $BA4<!?t(B
    int d[1];          $B;X?t%Y%/%H%kK\BN(B
@} *DL;

typedef struct oMP @{   $BC19`<0%j%9%H(B
    struct oDL *dl;    $B;X?t%Y%/%H%k$X$N%]%$%s%?(B
    P c;               $B78?t(B
    struct oMP *next;  $B<!$NC19`<0$X$N%]%$%s%?(B
@} *MP;

typedef struct oDP @{   $BJ,;6I=8=B?9`<0(B
    short id;          $B<1JL;R(B (=O_DP)
    short nv;          $BJQ?t$N8D?t(B
    int sugar;         sugar $B$NCM(B
    struct oMP *body;  $BC19`<0%j%9%H$X$N%]%$%s%?(B
@} *DP;

struct order_pair @{    $B%V%m%C%/$KBP$9$k9`=g=x7?;XDj(B
    int order;         $B9`=g=x7?(B
    int length;        $B%V%m%C%/$ND9$5(B
@};

struct order_spec @{   $B9`=g=x7?;XDj9=B$BN(B
    int id;           $B9`=g=x7?;XDj<1JL;R(B 
                   (0: primitive $B9`=g=x(B; 1:$B%V%m%C%/9`=g=x(B; 2:$B9TNs$K$h$k9`=g=x(B)
    Obj obj;          Risa object $B$H$7$FM?$($i$l$?9`=g=x7?(B
    int nv;           $BJQ?t$N8D?t(B
    union @{                                 $B9`=g=x7?;XDj(B
        int simple;                         primitive $B9`=g=x<1JL;R(B
        struct @{                            $B%V%m%C%/9`=g=x7?;XDj(B 
            int length;                     $B%V%m%C%/?t(B
            struct order_pair *order_pair;  $B3F%V%m%C%/$N9`=g=x7?G[Ns$X$N%]%$%s%?(B
        @} block;
        struct @{                            $B9TNs$K$h$k9`=g=x7?;XDj(B
            int row;                        $BNs?t(B    
            int **matrix;                   $B9TNsK\BN(B
        @} matrix;
    @} ord;
@};
@end example
@noindent

$BJ,;6I=8=B?9`<0$O(B, $BB?9`<0$r(B, $B$"$kBe?t7O$r78?t$H$9$kC19`<0$NOB$H$7$FI=8=$9$k(B. 
$BC19`<0$O(B, $B78?t$*$h$S9`(B (term) $B$N@Q$G$"$k(B. $B9`$OJQ?t$NQQ@Q$G$"$k(B. $BJQ?t$r8GDj(B
$B$9$k$H$-(B, $B9`$O(B, $B;X?t$N$_$r<h$j=P$7$?;X?t%Y%/%H%k$GI=$;$k(B. $B>e5-9=B$BNDj5A$K(B
$B$*$$$F(B, @code{DP} $B$OJ,;6I=8=B?9`<0$N(B wrapper, @code{MP} $B$O3FC19`<0$N78?t(B
$B$*$h$S;X?t%Y%/%H%k$rI=$9(B. $B$^$?(B @code{DL} $B$O;X?t%Y%/%H%k$rI=$9(B. 

@code{MP}$B$K$h$jC19`<0%j%9%H$r9=@.$9$k:](B, $B9`$N=g=x$r;XDj$9$kI,MW$,$"$k(B. 
$B$3$l$O(B, $BJQ?t$,8GDj$5$l$?>l9g$K(B, $B9`$N=89g$N4V$K$"$k>r7o$rK~$?$9A4=g=x$r(B
$B@_Dj$9$k$3$H$K$h$j9T$&(B. Risa $B$K$*$$$F$O(B, $B9`=g=x$N;XDj$r(B, 

@enumerate
@item $B3FJQ?t$H(B, $B;X?t%Y%/%H%k$N@.J,$N0LCV$NBP1~(B ($BJQ?t=g=x(B)
@item $B;X?t%Y%/%H%k$KBP$9$k=g=x$N;XDj(B ($B9`=g=x7?(B)
@end enumerate

$B$K$h$j9T$&(B. 1. $B$OC1$KJQ?t$r%j%9%H$H$7$F;XDj$9$k$3$H$K$h$j9T$&(B. 2. $B$O(B
3 $B$D$N%+%F%4%j$KJ,$+$l$k(B. 

@enumerate
@item primitive $B9`=g=x7?(B

$B$3$l$O(B, $B<!$N$h$&$J<1JL;R$K$h$j;XDj$5$l$k7?$G$"$k(B. 

$BA4<!?t$D$-=g=x$O(B, $B$^$:A4<!?t$K$h$kHf3S$r9T$&(B.

$B<-=q<0=g=x$O(B, $B;X?t%Y%/%H%k$N@hF,$+$iHf3S$r9T$$(B, $BCM$,Bg$-$$J}$N=g=x$r>e$H(B
$B$9$k(B. 

$B5U<-=q<0=g=x$O(B, $B;X?t%Y%/%H%k$NKvHx$+$iHf3S$r9T$$(B, $BCM$,>.$5$$J}$N=g=x$r>e(B
$B$H$9$k(B.

@example
ORD_REVGRADLEX = 0   $BA4<!?t5U<-=q<0=g=x(B
ORD_GRADLEX = 1      $BA4<!?t<-=q<0=g=x(B
ORD_DLEX = 2         $B<-=q<0=g=x(B
@end example

@item $B%V%m%C%/9`=g=x7?(B

$B$3$l$O(B, $BJQ?t%j%9%H$r4v$D$+$N%V%m%C%/$K$o$1(B, $B3F%V%m%C%/$K(B primitive $B9`=g=x(B
$B7?$r;XDj$7$F(B, $B@hF,$N%V%m%C%/$+$iHf3S$r9T$C$F$$$/7?$G$"$k(B. $B$3$N7?$O(B, 

[[N1,O1],[N2,O2],...]

$B$J$k%j%9%H$K$h$j;XDj$G$-$k(B. $B$3$3$G(B, Ni $B$O%V%m%C%/Fb$NJQ?t$N8D?t(B, Oi $B$O(B
$B$=$N%V%m%C%/$K$*$1$k(B primitive $B9`=g=x7?$G$"$k(B. 

@item $B9TNs9`=g=x7?(B

$B;X?t%Y%/%H%k(B a, b $B$KBP$7(B, $B$"$k>r7o$rK~$?$99TNs(B M $B$K$h$j(B, M(a-b) $B$N:G=i$N(B
0 $B$G$J$$@.J,$,@5$N>l9g$K(B a $B$N=g=x$,>e(B, $B$H$7$FA4=g=x$,Dj5A$G$-$k(B. $B$3$N(B
$B=g=x7?$r(B, M $B$K$h$jDj5A$5$l$k9TNs9`=g=x7?$H$h$V(B
@end enumerate

@code{DP} $B$O(B sugar $B$J$k%a%s%P$r;}$D(B. $B$3$l$O(B, $B0J2<$N5,B'$K$h$j7W;;$5$l$k(B. 

@itemize

@item $B0J2<$G@bL@$9$k(B @code{ptod()} $B$K$h$j@8@.$5$l$?J,;6I=8=B?9`<0$N>l9g$K$OA4(B
$B<!?t$K0lCW$9$k(B.

@item $BJ,;6B?9`<0$KC19`<0$r$+$1$?>l9g$K$O(B, sugar $B$NCM$OB?9`(B
$B<0$N(B sugar $B$KC19`<0$NA4<!?t$r2C$($?$b$N$K$J$k(B. 

@item $BJ,;6B?9`<0$N2C8:;;$K$*$$$F$O(B, $B7k2L$N(B sugar $B$NCM$OBg$-$$J}$NCM(B
$B$H$J$k(B.
@end itemize

$B$3$NCM$ODL>o$O8F$S=P$7$?1i;;4X?t$K$h$j%a%s%F%J%s%9$5$l$k$,(B, $BFH<+$K(B
$BJ,;6B?9`<0$r@8@.$7$?>l9g$K$O(B, $B>e$N5,B'$K$h$j(B sugar $B$NCM$r7W;;$7(B
$B@_Dj$9$kI,MW$,$"$k(B. 

@subsection $BJ,;6I=8=B?9`<0$N@8@.(B
@example
#include "ca.h"

MKDP(n,m,d)  (macro; int n; MP m; DP d)
$BJQ?t$N8D?t$,(B n $B$G$"$kC19`<0%j%9%H(B m $B$+$iJ,;6I=8=B?9`<0$r@8@.$9$k(B. 
sugar $B$NCM$O@_Dj$5$l$:(B, $B$3$N(B macro $B$r<B9T$7$?$"$H$K@_Dj$9$kI,MW$,$"$k(B. 

NEWDL(d,n) (macro; int n; DL d)
$BD9$5(B n $B$N;X?t%Y%/%H%k(B d $B$r@8@.$9$k(B. d $B$NA4<!?t$O(B 0, $B3F@.J,$O(B 0 $B$K=i4|2=(B
$B$5$l$k(B. 

NEWMP(m) (macro; MP m)
$BC19`<0%j%9%H9=B$BN(B m $B$r@8@.$9$k(B. 

NEXTMP(r,c) (macro; MP r,c)
r $B$rC19`<0%j%9%H$N@hF,$H$7(B, c $B$rKvHx$H$9$k$H$-(B, $BKvHx$KC19`<0%j%9%H$r(B
$BDI2C$7(B, c $B$r$=$NC19`<0%j%9%H$r;X$9$h$&$K$9$k(B. r $B$,(B 0 $B$N$H$-(B, 
$BC19`<0%j%9%H$,@8@.$5$l(B, r $B$*$h$S(B c $B$O$=$NC19`<0%j%9%H$r;X$9(B. 

void initd(struct order_spec *spec)
$B9`=g=x9=B$BN(B spec $B$r8=:_$N9`=g=x$H$7$F;XDj$9$k(B. 

void ptod(VL vl, VL dvl, P p, DP *pr)
$BJQ?t=g=x(B vl $B$N85$G9=@.$5$l$?(B($B:F5"I=8=(B)$BB?9`<0(B p $B$r(B, $BJQ?t=g=x(B dvl $B$N$b$H$G(B, 
$B8=:_@_Dj$5$l$F$$$k9`=g=x7?$K=>$C$FJ,;6I=8=B?9`<0$KJQ49$7(B *pr $B$H$9$k(B. 
@end example

@code{NEXTMP()} $B$OC19`<0%j%9%H$NKvHx$KC19`<0$rDI2C$7$F$$$/>l9g$KMQ$$$k(B. 
@subsection $B;MB'(B
@example
#include "ca.h"

void addd(VL vl,DP a,DP b,DP *rp)
*rp = a + b

void subd(VL vl,DP a,DP b,DP *rp)
*rp = a - b

void muld(VL vl,DP a,DP b,DP *rp)
*rp = a * b

compd(VL vl,DP a,DP b)
$B0J2<$N=g=x$GHf3S(B
@end example
@noindent
@code{compd(vl,a,b)} $B$O<!$N$h$&$J=g=x$E$1$K$h$k(B. 

@enumerate
@item $B@hF,$NC19`<0$N;X?t%Y%/%H%k$r(B, $B8=:_@_Dj$5$l$k=g=x$GHf3S(B. 
@item $B;X?t%Y%/%H%k$,Ey$7$$>l9g(B, $B78?t$rB?9`<0$N=g=x$GHf3S(B. 
@item $B@hF,$NC19`<0$,Ey$7$$>l9g(B, 1., 2. $B$NHf3S$r<!$N9`0J9_$KBP$7$FB3$1$k(B. 
@end enumerate