
|
Go to the first, previous, next, last section, table of contents.
- arfreg(name,add,sub,mul,div,pwr,chsgn,comp)
-
:: 構造体に体する基本演算を登録する.
- return
-
1
- name
-
文字列
- add, sub, mul, div, pwr, chsgn, comp
-
ユーザ定義関数
-
name なる構造体型に対する基本演算を登録する.
-
それぞれの関数の仕様は次の通りである.
- add(A,B)
-
A+B
- sub(A,B)
-
A-B
- mul(A,B)
-
A*B
- div(A,B)
-
A/B
- pwr(A,B)
-
A^B
- chsgn(A)
-
-A
- comp(A,B)
-
1,0,-1 according to the result of a comparison between A and B.
% cat test
struct a {id,body}$
def add(A,B)
{
C = newstruct(a);
C->id = A->id; C->body = A->body+B->body;
return C;
}
def sub(A,B)
{
C = newstruct(a);
C->id = A->id; C->body = A->body-B->body;
return C;
}
def mul(A,B)
{
C = newstruct(a);
C->id = A->id; C->body = A->body*B->body;
return C;
}
def div(A,B)
{
C = newstruct(a);
C->id = A->id; C->body = A->body/B->body;
return C;
}
def pwr(A,B)
{
C = newstruct(a);
C->id = A->id; C->body = A->body^B;
return C;
}
def chsgn(A)
{
C = newstruct(a);
C->id = A->id; C->body = -A->body;
return C;
}
def comp(A,B)
{
if ( A->body > B->body )
return 1;
else if ( A->body < B->body )
return -1;
else
return 0;
}
arfreg("a",add,sub,mul,div,pwr,chsgn,comp)$
end$
% asir
This is Risa/Asir, Version 20000908.
Copyright (C) FUJITSU LABORATORIES LIMITED.
1994-2000. All rights reserved.
[0] load("./test")$
[11] A=newstruct(a);
{0,0}
[12] B=newstruct(a);
{0,0}
[13] A->body = 3;
3
[14] B->body = 4;
4
[15] A*B;
{0,12}
- 参照
-
section
newstruct ,
section 構造体定義
Go to the first, previous, next, last section, table of contents.
|