@Override public ByteValue getAggregate() { return new ByteValue((byte) agg); } }
@Override public void setReference(ByteValue toCompare) { toCompare.copyTo(reference); }
@Override public ByteValue translate(LongValue value, ByteValue reuse) throws Exception { if (reuse == null) { reuse = new ByteValue(); } long l = value.getValue(); if (l < 0 || l >= MAX_VERTEX_COUNT) { throw new IllegalArgumentException("Cannot cast long value " + value + " to byte."); } reuse.setValue((byte) (l & (MAX_VERTEX_COUNT - 1))); return reuse; } }
byte bitmask = edge.f2.getValue(); output.f3.setValue((byte) (previous.f1.getValue() | bitmask)); visited.add(new Tuple2<>(edge.f1.copy(), new ByteValue(shiftedBitmask))); } else { Tuple2<T, ByteValue> update = visited.get(visitedCount); edge.f1.copyTo(update.f0); update.f1.setValue(shiftedBitmask);
@Override public void aggregate(ByteValue value) { agg += value.getValue(); }
@Override public ByteValue next() { value.setValue(data[pos++]); return value; }
@Override public int compare(ByteValue first, ByteValue second) { int comp = first.compareTo(second); return ascendingComparison ? comp : -comp; }
@Override public void putNormalizedKey(ByteValue record, MemorySegment target, int offset, int numBytes) { record.copyNormalizedKey(target, offset, numBytes); }
@Override public void writeRecord(TriangleListing.Result<T> record) throws IOException { triangleCount[record.getBitmask().getValue()]++; }
public void setBitmask(byte bitmask) { this.bitmask.setValue(bitmask); }
@Override public int compareToReference(TypeComparator<ByteValue> referencedComparator) { ByteValue otherRef = ((ByteValueComparator) referencedComparator).reference; int comp = otherRef.compareTo(reference); return ascendingComparison ? comp : -comp; }
@Override public void putNormalizedKey(ByteValue record, MemorySegment target, int offset, int numBytes) { record.copyNormalizedKey(target, offset, numBytes); }
@Override public void reduce(Iterable<Tuple3<T, T, ByteValue>> values, Collector<Tuple2<T, ByteValue>> out) throws Exception { byte bitmask = 0; for (Tuple3<T, T, ByteValue> value: values) { output.f0 = value.f0; bitmask |= value.f2.getValue(); } output.f1.setValue(bitmask); out.collect(output); } }
@Override public ByteValue copy() { return new ByteValue(this.value); }