Set of real numbers: Difference between revisions

m
Line 708:
 
=={{header|Elena}}==
ELENA 3.4.x :
<lang elena>import extensions.;
extension setOp
{
union : (func)
= (:val)( => self(val) || func(val) ).;
intersection : (func)
= (:val)( => self(val) && func(val) ).;
difference : (func)
= (:val)( => self(val) && (func(val)) inverted.Inverted ).;
}
public program()
{
[
// union
var set := (:x)( (=> x >= 0.0r) && (x <= 1.0r) ) .union(:x)(x => (x >= 0.0r) && (x < 2.0r) ).;
set(0.0r) assertTrue.assertTrue();
set(1.0r) assertTrue.assertTrue();
set(2.0r) assertFalse.assertFalse();
// intersection
var set2 := (:x)( (=> x >= 0.0r) && (x < 2.0r) ) .intersection:(:x)( (=> x >= 1.0r) && (x <= 2.0r) ).;
set2(0.0r) assertFalse.assertFalse();
set2(1.0r) assertTrue.assertTrue();
set2(2.0r) assertFalse.assertFalse();
// difference
var set3 := (:x)( (=> x >= 0.0r) && (x < 3.0r) ) .difference:(:x) (=> (x >= 0.0r) && (x <= 1.0r) ).;
set3(0.0r) assertFalse.assertFalse();
set3(1.0r) assertFalse.assertFalse();
set3(2.0r) assertTrue.assertTrue();
]}</lang>
 
=={{header|F#|F sharp}}==
Anonymous user