Java Bit Set setBit(long[] data, int position, int bitWidth)

Here you can find the source of setBit(long[] data, int position, int bitWidth)

Description

Set the bit with the position received as an argument to the multi-dimension point received as an argument.

License

Open Source License

Parameter

Parameter Description
data The multi-dimensional point.
position The position that should be set.
bitWidth The bitWidth of each dimension.

Declaration

private static void setBit(long[] data, int position, int bitWidth) 

Method Source Code

//package com.java2s;
/*/*from  w w  w . j ava2s  .co  m*/
This file is part of PH-Tree:
A multi-dimensional indexing and storage structure.
    
Copyright (C) 2011-2015
Eidgen?ssische Technische Hochschule Z?rich (ETH Zurich)
Institute for Information Systems
GlobIS Group
Bogdan Vancea, Tilmann Zaeschke
zaeschke@inf.ethz.ch or zoodb@gmx.de
    
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 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 Affero General Public License for more details.
    
You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

public class Main {
    /**
     * Set the bit with the position received as an argument to the multi-dimension point received
     * as an argument.
     *
     * @param data                  The multi-dimensional point.
     * @param position              The position that should be set.
     * @param bitWidth              The bitWidth of each dimension.
     */
    private static void setBit(long[] data, int position, int bitWidth) {
        int dimIndex = position % data.length;
        int bitIndex = bitWidth - 1 - position / data.length;
        data[dimIndex] = data[dimIndex] | (1 << bitIndex);
    }
}

Related

  1. setBit(int value, int bitIndex)
  2. setBit(int value, int bitmask, boolean set)
  3. setBit(int value, int flags)
  4. setBit(int value, int index)
  5. setBit(int[] x, int i, int v)
  6. setBit(short shortIn, int bitPos)
  7. setBitAt(byte flags, int pos, boolean value)
  8. setBitAt(int bitIndex, boolean value, byte b)
  9. setBitAt(int offset, boolean bitValue, byte aByte)