Set of real numbers: Difference between revisions

m (minor edits)
Line 359:
 
=={{header|Elena}}==
<lang elena>#import systemextensions.
#import extensions.
#class(extension) setOp
 
#class(extension)setOp
{
#method union : func
= val [ self eval:val || func eval:val ].
#method intersection : func
= val [ self eval:val && func eval:val ].
#method difference : func
= val [ self eval:val && func eval:val not ].
}
 
#symbol program =
[
// union
#var set := x [ (x >= 0.0r) && (x <= 1.0r) ] union: x [ (x >= 0.0r) && (x < 2.0r) ].
set eval:0.0r assert &ifTrue.
set eval:1.0r assert &ifTrue.
set eval:2.0r assert &ifFalse.
// intersection
#var set2 := x [ (x >= 0.0r) && (x < 2.0r) ] intersection: x [ (x >= 1.0r) && (x <= 2.0r) ].
set2 eval:0.0r assert &ifFalse.
set2 eval:1.0r assert &ifTrue.
set2 eval:2.0r assert &ifFalse.
// difference
#var set3 := x [ (x >= 0.0r) && (x < 3.0r) ] difference: x [ (x >= 0.0r) && (x <= 1.0r) ].
set3 eval:0.0r assert &ifFalse.
set3 eval:1.0r assert &ifFalse.
Anonymous user