謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

interval


T min(T)(T a,T b){
return ab?a:b;
}

class interval(T){
this(T min, T max){
assert(max > min);
this.min=this.min;
this.max=this.max;
}
T min;
T max;
interval!(T) opMul(interval!(T) a){
//not impl
}
///区間に値が含まれてるか
bool opIn_r(T a){
if(this.min <= a && this.max >= a)
return true;
return false;
}
///区間の要素が一つだけか
bool singleton(){
return !(this.max-this.min);
}
///共通部分を返します。
interval!(T) intersect(interval!(T) a){
if(this.max < a.min || this.min > a.max)
return null;
T _min,_max;
_min=.max(this.min,a.min);
_max=.min(this.max,a.max);
return new interval!(T)(_min,_max);
}
}

眠い。途中だけどもう寝る。