亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rectangle.c

?? 數據挖掘算法BIRCH源碼 c語言版本。
?? C
字號:
/****************************************************************File Name:   rectangle.C Author: Tian Zhang, CS Dept., Univ. of Wisconsin-Madison, 1995               Copyright(c) 1995 by Tian Zhang                   All Rights ReservedPermission to use, copy and modify this software must be grantedby the author and provided that the above copyright notice appear in all relevant copies and that both that copyright notice and this permission notice appear in all relevant supporting documentations. Comments and additions may be sent the author at zhang@cs.wisc.edu.******************************************************************/#include "global.h"#include "util.h"#include "vector.h"#include "rectangle.h"Rectangle::Rectangle() {}void Rectangle::Init(short d){dim = d;low = new double[dim];high = new double[dim];for (short i=0; i<dim; i++) {	low[i]=0.0;	high[i]=-1.0;	}}void Rectangle::Reset() {for (short i=0; i<dim; i++) {	low[i]=0;	high[i]=-1;	}}Rectangle::Rectangle(const Rectangle& rect){	dim = rect.dim;	memcpy(low,rect.low,dim*sizeof(double));	memcpy(high,rect.high,dim*sizeof(double));}Rectangle::~Rectangle() {if (low!=NULL) delete [] low; if (high!=NULL) delete [] high;}void Rectangle::operator=(const Rectangle &rect) {if (this!=&rect) {		dim = rect.dim;		memcpy(low,rect.low,dim*sizeof(double));		memcpy(high,rect.high,dim*sizeof(double));		}}void Rectangle::operator=(const int val){for (short i=0; i<dim; i++) {	low[i] = val; high[i] = val;	}}void Rectangle::operator=(const float val){for (short i=0; i<dim; i++) {	low[i] = val; high[i] = val;	}}void Rectangle::operator=(const double val){for (short i=0; i<dim; i++) {	low[i] = val; high[i] = val;	}}void Rectangle::operator=(const Vector &v){	memcpy(low,v.value,dim*sizeof(double));	memcpy(high,v.value,dim*sizeof(double));}	const double* Rectangle::LowBound() const { return low;}const double* Rectangle::HighBound() const { return high;}double Rectangle::LowBound(short n) const { return low[n];}double Rectangle::HighBound(short n) const { return high[n];}double Rectangle::Middle(short n) const { return (low[n]+high[n])/2; }double Rectangle::Length(short n) const { return (high[n]-low[n]); }double Rectangle::Area() const {double area = 1;for (short i=0; i<dim; i++) {	if (high[i] < low[i]) return -1;	area *= (high[i] - low[i]);	}return area;}double Rectangle::Margin() const {double margin = 0;for (short i=0; i<dim; i++) {	if (high[i] < low[i]) return -1; 	margin += (high[i] - low[i]); 	}return margin;}void Rectangle::Assign(const Vector &lv, const Vector &hv) {	memcpy(low,lv.value,dim*sizeof(double));	memcpy(high,hv.value,dim*sizeof(double));	}void Rectangle::Transform(const Vector &W, const Vector &M) {for (short i=0; i<dim; i++) {	low[i] = (low[i]-M.Value(i))*W.Value(i);	high[i] = (high[i]-M.Value(i))*W.Value(i);	}}// if two rectangles are not intersected, // then result will be a null rectangle.void Rectangle::Mul(const Rectangle& r1, const Rectangle& r2) {if (r1.low[0]>r1.high[0]) {*this = r2; return;}if (r2.low[0]>r2.high[0]) {*this = r1; return;}for (short i=0; i<dim; i++) {	low[i] = MAX(r1.low[i], r2.low[i]);	high[i] = MIN(r1.high[i], r2.high[i]); 	}}void Rectangle::Add(const Rectangle& r1, const Rectangle &r2) {if (r1.low[0]>r1.high[0]) {*this = r2; return;}if (r2.low[0]>r2.high[0]) {*this = r1; return;}for (short i=0; i<dim; i++) {	low[i] = MIN(r1.low[i], r2.low[i]);	high[i] = MAX(r1.high[i], r2.high[i]);	}}void Rectangle::operator+=(const Vector& other){if (low[0]>high[0]) {	for (short i=0; i<dim; i++) {		low[i]=other.value[i];		high[i]=low[i];		}	}else {  for (short i=0; i<dim; i++) {		low[i]=MIN(low[i],other.value[i]);		high[i]=MAX(high[i],other.value[i]);		}	}}void Rectangle::operator+=(const Rectangle& other){if (low[0]>high[0]) {*this=other; return;}if (other.low[0]>other.high[0]) return;for (short i=0; i<dim; i++) {	low[i] = MIN(low[i], other.low[i]);	high[i] = MAX(high[i], other.high[i]);	}}void Rectangle::operator*=(const Rectangle& other){if (low[0]>high[0]) {*this=other; return;}if (other.low[0]>other.high[0]) return;for (short i=0; i<dim; i++) {	low[i] = MAX(low[i], other.low[i]);	high[i] = MIN(high[i], other.high[i]);	}}//equalshort Rectangle::operator==(const Rectangle& other) const{short i;for (i=0; i<dim; i++) {	if (ABS(low[i]-other.low[i])>ERROR || 	    ABS(high[i]-other.high[i])>ERROR)	return FALSE;	}return TRUE;}//containshort Rectangle::operator>(const Rectangle& other) const{short i;for (i=0; i<dim; i++) 	if (low[i] > other.low[i]) return FALSE;for (i=0; i<dim; i++) 	if (high[i] < other.high[i]) return FALSE;return TRUE;}//overlapshort Rectangle::operator^(const Rectangle& other) const{	Rectangle tmp;	tmp.Init(dim);	tmp.Mul(*this,other);	return (tmp.Area() >= 0);}double Rectangle::operator||(const Rectangle& other) const{double square = 0;for (short i=0; i<dim; i++) {	double diff = low[i] + high[i] - other.low[i] - other.high[i];	square += (diff*diff/4);	}return square;}istream &operator>>(istream &fi, Rectangle &rect) {	register short i;	for (i=0;i<rect.dim;i++)  fi >> rect.low[i];	for (i=0;i<rect.dim;i++)  fi >> rect.high[i];	return fi;	}ifstream &operator>>(ifstream &fi, Rectangle &rect) {	register short i;	for (i=0;i<rect.dim;i++) fi >> rect.low[i];	for (i=0;i<rect.dim;i++) fi >> rect.high[i];	return fi;	}ostream &operator<<(ostream &fo, const Rectangle &rect) {	register short i;	for (i=0;i<rect.dim;i++) fo << rect.low[i] << ' ';	for (i=0;i<rect.dim;i++) fo << rect.high[i] << ' ';	return fo;	}ofstream &operator<<(ofstream &fo, const Rectangle &rect) {	register short i;	for (i=0;i<rect.dim;i++) fo << rect.low[i] << ' ';	for (i=0;i<rect.dim;i++) fo << rect.high[i] << ' ';	return fo;	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本高清成人免费播放| 精品日韩一区二区三区| 欧美日韩久久一区二区| 日韩久久免费av| 亚洲女同一区二区| 国产九色sp调教91| 欧美美女喷水视频| 亚洲精选视频在线| 久久国产尿小便嘘嘘尿| 欧美综合久久久| 国产精品视频线看| 久久精品免费观看| 欧美日韩国产乱码电影| 亚洲婷婷综合久久一本伊一区| 美腿丝袜亚洲三区| 欧美伊人精品成人久久综合97| 国产欧美一区二区精品忘忧草| 日本aⅴ免费视频一区二区三区| av成人动漫在线观看| 久久亚洲综合色| 免费成人在线视频观看| 欧美日韩日日骚| 亚洲精品一二三| 99久久久无码国产精品| 国产农村妇女毛片精品久久麻豆| 美女网站一区二区| 欧美高清精品3d| 亚洲午夜羞羞片| 色美美综合视频| 亚洲免费在线视频一区 二区| 国产精品一区二区三区乱码| 欧美成人福利视频| 久久99国产精品免费网站| 91麻豆精品国产无毒不卡在线观看| 一区二区三区小说| 色婷婷久久久综合中文字幕| 国产精品第五页| 99精品视频在线播放观看| 国产精品视频线看| av福利精品导航| 一区二区在线观看免费视频播放| 99精品视频一区| 亚洲一区二区三区四区在线 | 亚洲精品一区二区三区影院 | 亚洲成av人片www| 91久久国产最好的精华液| 有码一区二区三区| 欧美日韩在线一区二区| 亚洲成av人在线观看| 91精品国产综合久久香蕉的特点| 日韩在线观看一区二区| 日韩精品一区二区三区中文不卡| 麻豆精品蜜桃视频网站| 国产亚洲人成网站| 99精品欧美一区二区三区小说 | 欧美变态tickling挠脚心| 麻豆成人久久精品二区三区红| 久久影院午夜论| jlzzjlzz国产精品久久| 一区二区三区成人在线视频| 欧美挠脚心视频网站| 国产一区二区视频在线播放| 欧美激情一区在线| 在线观看一区二区视频| 日韩精品亚洲一区| 欧美高清在线一区二区| 欧美偷拍一区二区| 国产在线一区二区综合免费视频| 欧美韩国日本不卡| 欧美人xxxx| 国产成a人亚洲| 亚洲第一主播视频| 久久青草欧美一区二区三区| 91色乱码一区二区三区| 久久99最新地址| 最近日韩中文字幕| 欧美变态凌虐bdsm| 欧美日韩中文字幕一区| 粉嫩欧美一区二区三区高清影视| 亚洲精品久久久蜜桃| 欧美精品一区二区高清在线观看| 91丨九色丨蝌蚪富婆spa| 六月丁香婷婷久久| 亚洲精品久久久久久国产精华液| 久久先锋影音av| 欧美日韩中字一区| av电影在线观看不卡| 久久99精品久久久久久动态图 | 香蕉成人伊视频在线观看| 久久影院电视剧免费观看| 欧美综合在线视频| a级高清视频欧美日韩| 久久国产视频网| 午夜精品视频在线观看| 国产精品剧情在线亚洲| 久久免费视频色| 欧美哺乳videos| 欧美裸体一区二区三区| 色www精品视频在线观看| 成人爽a毛片一区二区免费| 免费在线观看成人| 亚洲福利一二三区| 一区二区三区在线影院| 国产精品你懂的在线欣赏| 日韩精品最新网址| 日韩欧美亚洲国产精品字幕久久久| 日本精品裸体写真集在线观看| 国产精品一区二区久久不卡 | 国产成人精品三级| 极品少妇一区二区| 久久国产生活片100| 麻豆精品一区二区综合av| 日韩成人免费看| 日韩电影一区二区三区| 午夜精品一区二区三区免费视频| 一级日本不卡的影视| 一区二区三区影院| 亚洲不卡一区二区三区| 亚洲一区二区三区不卡国产欧美 | 欧美精品一区二区三| 精品理论电影在线观看| 精品美女一区二区| 久久精品亚洲国产奇米99| 国产日产亚洲精品系列| 亚洲国产高清不卡| 国产精品免费久久| 亚洲日本在线视频观看| 亚洲精选在线视频| 午夜不卡av免费| 久久丁香综合五月国产三级网站| 看电视剧不卡顿的网站| 风流少妇一区二区| 成年人网站91| 91黄色免费版| 337p亚洲精品色噜噜| 精品美女在线播放| 中文字幕一区免费在线观看| 亚洲欧美另类在线| 午夜日韩在线电影| 国产一区二区视频在线播放| 成人黄色片在线观看| 色综合久久综合网| 91精品免费在线| 久久综合色8888| 最新热久久免费视频| 亚洲福利视频导航| 国产综合色产在线精品| 99久久夜色精品国产网站| 欧美色图在线观看| 精品999久久久| 亚洲精品视频在线观看免费| 午夜激情一区二区三区| 国产一区二区视频在线播放| 成人app在线| 欧美一区二区成人6969| 日本一区二区综合亚洲| 亚洲成av人片在线观看无码| 国产精品一区二区在线看| 在线观看视频欧美| 久久精品网站免费观看| 亚洲尤物在线视频观看| 国产在线视频一区二区三区| av电影天堂一区二区在线| 欧美一区三区二区| 亚洲手机成人高清视频| 蜜桃视频在线观看一区二区| 91香蕉视频黄| 精品99一区二区| 天天综合天天综合色| 不卡一二三区首页| 日韩精品最新网址| 亚洲成人精品影院| 91在线国产观看| 久久久午夜精品| 日韩成人精品在线| 在线观看亚洲一区| 亚洲丝袜另类动漫二区| 国产老妇另类xxxxx| 欧美人牲a欧美精品| 日韩中文欧美在线| 在线观看免费视频综合| 国产精品麻豆一区二区| 蜜桃视频一区二区| 7777精品伊人久久久大香线蕉的 | 欧美视频中文字幕| 国产精品视频免费看| 精品综合久久久久久8888| 欧美色视频一区| 亚洲欧美日韩在线| 成人黄色777网| 中文字幕成人av| 国产精品538一区二区在线| 日韩欧美第一区| 日韩精品视频网| 91精品欧美一区二区三区综合在 | 国产精品进线69影院| 成人妖精视频yjsp地址| 国产欧美日韩亚州综合| 国产麻豆精品95视频| 欧美精品一区二区三区在线 |