<commit_before>/*
 * Copyright 2009-2014 <NAME>. All rights reserved.
 * 
 * This file is part of ZooDB.
 * 
 * ZooDB 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 3 of the License, or
 * (at your option) any later version.
 * 
 * ZooDB 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 ZooDB.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * See the README and COPYING files for further information. 
 */
package org.zoodb.index.critbit;

/**
 * CritBit64 is a 1D crit-bit tree with 64bit key length.
 * 
 * In order to store floating point values, please convert them to 'long' with
 * BitTools.toSortableLong(...), also when supplying query parameters.
 * Extracted values can be converted back with BitTools.toDouble() or toFloat().
 * This conversion is taken from: 
 * T.Zaeschke, C.Zimmerli, M.C.Norrie:  The PH-Tree - A Space-Efficient Storage Structure and 
 * Multi-Dimensional Index (SIGMOD 2014)
 * 
 * Version 1.0
 * 
 * Version 1.1:
 * - added queryWithMask()
 * 
 * @author <NAME>
 */
import java.util.Iterator;
import java.util.NoSuchElementException;

public class CritBit64<V> {

	private final int DEPTH = 64;
	
	private Node<V> root;
	private long rootKey;
	private V rootVal;
<commit_msg>Javadoc formatting<commit_after>/*
 * Copyright 2009-2014 <NAME>. All rights reserved.
 * 
 * This file is part of ZooDB.
 * 
 * ZooDB 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 3 of the License, or
 * (at your option) any later version.
 * 
 * ZooDB 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 ZooDB.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * See the README and COPYING files for further information. 
 */
package org.zoodb.index.critbit;

/**
 * CritBit64 is a 1D crit-bit tree with 64bit key length.
 * 
 * In order to store floating point values, please convert them to 'long' with
 * BitTools.toSortableLong(...), also when supplying query parameters.
 * Extracted values can be converted back with BitTools.toDouble() or toFloat().
 * This conversion is taken from: 
 * T.Zaeschke, C.Zimmerli, M.C.Norrie:  
 * "The PH-Tree - A Space-Efficient Storage Structure and Multi-Dimensional Index" (SIGMOD 2014)
 * 
 * Version 1.0
 * 
 * Version 1.1:
 * - added queryWithMask()
 * 
 * @author <NAME>
 */
import java.util.Iterator;
import java.util.NoSuchElementException;

public class CritBit64<V> {

	private final int DEPTH = 64;
	
	private Node<V> root;
	private long rootKey;
	private V rootVal;

{'fraction_non_alphanumeric': 0.08558139534883721, 'fraction_numerical': 0.01612403100775194, 'mean_word_length': 3.543661971830986, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '408973', 'n_tokens_mistral': 1005, 'n_tokens_neox': 909, 'n_words': 415}