Jump to content

Set of real numbers: Difference between revisions

Line 359:
 
=={{header|Elena}}==
ELENA 3.2 :
<lang elena>#import extensions.
extension setOp
{
union : func
= (:val [)( self eval:val || func eval:val ]).
intersection : func
= (:val [)( self eval:val && func eval:val ]).
difference : func
= (:val [)( self eval:val && func eval:val; not ]).
}
Line 376 ⟶ 377:
[
// union
var set := (:x [)( (x >= 0.0r) && (x <= 1.0r) ]) union(: x [)( (x >= 0.0r) && (x < 2.0r) ]).
set eval:0.0r; assert &ifTrueassertTrue.
set eval:1.0r; assert &ifTrueassertTrue.
set eval:2.0r; assert &ifFalseassertFalse.
// intersection
var set2 := (:x [)( (x >= 0.0r) && (x < 2.0r) ]) intersection(: x [)( (x >= 1.0r) && (x <= 2.0r) ]).
set2 eval:0.0r; assert &ifFalseassertFalse.
set2 eval:1.0r; assert &ifTrueassertTrue.
set2 eval:2.0r; assert &ifFalseassertFalse.
// difference
var set3 := (:x [)( (x >= 0.0r) && (x < 3.0r) ]) difference(: x) [( (x >= 0.0r) && (x <= 1.0r) ]).
set3 eval:0.0r; assert &ifFalseassertFalse.
set3 eval:1.0r; assert &ifFalseassertFalse.
set3 eval:2.0r; assert &ifTrueassertTrue.
].</lang>
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.