diff options
Diffstat (limited to 'Hilbert/Hilbert.hpp')
-rw-r--r-- | Hilbert/Hilbert.hpp | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/Hilbert/Hilbert.hpp b/Hilbert/Hilbert.hpp deleted file mode 100644 index 670e29b..0000000 --- a/Hilbert/Hilbert.hpp +++ /dev/null @@ -1,141 +0,0 @@ -/* - Copyright (C) 2018 David Robillard <d@drobilla.net> - Copyright (C) 2006-2007 Chris Hamilton <chamilton@cs.dal.ca> - - This program is free software: you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free Software - Foundation, either version 2 of the License, or (at your option) any later - version. - - This program 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 General Public License for more - details. - - You should have received a copy of the GNU General Public License along with - this program. If not, see <https://www.gnu.org/licenses/>. -*/ - -#ifndef _HILBERT_HPP_ -#define _HILBERT_HPP_ - - -#include <Hilbert/FixBitVec.hpp> -#include <Hilbert/BigBitVec.hpp> -#include <Hilbert/Algorithm.hpp> - -// Description of parameters: -// -// FOR REGULAR HILBERT INDICES -// -// CFixBitVec/CBigBitVec *p -// Pointer to array of non-negative coordinate values. -// -// int m -// Precision of all coordinate values (number of bits required to -// represent the largest possible coordinate value). -// -// int n -// Number of dimensions (size of the array *p). -// -// CFixBitVec/CBigBitVec &h -// Hilbert index of maximum precision m*n. -// -// int *ms -// Array of precision values, one per dimension. -// -// FOR COMPACT HILBERT INDICES -// -// CFixBitVec/CBigBitVec &hc -// Compact Hilbert index of maximum precision M. -// -// int M -// Net precision value, corresponding to the size of the compact -// Hilbert code. If not provided, defaults to zero and will be calculated -// by the function (sum_i { ms[i] }). -// -// int m -// Largest precision value (max_i { ms[i] }). If not provided, defaults -// to zero and will be calculated by the function, - - -namespace Hilbert -{ - -// fix -> fix - -inline void coordsToIndex( const CFixBitVec *p, int m, int n, CFixBitVec &h ) -{ - coordsToIndex<CFixBitVec,CFixBitVec>(p,m,n,h); -} - -inline void indexToCoords( CFixBitVec *p, int m, int n, const CFixBitVec &h ) -{ - indexToCoords<CFixBitVec,CFixBitVec>(p,m,n,h); -} - -inline void coordsToCompactIndex( const CFixBitVec *p, const int *ms, int n, - CFixBitVec &hc, int M, int m ) -{ - coordsToCompactIndex<CFixBitVec,CFixBitVec>(p,ms,n,hc,M,m); -} - -inline void compactIndexToCoords( CFixBitVec *p, const int *ms, int n, - const CFixBitVec &hc, int M, int m ) -{ - compactIndexToCoords<CFixBitVec,CFixBitVec>(p,ms,n,hc,M,m); -} - -// fix -> big - -inline void coordsToIndex( const CFixBitVec *p, int m, int n, CBigBitVec &h ) -{ - coordsToIndex<CFixBitVec,CBigBitVec>(p,m,n,h); -} - -inline void indexToCoords( CFixBitVec *p, int m, int n, const CBigBitVec &h ) -{ - indexToCoords<CFixBitVec,CBigBitVec>(p,m,n,h); -} - -inline void coordsToCompactIndex( const CFixBitVec *p, const int *ms, int n, - CBigBitVec &hc, int M, int m ) -{ - coordsToCompactIndex<CFixBitVec,CBigBitVec>(p,ms,n,hc,M,m); -} - -inline void compactIndexToCoords( CFixBitVec *p, const int *ms, int n, - const CBigBitVec &hc, int M, int m ) -{ - compactIndexToCoords<CFixBitVec,CBigBitVec>(p,ms,n,hc,M,m); -} - -// big -> big - -inline void coordsToIndex( const CBigBitVec *p, int m, int n, CBigBitVec &h ) -{ - coordsToIndex<CBigBitVec,CBigBitVec>(p,m,n,h); -} - -inline void indexToCoords( CBigBitVec *p, int m, int n, const CBigBitVec &h ) -{ - indexToCoords<CBigBitVec,CBigBitVec>(p,m,n,h); -} - -inline void coordsToCompactIndex( const CBigBitVec *p, const int *ms, int n, - CBigBitVec &hc, int M, int m ) -{ - coordsToCompactIndex<CBigBitVec,CBigBitVec>(p,ms,n,hc,M,m); -} - -inline void compactIndexToCoords( CBigBitVec *p, const int *ms, int n, - const CBigBitVec &hc, int M, int m ) -{ - compactIndexToCoords<CBigBitVec,CBigBitVec>(p,ms,n,hc,M,m); -} - -}; - - -#endif - |