ANN.h   ANN.h 
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// File: ANN.h // File: ANN.h
// Programmer: Sunil Arya and David Mount // Programmer: Sunil Arya and David Mount
// Last modified: 05/03/05 (Release 1.1)
// Description: Basic include file for approximate nearest // Description: Basic include file for approximate nearest
// neighbor searching. // neighbor searching.
// Last modified: 01/27/10 (Version 1.1.2)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Copyright (c) 1997-2005 University of Maryland and Sunil Arya and // Copyright (c) 1997-2010 University of Maryland and Sunil Arya and
// David Mount. All Rights Reserved. // David Mount. All Rights Reserved.
// //
// This software and related documentation is part of the Approximate // This software and related documentation is part of the Approximate
// Nearest Neighbor Library (ANN). This software is provided under // Nearest Neighbor Library (ANN). This software is provided under
// the provisions of the Lesser GNU Public License (LGPL). See the // the provisions of the Lesser GNU Public License (LGPL). See the
// file ../ReadMe.txt for further information. // file ../ReadMe.txt for further information.
// //
// The University of Maryland (U.M.) and the authors make no // The University of Maryland (U.M.) and the authors make no
// representations about the suitability or fitness of this software for // representations about the suitability or fitness of this software for
// any purpose. It is provided "as is" without express or implied // any purpose. It is provided "as is" without express or implied
skipping to change at line 31 skipping to change at line 31
// History: // History:
// Revision 0.1 03/04/98 // Revision 0.1 03/04/98
// Initial release // Initial release
// Revision 1.0 04/01/05 // Revision 1.0 04/01/05
// Added copyright and revision information // Added copyright and revision information
// Added ANNcoordPrec for coordinate precision. // Added ANNcoordPrec for coordinate precision.
// Added methods theDim, nPoints, maxPoints, thePoints to ANNpo intSet. // Added methods theDim, nPoints, maxPoints, thePoints to ANNpo intSet.
// Cleaned up C++ structure for modern compilers // Cleaned up C++ structure for modern compilers
// Revision 1.1 05/03/05 // Revision 1.1 05/03/05
// Added fixed-radius k-NN searching // Added fixed-radius k-NN searching
// Revision 1.1.2 01/27/10
// Fixed minor compilation bugs for new versions of gcc
//---------------------------------------------------------------------- //----------------------------------------------------------------------
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// ANN - approximate nearest neighbor searching // ANN - approximate nearest neighbor searching
// ANN is a library for approximate nearest neighbor searching, // ANN is a library for approximate nearest neighbor searching,
// based on the use of standard and priority search in kd-trees // based on the use of standard and priority search in kd-trees
// and balanced box-decomposition (bbd) trees. Here are some // and balanced box-decomposition (bbd) trees. Here are some
// references to the main algorithmic techniques used here: // references to the main algorithmic techniques used here:
// //
// kd-trees: // kd-trees:
skipping to change at line 90 skipping to change at line 92
// DLL_API is ignored for all other systems // DLL_API is ignored for all other systems
//---------------------------------------------------------------------- //----------------------------------------------------------------------
#else #else
#define DLL_API #define DLL_API
#endif #endif
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// basic includes // basic includes
//---------------------------------------------------------------------- //----------------------------------------------------------------------
#include <cstdlib> // standard lib includes
#include <cmath> // math includes #include <cmath> // math includes
#include <iostream> // I/O streams #include <iostream> // I/O streams
#include <cstring> // C-style strings
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Limits // Limits
// There are a number of places where we use the maximum double value as // There are a number of places where we use the maximum double value as
// default initializers (and others may be used, depending on the // default initializers (and others may be used, depending on the
// data/distance representation). These can usually be found in limits.h // data/distance representation). These can usually be found in limits.h
// (as LONG_MAX, INT_MAX) or in float.h (as DBL_MAX, FLT_MAX). // (as LONG_MAX, INT_MAX) or in float.h (as DBL_MAX, FLT_MAX).
// //
// Not all systems have these files. If you are using such a system, // Not all systems have these files. If you are using such a system,
// you should set the preprocessor symbol ANN_NO_LIMITS_H when // you should set the preprocessor symbol ANN_NO_LIMITS_H when
skipping to change at line 117 skipping to change at line 121
//---------------------------------------------------------------------- //----------------------------------------------------------------------
#ifdef ANN_NO_LIMITS_H // limits.h unavaila ble #ifdef ANN_NO_LIMITS_H // limits.h unavaila ble
#include <cvalues> // replacement for l imits.h #include <cvalues> // replacement for l imits.h
const double ANN_DBL_MAX = MAXDOUBLE; // insert maximum double const double ANN_DBL_MAX = MAXDOUBLE; // insert maximum double
#else #else
#include <climits> #include <climits>
#include <cfloat> #include <cfloat>
const double ANN_DBL_MAX = DBL_MAX; const double ANN_DBL_MAX = DBL_MAX;
#endif #endif
#define ANNversion "1.1.1" // ANN version and i nformation #define ANNversion "1.1.2" // ANN version and i nformation
#define ANNversionCmt "" #define ANNversionCmt ""
#define ANNcopyright "David M. Mount and Sunil Arya" #define ANNcopyright "David M. Mount and Sunil Arya"
#define ANNlatestRev "Aug 4, 2006" #define ANNlatestRev "Jan 27, 2010"
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// ANNbool // ANNbool
// This is a simple boolean type. Although ANSI C++ is supposed // This is a simple boolean type. Although ANSI C++ is supposed
// to support the type bool, some compilers do not have it. // to support the type bool, some compilers do not have it.
//---------------------------------------------------------------------- //----------------------------------------------------------------------
enum ANNbool {ANNfalse = 0, ANNtrue = 1}; // ANN boolean type (non ANSI C++ ) enum ANNbool {ANNfalse = 0, ANNtrue = 1}; // ANN boolean type (non ANSI C++ )
//---------------------------------------------------------------------- //----------------------------------------------------------------------
 End of changes. 8 change blocks. 
4 lines changed or deleted 8 lines changed or added


 ANNx.h   ANNx.h 
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// File: ANNx.h // File: ANNx.h
// Programmer: Sunil Arya and David Mount // Programmer: Sunil Arya and David Mount
// Last modified: 03/04/98 (Release 0.1) // Description: Internal include file for ANN
// Description: Internal include file for ANN // Last modified: 01/27/10 (Version 1.1.2)
// //
// These declarations are of use in manipulating some of // These declarations are of use in manipulating some of
// the internal data objects appearing in ANN, but are not // the internal data objects appearing in ANN, but are not
// needed for applications just using the nearest neighbor // needed for applications just using the nearest neighbor
// search. // search.
// //
// Typical users of ANN should not need to access this file. // Typical users of ANN should not need to access this file.
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Copyright (c) 1997-2005 University of Maryland and Sunil Arya and // Copyright (c) 1997-2010 University of Maryland and Sunil Arya and
// David Mount. All Rights Reserved. // David Mount. All Rights Reserved.
// //
// This software and related documentation is part of the Approximate // This software and related documentation is part of the Approximate
// Nearest Neighbor Library (ANN). This software is provided under // Nearest Neighbor Library (ANN). This software is provided under
// the provisions of the Lesser GNU Public License (LGPL). See the // the provisions of the Lesser GNU Public License (LGPL). See the
// file ../ReadMe.txt for further information. // file ../ReadMe.txt for further information.
// //
// The University of Maryland (U.M.) and the authors make no // The University of Maryland (U.M.) and the authors make no
// representations about the suitability or fitness of this software for // representations about the suitability or fitness of this software for
// any purpose. It is provided "as is" without express or implied // any purpose. It is provided "as is" without express or implied
// warranty. // warranty.
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// History: // History:
// Revision 0.1 03/04/98 // Revision 0.1 03/04/98
// Initial release // Initial release
// Revision 1.0 04/01/05 // Revision 1.0 04/01/05
// Changed LO, HI, IN, OUT to ANN_LO, ANN_HI, etc. // Changed LO, HI, IN, OUT to ANN_LO, ANN_HI, etc.
// Revision 1.1.2 01/27/10
// Fixed minor compilation bugs for new versions of gcc
//---------------------------------------------------------------------- //----------------------------------------------------------------------
#ifndef ANNx_H #ifndef ANNx_H
#define ANNx_H #define ANNx_H
#include <iomanip> // I/O manipulators #include <iomanip> // I/O manipulators
#include <ANN/ANN.h> // ANN includes #include <ANN/ANN.h> // ANN includes
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Global constants and types // Global constants and types
skipping to change at line 64 skipping to change at line 66
//---------------------------------------------------------------------- //----------------------------------------------------------------------
extern int ANNmaxPtsVisited; // maximum number of pts vis ited extern int ANNmaxPtsVisited; // maximum number of pts vis ited
extern int ANNptsVisited; // number of pts visited in search extern int ANNptsVisited; // number of pts visited in search
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Global function declarations // Global function declarations
//---------------------------------------------------------------------- //----------------------------------------------------------------------
void annError( // ANN error routine void annError( // ANN error routine
char *msg, // error message const char* msg, // error message
ANNerr level); // level of error ANNerr level); // level of error
void annPrintPt( // print a point void annPrintPt( // print a point
ANNpoint pt, // the point ANNpoint pt, // the point
int dim, // the dimension int dim, // the dimension
std::ostream &out); // output stream std::ostream &out); // output stream
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Orthogonal (axis aligned) rectangle // Orthogonal (axis aligned) rectangle
// Orthogonal rectangles are represented by two points, one // Orthogonal rectangles are represented by two points, one
 End of changes. 4 change blocks. 
6 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/