Java BitSet invertInPlace(BitSet bs, int n)

Here you can find the source of invertInPlace(BitSet bs, int n)

Description

inverts the bitset bits 0 through n-1, and returns a reference to the modified bitset

License

Open Source License

Parameter

Parameter Description
bs a parameter
n a parameter

Return

pointer to original bitset, now inverted

Declaration

public static BitSet invertInPlace(BitSet bs, int n) 

Method Source Code


//package com.java2s;
/* $RCSfile$/*from w w w. ja  v  a 2  s . c  om*/
 * $Author: egonw $
 * $Date: 2005-11-10 09:52:44 -0600 (Thu, 10 Nov 2005) $
 * $Revision: 4255 $
 *
 * Copyright (C) 2003-2005  The Jmol Development Team
 *
 * Contact: jmol-developers@lists.sf.net
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; either
 *  version 2.1 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
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 */

import java.util.BitSet;

public class Main {
    /**
     * inverts the bitset bits 0 through n-1, 
     * and returns a reference to the modified bitset
     * 
     * @param bs
     * @param n
     * @return  pointer to original bitset, now inverted
     */
    public static BitSet invertInPlace(BitSet bs, int n) {
        return copy(copyInvert(bs, n), bs);
    }

    public static BitSet copy(BitSet bs) {
        return bs == null ? null : (BitSet) bs.clone();
    }

    public static BitSet copy(BitSet a, BitSet b) {
        if (a == null || b == null)
            return null;
        b.clear();
        b.or(a);
        return b;
    }

    public static BitSet copyInvert(BitSet bs, int n) {
        return (bs == null ? null : andNot(setAll(n), bs));
    }

    public static BitSet andNot(BitSet a, BitSet b) {
        if (b != null)
            a.andNot(b);
        return a;
    }

    public static BitSet setAll(int n) {
        BitSet bs = new BitSet(n);
        bs.set(0, n);
        return bs;
    }
}

Related

  1. hexToBits(String s, BitSet ba, int length)
  2. increment(BitSet bits, int size)
  3. insertBits(BitSet fromSet, int insertBefore, int count)
  4. intArrToBitSet(ArrayList integerArray)
  5. intToBitSet(int value)
  6. isEmptySet(BitSet setToTest)
  7. isHammingDistanceOne(BitSet a, BitSet b)
  8. isSet(int n, BitSet... sets)
  9. isSubset(BitSet bits1, BitSet bits2)