SET a=0
WHILE a<11 {
&sql(SELECT {fn EXP(:a)}
INTO :b
FROM Sample.Person)
IF SQLCODE'=0 {
WRITE !,"Error code ",SQLCODE
QUIT }
ELSE {
WRITE !,"Exponential of ",a," = ",b
SET a=a+1 }
}
SET a=1
WHILE a<11 {
&sql(SELECT {fn LOG(:a)}
INTO :b
FROM Sample.Person)
IF SQLCODE'=0 {
WRITE !,"Error code ",SQLCODE
QUIT }
ELSE {
WRITE !,"Logarithm of ",a," = ",b }
&sql(SELECT ROUND({fn EXP(:b)},12)
INTO :c
FROM Sample.Person)
IF SQLCODE'=0 {
WRITE !,"Error code ",SQLCODE }
ELSE {
WRITE !,"Exponential of log ",b," = ",c
SET a=a+1 }
}
ここでは、システムの計算制限によって生じる非常に小さな差異を修正する
ROUND 関数が必要なことに注意してください。上記の例では、この目的で
ROUND がとりあえず小数点以下 12 桁に設定されています。