REALVALUED Declaration and Check
Date: 2020-10-07 18:10:00

Up | Next | Tail

### 10.1 REALVALUED Declaration and Check

The declaration REALVALUED may be used to restrict variables to the real numbers. The syntax is:

realvalued v1,...vn;

For such variables the operator IMPART gives the result zero. Thus, with

realvalued x,y;

the expression impart(x+sin(y)) is evaluated as zero. You may also declare an operator as real valued with the meaning, that this operator maps real arguments always to real values. Example:

operator h; realvalued h,x;
impart h(x);
0
impart h(w);
impart(h(w))

Such declarations are not needed for the standard elementary functions.

To remove the propery from a variable or an operator use the declaration NOTREALVALUED with the syntax:

notrealvalued v1,...vn;

The boolean operator REALVALUEDP allows you to check if a variable, an operator, or an operator expression is known as real valued. Thus,

realvalued x;
write if realvaluedp(sin x) then "yes" else "no";
write if realvaluedp(sin z) then "yes" else "no";

would print ﬁrst yes and then no. For general expressions test the impart for checking the value range:

realvalued x,y; w:=(x+i*y); w1:=conj w;
impart(w*w1);
0
impart(w*w);
2*x*y

Up | Next | Front