Java Code Examples for java.util.BitSet#flip()

The following examples show how to use java.util.BitSet#flip() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: FunctionServiceTest.java    From gemfirexd-oss with Apache License 2.0 6 votes vote down vote up
/**
 * Task to execute Random region Functions
 */
public static void doRandomFunctionExecutions(Region aRegion) {
  Set prKeys = getSomeKeys(aRegion);
  BitSet funcKey = new BitSet(funcKeys.length);
  funcKey.flip(KEYS_FIRST_OP, KEYS_LAST_OP + 1);
  HashSet keySet = ((FunctionServiceTest)testInstance).getKeySet(funcKey,
      prKeys);
  BitSet funcArg = new BitSet(funcArgs.length);
  funcArg.flip(ARGS_FIRST_OP, ARGS_LAST_OP + 1);
  String Args = ((FunctionServiceTest)testInstance).getArgs(funcArg);
  BitSet funcResultCollector = new BitSet(funcResultCollectors.length);
  funcResultCollector.flip(COLLECTOR_FIRST_OP, COLLECTOR_LAST_OP + 1);
  ResultCollector[] resultCollectors = ((FunctionServiceTest)testInstance)
      .getResultCollectors(funcResultCollector);
  BitSet funcDataSet = new BitSet(funcDataSets.length);
  funcDataSet.flip(DATASET_FIRST_OP, DATASET_LAST_OP + 1);
  Execution[] dataSets = ((FunctionServiceTest)testInstance).getDataSets(
      funcDataSet, aRegion);
  doRandomFunctions(keySet, Args, resultCollectors, dataSets);
}
 
Example 2
Source File: FunctionServiceTest.java    From gemfirexd-oss with Apache License 2.0 6 votes vote down vote up
/**
 * Task to execute Random region Functions
 */
public static void doRandomFunctionExecutions(Region aRegion) {
  Set prKeys = getSomeKeys(aRegion);
  BitSet funcKey = new BitSet(funcKeys.length);
  funcKey.flip(KEYS_FIRST_OP, KEYS_LAST_OP + 1);
  HashSet keySet = ((FunctionServiceTest)testInstance).getKeySet(funcKey,
      prKeys);
  BitSet funcArg = new BitSet(funcArgs.length);
  funcArg.flip(ARGS_FIRST_OP, ARGS_LAST_OP + 1);
  String Args = ((FunctionServiceTest)testInstance).getArgs(funcArg);
  BitSet funcResultCollector = new BitSet(funcResultCollectors.length);
  funcResultCollector.flip(COLLECTOR_FIRST_OP, COLLECTOR_LAST_OP + 1);
  ResultCollector[] resultCollectors = ((FunctionServiceTest)testInstance)
      .getResultCollectors(funcResultCollector);
  BitSet funcDataSet = new BitSet(funcDataSets.length);
  funcDataSet.flip(DATASET_FIRST_OP, DATASET_LAST_OP + 1);
  Execution[] dataSets = ((FunctionServiceTest)testInstance).getDataSets(
      funcDataSet, aRegion);
  doRandomFunctions(keySet, Args, resultCollectors, dataSets);
}
 
Example 3
Source File: CharMatcher.java    From kripton with Apache License 2.0 6 votes vote down vote up
/**
 * This is the actual implementation of {@link #precomputed}, but we bounce calls through a
 * method on {@link Platform} so that we can have different behavior in GWT.
 * 
 * <p>This implementation tries to be smart in a number of ways.  It recognizes cases where
 * the negation is cheaper to precompute than the matcher itself; it tries to build small
 * hash tables for matchers that only match a few characters, and so on.  In the worst-case
 * scenario, it constructs an eight-kilobyte bit array and queries that.
 * In many situations this produces a matcher which is faster to query than the original.
 *
 * @return the char matcher
 */
CharMatcher precomputedInternal() {
  final BitSet table = new BitSet();
  setBits(table);
  int totalCharacters = table.cardinality();
  if (totalCharacters * 2 <= DISTINCT_CHARS) {
    return precomputedPositive(totalCharacters, table, toString());
  } else {
    // TODO(user): is it worth it to worry about the last character of large matchers?
    table.flip(Character.MIN_VALUE, Character.MAX_VALUE + 1);
    int negatedCharacters = DISTINCT_CHARS - totalCharacters;
    String suffix = ".negate()";
    final String description = toString();
    String negatedDescription = description.endsWith(suffix)
        ? description.substring(0, description.length() - suffix.length())
        : description + suffix;
    return new NegatedFastMatcher(
        precomputedPositive(negatedCharacters, table, negatedDescription)) {
      @Override
      public String toString() {
        return description;
      }
    };
  }
}
 
Example 4
Source File: CharMatcher.java    From codebuff with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/**
 * This is the actual implementation of {@link #precomputed}, but we bounce calls through a method
 * on {@link Platform} so that we can have different behavior in GWT.
 *
 * <p>This implementation tries to be smart in a number of ways. It recognizes cases where the
 * negation is cheaper to precompute than the matcher itself; it tries to build small hash tables
 * for matchers that only match a few characters, and so on. In the worst-case scenario, it
 * constructs an eight-kilobyte bit array and queries that. In many situations this produces a
 * matcher which is faster to query than the original.
 */

@GwtIncompatible // java.util.BitSet
CharMatcher precomputedInternal() {
  final BitSet table = new BitSet();
  setBits(table);
  int totalCharacters = table.cardinality();
  if (totalCharacters * 2 <= DISTINCT_CHARS) {
    return precomputedPositive(totalCharacters, table, toString());
  }
  else {
    // TODO(lowasser): is it worth it to worry about the last character of large matchers?
    table.flip(Character.MIN_VALUE, Character.MAX_VALUE + 1);
    int negatedCharacters = DISTINCT_CHARS - totalCharacters;
    String suffix = ".negate()";
    final String description = toString();
    String negatedDescription =
      description.endsWith(suffix)
        ? description.substring(0, description.length() - suffix.length())
        : description + suffix;
    return new NegatedFastMatcher(precomputedPositive(negatedCharacters, table, negatedDescription)) {
      @Override
      public String toString() {
        return description;
      }
    };
  }
}
 
Example 5
Source File: BMMimeMultipart.java    From openjdk-jdk9 with GNU General Public License v2.0 5 votes vote down vote up
public int readNext(InputStream is, byte[] buff, int patternLength,
                    BitSet eof, long[] posVector, SharedInputStream sin)
        throws Exception {

    int bufferLength = is.read(buffer, 0, patternLength);
    if (bufferLength == -1) {
        eof.flip(0);
    } else if (bufferLength < patternLength) {
        //repeatedly read patternLength - bufferLength
        int temp = 0;
        long pos = 0;
        int i = bufferLength;
        for (; i < patternLength; i++) {
            if (sin != null) {
                pos = sin.getPosition();
            }
            temp = is.read();
            if (temp == -1) {
                eof.flip(0);
                if (sin != null) {
                    posVector[0] = pos;
                }
                break;
            }
            buffer[i] = (byte) temp;
        }
        bufferLength = i;
    }
    return bufferLength;
}
 
Example 6
Source File: FunctionServiceTest.java    From gemfirexd-oss with Apache License 2.0 5 votes vote down vote up
/**
 * Hydra task to execute region functions, then stop scheduling (For HA).
 */
public static void HydraTask_doFunctionExecution_HA() {
  BitSet availableOps = new BitSet(operations.length);
  availableOps.flip(FUNC_HA_FIRST_OP, FUNC_HA_LAST_OP + 1);
  ((FunctionServiceTest)testInstance).doFunctionExecution(availableOps);
  Log.getLogWriter().info("Cardinality is " + availableOps.cardinality());
  if (availableOps.cardinality() == 0) {
    ParRegBB.getBB().getSharedCounters().increment(ParRegBB.TimeToStop);
    throw new StopSchedulingTaskOnClientOrder("Finished with ops");
  }
}
 
Example 7
Source File: FixedPartitioningTest.java    From gemfirexd-oss with Apache License 2.0 5 votes vote down vote up
/**
 * Hydra task to do region operations, then stop scheduling.
 */
public static void HydraTask_doOps() {
  BitSet availableOps = new BitSet(operations.length);
  availableOps.flip(FIRST_OP, LAST_OP + 1);
  ((FixedPartitioningTest)testInstance).doOps(availableOps);
  Log.getLogWriter().info("Cardinality is " + availableOps.cardinality());
  if (availableOps.cardinality() == 0) {
    ParRegBB.getBB().getSharedCounters().increment(ParRegBB.TimeToStop);
    throw new StopSchedulingTaskOnClientOrder("Finished with ops");
  }
}
 
Example 8
Source File: Inductor.java    From metanome-algorithms with Apache License 2.0 5 votes vote down vote up
public void updatePositiveCover(FDList nonFds) {
/*		if (nonFds.isEmpty())
			return;
		
		// Sort the negative cover
		Logger.getInstance().writeln("Sorting FD-violations ...");
		Collections.sort(nonFds, new Comparator<BitSet>() {
			@Override
			public int compare(BitSet o1, BitSet o2) {
				return (int)(o1.cardinality() - o2.cardinality());
			}
		});
*/		// THE SORTING IS NOT NEEDED AS THE UCCSet SORTS THE NONUCCS BY LEVEL ALREADY
		
		de.metanome.algorithms.cfdfinder.utils.Logger.getInstance().writeln("Inducing FD candidates ...");
		for (int i = nonFds.getFdLevels().size() - 1; i >= 0; i--) {
			if (i >= nonFds.getFdLevels().size()) // If this level has been trimmed during iteration
				continue;
			
			List<BitSet> nonFdLevel = nonFds.getFdLevels().get(i);
			for (BitSet lhs : nonFdLevel) {
				
				BitSet fullRhs = (BitSet) lhs.clone();
				fullRhs.flip(0, this.posCover.getNumAttributes());
				
				for (int rhs = fullRhs.nextSetBit(0); rhs >= 0; rhs = fullRhs.nextSetBit(rhs + 1))
					this.specializePositiveCover(lhs, rhs, nonFds);
			}
			nonFdLevel.clear();
		}
	}
 
Example 9
Source File: UserAgentParserTest.java    From browscap-java with MIT License 5 votes vote down vote up
@Test
public void testExcludes() {

    final int length = 1017;
    final BitSet excludes = new BitSet(length);

    final BitSet excludeFilter1 = new BitSet(length);
    excludeFilter1.set(10);
    excludeFilter1.set(20);

    final BitSet excludeFilter2 = new BitSet(length);
    excludeFilter1.set(20);
    excludeFilter1.set(30);

    excludes.or(excludeFilter1);
    excludes.or(excludeFilter2);
    assertEquals(3, excludes.cardinality());

    excludes.flip(0, length);
    assertEquals(length - 3, excludes.cardinality());

    assertTrue(excludes.get(0));
    assertTrue(excludes.get(length - 1));
    assertFalse(excludes.get(10));
    assertFalse(excludes.get(20));
    assertFalse(excludes.get(30));

    assertEquals(length - 1, excludes.nextSetBit(length - 1));
    assertEquals(-1, excludes.nextSetBit(length));
}
 
Example 10
Source File: BMMimeMultipart.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
public int  readNext(InputStream is, byte[] buff, int patternLength,
    BitSet eof, long[] posVector, SharedInputStream sin)
    throws Exception {

    int bufferLength = is.read(buffer, 0, patternLength);
    if (bufferLength == -1) {
       eof.flip(0);
    } else if (bufferLength < patternLength) {
        //repeatedly read patternLength - bufferLength
        int temp = 0;
        long pos = 0;
        int i = bufferLength;
        for (; i < patternLength; i++) {
            if (sin != null) {
                pos = sin.getPosition();
            }
            temp = is.read();
            if (temp == -1) {
                eof.flip(0);
                if (sin != null) {
                    posVector[0] = pos;
                }
                break;
            }
            buffer[i] = (byte)temp;
        }
        bufferLength=i;
    }
    return bufferLength;
}
 
Example 11
Source File: CharMatcher.java    From codebuff with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/**
 * This is the actual implementation of {@link #precomputed}, but we bounce calls through a method
 * on {@link Platform} so that we can have different behavior in GWT.
 *
 * <p>This implementation tries to be smart in a number of ways. It recognizes cases where the
 * negation is cheaper to precompute than the matcher itself; it tries to build small hash tables
 * for matchers that only match a few characters, and so on. In the worst-case scenario, it
 * constructs an eight-kilobyte bit array and queries that. In many situations this produces a
 * matcher which is faster to query than the original.
 */

@GwtIncompatible // java.util.BitSet
CharMatcher precomputedInternal() {
  final BitSet table = new BitSet();
  setBits(table);
  int totalCharacters = table.cardinality();
  if (totalCharacters * 2 <= DISTINCT_CHARS) {
    return precomputedPositive(totalCharacters, table, toString());
  }
  else {
    // TODO(lowasser): is it worth it to worry about the last character of large matchers?
    table.flip(Character.MIN_VALUE, Character.MAX_VALUE + 1);
    int negatedCharacters = DISTINCT_CHARS - totalCharacters;
    String suffix = ".negate()";
    final String description = toString();
    String negatedDescription =
      description.endsWith(suffix)
        ? description.substring(0, description.length() - suffix.length())
        : description + suffix;
    return new NegatedFastMatcher(precomputedPositive(negatedCharacters, table, negatedDescription)) {
      @Override
      public String toString() {
        return description;
      }
    };
  }
}
 
Example 12
Source File: BMMimeMultipart.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
public int  readNext(InputStream is, byte[] buff, int patternLength,
    BitSet eof, long[] posVector, SharedInputStream sin)
    throws Exception {

    int bufferLength = is.read(buffer, 0, patternLength);
    if (bufferLength == -1) {
       eof.flip(0);
    } else if (bufferLength < patternLength) {
        //repeatedly read patternLength - bufferLength
        int temp = 0;
        long pos = 0;
        int i = bufferLength;
        for (; i < patternLength; i++) {
            if (sin != null) {
                pos = sin.getPosition();
            }
            temp = is.read();
            if (temp == -1) {
                eof.flip(0);
                if (sin != null) {
                    posVector[0] = pos;
                }
                break;
            }
            buffer[i] = (byte)temp;
        }
        bufferLength=i;
    }
    return bufferLength;
}
 
Example 13
Source File: BMMimeMultipart.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
public int  readNext(InputStream is, byte[] buff, int patternLength,
    BitSet eof, long[] posVector, SharedInputStream sin)
    throws Exception {

    int bufferLength = is.read(buffer, 0, patternLength);
    if (bufferLength == -1) {
       eof.flip(0);
    } else if (bufferLength < patternLength) {
        //repeatedly read patternLength - bufferLength
        int temp = 0;
        long pos = 0;
        int i = bufferLength;
        for (; i < patternLength; i++) {
            if (sin != null) {
                pos = sin.getPosition();
            }
            temp = is.read();
            if (temp == -1) {
                eof.flip(0);
                if (sin != null) {
                    posVector[0] = pos;
                }
                break;
            }
            buffer[i] = (byte)temp;
        }
        bufferLength=i;
    }
    return bufferLength;
}
 
Example 14
Source File: RegularDataEncoder.java    From incubator-iotdb with Apache License 2.0 5 votes vote down vote up
private void data2Diff(long[] missingPointData) {
  bitmap = new BitSet(newBlockSize);
  bitmap.flip(0, newBlockSize);
  int offset = 0;
  for (int i = 1; i < missingPointData.length; i++) {
    long delta = missingPointData[i] - missingPointData[i - 1];
    if (delta != minDeltaBase) {
      int missingPointNum = (int) (delta / minDeltaBase) - 1;
      for (int j = 0; j < missingPointNum; j++) {
        bitmap.set(i + (offset++), false);
      }
    }
  }
}
 
Example 15
Source File: ExecutionAndColocationTest.java    From gemfirexd-oss with Apache License 2.0 5 votes vote down vote up
/**
 * Hydra task to execute functions, then stop scheduling.
 */
public static void HydraTask_doFunctionExecution() {
  PdxTest.initClassLoader();
  BitSet availableOps = new BitSet(operations.length);
  availableOps.flip(FIRST_OP, LAST_OP + 1);
  ((ExecutionAndColocationTest)testInstance)
      .doFunctionExecution(availableOps);
  if (availableOps.cardinality() == 0) {
    ParRegBB.getBB().getSharedCounters().increment(ParRegBB.TimeToStop);
    throw new StopSchedulingTaskOnClientOrder("Finished with ops");
  }
}
 
Example 16
Source File: CharMatcher.java    From codebuff with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/**
 * This is the actual implementation of {@link #precomputed}, but we bounce calls through a method
 * on {@link Platform} so that we can have different behavior in GWT.
 *
 * <p>This implementation tries to be smart in a number of ways. It recognizes cases where the
 * negation is cheaper to precompute than the matcher itself; it tries to build small hash tables
 * for matchers that only match a few characters, and so on. In the worst-case scenario, it
 * constructs an eight-kilobyte bit array and queries that. In many situations this produces a
 * matcher which is faster to query than the original.
 */

@GwtIncompatible // java.util.BitSet
CharMatcher precomputedInternal() {
  final BitSet table = new BitSet();
  setBits(table);
  int totalCharacters = table.cardinality();
  if (totalCharacters * 2 <= DISTINCT_CHARS) {
    return precomputedPositive(totalCharacters, table, toString());
  }
  else {
    // TODO(lowasser): is it worth it to worry about the last character of large matchers?
    table.flip(Character.MIN_VALUE, Character.MAX_VALUE + 1);
    int negatedCharacters = DISTINCT_CHARS - totalCharacters;
    String suffix = ".negate()";
    final String description = toString();
    String negatedDescription =
      description.endsWith(suffix)
        ? description.substring(0, description.length() - suffix.length())
        : description + suffix;
    return new NegatedFastMatcher(precomputedPositive(negatedCharacters, table, negatedDescription)) {
      @Override
      public String toString() {
        return description;
      }
    };
  }
}
 
Example 17
Source File: HierarchyEncoderImpl.java    From kogito-runtimes with Apache License 2.0 5 votes vote down vote up
BitSet singleBitDiff( BitSet x, BitSet y ) {
    BitSet t = new BitSet( x.length() );
    t.or( x );
    t.flip(0, t.size());
    t.and( y );

    switch ( t.cardinality() ) {
        case 0 : return t;
        case 1 : return t;
        default: return new BitSet();
    }
}
 
Example 18
Source File: FindCoversGenerator.java    From metanome-algorithms with Apache License 2.0 4 votes vote down vote up
public List<FunctionalDependencyGroup2> execute(List<DifferenceSet> differenceSets, int numberOfAttributes)
        throws CouldNotReceiveResultException, ColumnNameMismatchException {

    if (this.timeMesurement) {
        this.startTime();
    }

    List<FunctionalDependencyGroup2> result = new LinkedList<FunctionalDependencyGroup2>();

    for (int attribute = 0; attribute < numberOfAttributes; attribute++) {

        List<DifferenceSet> tempDiffSet = new LinkedList<DifferenceSet>();

        // Compute DifferenceSet modulo attribute (line 3 - Fig5 - FastFDs)
        for (DifferenceSet ds : differenceSets) {
            BitSet obs = (BitSet) ds.getAttributes().clone();
            if (!obs.get(attribute)) {
                continue;
            }
            obs.flip(attribute);
            tempDiffSet.add(new DifferenceSet(obs));
        }

        // check new DifferenceSet (line 4 + 5 - Fig5 - FastFDs)
        if (tempDiffSet.size() == 0) {
            this.addFdToReceivers(new FunctionalDependencyGroup2(attribute, new IntArrayList()));
        } else if (this.checkNewSet(tempDiffSet)) {
            List<DifferenceSet> copy = new LinkedList<DifferenceSet>();
            copy.addAll(tempDiffSet);
            this.doRecusiveCrap(attribute, this.generateInitialOrdering(tempDiffSet), copy, new IntArrayList(), tempDiffSet,
                    result);
        }

    }

    if (this.timeMesurement) {
        this.stopTime();
    }

    return result;

}
 
Example 19
Source File: Java BitSet.java    From HackerRank-Solutions with The Unlicense 4 votes vote down vote up
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int N = scan.nextInt();
    int M = scan.nextInt();
    BitSet B1 = new BitSet(N);
    BitSet B2 = new BitSet(N);
    while (M-- > 0) {
        String str = scan.next();
        int a      = scan.nextInt();
        int b      = scan.nextInt();
        switch (str) {
            case "AND":
                if (a == 1) {
                    B1.and(B2);
                } else {
                    B2.and(B1);
                }
                break;
            case "OR":
                if (a == 1) {
                    B1.or(B2);
                } else {
                    B2.or(B1);
                }
                break;
            case "XOR":
                if (a == 1) {
                    B1.xor(B2);
                } else {
                    B2.xor(B1);
                }
                break;
            case "FLIP":
                if (a == 1) {
                    B1.flip(b);
                } else {
                    B2.flip(b);
                }
                break;
            case "SET":
                if (a == 1) {
                    B1.set(b);
                } else {
                    B2.set(b);
                }
                break;
            default:
                break;
        }
        System.out.println(B1.cardinality() + " " + B2.cardinality());
    }
    scan.close();
}
 
Example 20
Source File: Insn3rc.java    From JAADAS with GNU General Public License v3.0 4 votes vote down vote up
private static BitSet getAllIncompatible(int regCount) {
	BitSet incompatRegs = new BitSet(regCount);
	incompatRegs.flip(0, regCount);
	return incompatRegs;
}