19.11.2014 Views

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

(self,other:RationalQuantityU,ninf ′ ,lt ′ ,eq ′ ,gt ′ ,pinf ′ ,nan ′ ) :<br />

RationalQuantity U,<br />

ninf ∧ (nan ′ ∨ ninf ′ ) ∨ (nan ∨ ninf ) ∧ ninf ′ ,<br />

lt ∧ (nan ′ ∨ ninf ′ ∨ lt ′ ) ∨ (nan ∨ ninf ∨ lt) ∧ lt ′ ,<br />

eq ∧ (nan ′ ∨ ninf ′ ∨ lt ′ ∨ eq ′ ) ∨ (nan ∨ ninf ∨ lt ∨ eq) ∧ eq ′ ,<br />

gt ∧ (nan ′ ∨ ninf ′ ∨ lt ′ ∨ eq ′ ∨ gt ′ ) ∨ (nan ∨ ninf ∨ lt ∨ eq ∨ gt) ∧ gt ′ ,<br />

pinf ∧(nan ′ ∨ ninf ′ ∨ lt ′ ∨ eq ′ ∨ gt ′ ∨ pinf ′ )∨<br />

(nan ∨ ninf ∨ lt ∨ eq ∨ gt ∨ pinf ) ∧ pinf ′ ,<br />

nan ∧ nan ′ <br />

opr MINNUMbool ninf ′ ,bool lt ′ ,bool eq ′ ,bool gt ′ ,bool pinf ′ ,bool nan ′ <br />

(self,other:RationalQuantityU,ninf ′ ,lt ′ ,eq ′ ,gt ′ ,pinf ′ ,nan ′ ) :<br />

RationalQuantity U,<br />

ninf ∧(ninf ′ ∨ lt ′ ∨ eq ′ ∨ gt ′ ∨ pinf ′ ∨ nan ′ )∨<br />

(ninf ∨ lt ∨ eq ∨ gt ∨ pinf ∨ nan) ∧ ninf ′ ,<br />

lt ∧ (lt ′ ∨ eq ′ ∨ gt ′ ∨ pinf ′ ∨ nan ′ ) ∨ (lt ∨ eq ∨ gt ∨ pinf ∨ nan) ∧ lt ′ ,<br />

eq ∧ (eq ′ ∨ gt ′ ∨ pinf ′ ∨ nan ′ ) ∨ (eq ∨ gt ∨ pinf ∨ nan) ∧ eq ′ ,<br />

gt ∧ (gt ′ ∨ pinf ′ ∨ nan ′ ) ∨ (gt ∨ pinf ∨ nan) ∧ gt ′ ,<br />

pinf ∧ (pinf ′ ∨ nan ′ ) ∨ (pinf ∨ nan) ∧ pinf ′ ,<br />

nan ∧ nan ′ <br />

opr |self| :RationalQuantityU,false,false,eq,lt ∨ gt,ninf ∨ pinf ,nan<br />

signum(self):RationalQuantityU,false,lt,eq,gt,false,nan<br />

numerator(self): IntegerQuantityU,false,ninf ∨ lt,eq,gt ∨ pinf ,false,nan<br />

denominator(self):IntegerQuantitydimensionless,false,false,ninf ∨ pinf ,lt ∨ eq ∨ gt,false,nan<br />

floor(self): IntegerQuantityU,ninf ,lt,eq ∨ gt,gt,pinf ,nan<br />

opr ⌊self⌋: IntegerQuantityU,ninf ,lt,eq ∨ gt,gt,pinf ,nan<br />

ceiling(self):IntegerQuantityU,ninf ,lt,lt ∨ eq,gt,pinf ,nan<br />

opr ⌈self⌉: IntegerQuantityU,ninf ,lt,lt ∨ eq,gt,pinf ,nan<br />

round(self): IntegerQuantityU,ninf ,lt,lt ∨ eq ∨ gt,gt,pinf ,nan<br />

truncate(self):IntegerQuantityU,ninf ,lt,lt ∨ eq ∨ gt,gt,pinf ,nan<br />

realpart(self): RationalQuantityU,ninf ,lt,eq,gt,pinf ,nan<br />

imagpart(self):RationalQuantityU,false,false,true,false,false,nan<br />

check(self): Q throws CastException<br />

check ∗ (self): Q ∗ throws CastException<br />

check < (self): Q < throws CastException<br />

check ≤ (self): Q ≤ throws CastException<br />

check ≥ (self): Q ≥ throws CastException<br />

check > (self): Q > throws CastException<br />

check≠(self): Q≠ throws CastException<br />

check ∗ (self): Q ∗ > throws CastException<br />

check ∗<br />

≠(self): Q ∗<br />

≠<br />

throws CastException<br />

check # (self): Q # > throws CastException<br />

check #<br />

≠<br />

(self): Q#<br />

≠<br />

throws CastException<br />

end<br />

For descriptions of the methods, see Section 25.1.<br />

265

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!