⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hnrangetest.cc

📁 R 树
💻 CC
字号:
/* * HnRangeTest.cc * Copyright (C) 1997 Norio Katayama * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, * MA 02111-1307, USA * * 08/27/96 katayama@rd.nacsis.ac.jp * $Id: HnRangeTest.cc,v 1.2 1997/06/02 09:35:29 katayama Exp $ */#include "HnString.hh"#include "HnRange.hh"HnRangenew_HnRange(double min, HnRange::EndType minType,	    double max, HnRange::EndType maxType){	HnRange range;	range.set(min, minType, max, maxType);	return range;}voidintersect(const HnRange &range1, const HnRange &range2){	HnRange overlappingRange, boundingRange;	overlappingRange = range1.getOverlappingRange(range2);	boundingRange = range1.getBoundingRange(range2);	printf("range1: %s\n", (char *)range1.toString());	printf("range2: %s\n", (char *)range2.toString());	printf("overlapping range: %s\n",	       overlappingRange == HnRange::null ? 	       "null" : (char *)overlappingRange.toString());	printf("bounding range   : %s\n",	       boundingRange == HnRange::null ?	       "null" : (char *)boundingRange.toString());	printf("range1.overlaps(range2) : %s\n",	       (range1.overlaps(range2) ? "true" : "false"));	printf("range2.overlaps(range1) : %s\n",	       (range2.overlaps(range1) ? "true" : "false"));	printf("range1.includes(range2) : %s\n",	       (range1.includes(range2) ? "true" : "false"));	printf("range2.includes(range1) : %s\n",	       (range2.includes(range1) ? "true" : "false"));	printf("\n");}intmain(int, char *[]){	HnRange range1, range2;	/*	 * (0, 0), (0, 0)	 */	range1 = new_HnRange(0, HnRange::EXCLUSIVE, 0, HnRange::EXCLUSIVE);	range2 = new_HnRange(0, HnRange::EXCLUSIVE, 0, HnRange::EXCLUSIVE);	intersect(range1, range2);	/*	 * [0, 0), (0, 0)	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 0, HnRange::EXCLUSIVE);	range2 = new_HnRange(0, HnRange::EXCLUSIVE, 0, HnRange::EXCLUSIVE);	intersect(range1, range2);	/*	 * (0, 0], (0, 0)	 */	range1 = new_HnRange(0, HnRange::EXCLUSIVE, 0, HnRange::INCLUSIVE);	range2 = new_HnRange(0, HnRange::EXCLUSIVE, 0, HnRange::EXCLUSIVE);	intersect(range1, range2);	/*	 * [0, 0), (0, 0]	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 0, HnRange::EXCLUSIVE);	range2 = new_HnRange(0, HnRange::EXCLUSIVE, 0, HnRange::INCLUSIVE);	intersect(range1, range2);	/*	 * [0, 0], [0, 1]	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 0, HnRange::INCLUSIVE);	range2 = new_HnRange(0, HnRange::INCLUSIVE, 1, HnRange::INCLUSIVE);	intersect(range1, range2);	/*	 * [0, 0], (0, 1]	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 0, HnRange::INCLUSIVE);	range2 = new_HnRange(0, HnRange::EXCLUSIVE, 1, HnRange::INCLUSIVE);	intersect(range1, range2);	/*	 * [0, 1], [1, 2]	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 1, HnRange::INCLUSIVE);	range2 = new_HnRange(1, HnRange::INCLUSIVE, 2, HnRange::INCLUSIVE);	intersect(range1, range2);	/*	 * [0, 1], (1, 2]	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 1, HnRange::INCLUSIVE);	range2 = new_HnRange(1, HnRange::EXCLUSIVE, 2, HnRange::INCLUSIVE);	intersect(range1, range2);	/*	 * [0, 1), (1, 2]	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 1, HnRange::EXCLUSIVE);	range2 = new_HnRange(1, HnRange::EXCLUSIVE, 2, HnRange::INCLUSIVE);	intersect(range1, range2);	/*	 * [1, 1], [0, 2]	 */	range1 = new_HnRange(1, HnRange::INCLUSIVE, 1, HnRange::INCLUSIVE);	range2 = new_HnRange(0, HnRange::INCLUSIVE, 2, HnRange::INCLUSIVE);	intersect(range1, range2);	/*	 * [0, 2], [1, 1]	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 2, HnRange::INCLUSIVE);	range2 = new_HnRange(1, HnRange::INCLUSIVE, 1, HnRange::INCLUSIVE);	intersect(range1, range2);	/*	 * [0, 1], (0, 1)	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 1, HnRange::INCLUSIVE);	range2 = new_HnRange(0, HnRange::EXCLUSIVE, 1, HnRange::EXCLUSIVE);	intersect(range1, range2);	/*	 * [0, 1), (0, 1)	 */	range1 = new_HnRange(0, HnRange::INCLUSIVE, 1, HnRange::EXCLUSIVE);	range2 = new_HnRange(0, HnRange::EXCLUSIVE, 1, HnRange::EXCLUSIVE);	intersect(range1, range2);	/*	 * (0, 1], (0, 1)	 */	range1 = new_HnRange(0, HnRange::EXCLUSIVE, 1, HnRange::INCLUSIVE);	range2 = new_HnRange(0, HnRange::EXCLUSIVE, 1, HnRange::EXCLUSIVE);	intersect(range1, range2);	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -