@Override final long reverseFlags( long edgePointer, long flags ) { boolean isShortcut = edgePointer >= toPointer(baseGraph.edgeCount); if (!isShortcut) return baseGraph.edgeAccess.reverseFlags(edgePointer, flags); // we need a special swapping for level graph if it is a shortcut as we only store the weight and access flags then long dir = flags & scDirMask; if (dir == scDirMask || dir == 0) return flags; // swap the last bits with this mask return flags ^ scDirMask; }
@Override final long reverseFlags(long edgePointer, long flags) { boolean isShortcut = edgePointer >= toPointer(baseGraph.edgeCount); if (!isShortcut) return baseGraph.edgeAccess.reverseFlags(edgePointer, flags); // we need a special swapping for CHGraph if it is a shortcut as we only store the weight and access flags then long dir = flags & scDirMask; if (dir == scDirMask || dir == 0) return flags; // swap the last bits with this mask return flags ^ scDirMask; }
@Override final long reverseFlags(long edgePointer, long flags) { boolean isShortcut = edgePointer >= toPointer(baseGraph.edgeCount); if (!isShortcut) return baseGraph.edgeAccess.reverseFlags(edgePointer, flags); // we need a special swapping for CHGraph if it is a shortcut as we only store the weight and access flags then long dir = flags & scDirMask; if (dir == scDirMask || dir == 0) return flags; // swap the last bits with this mask return flags ^ scDirMask; }
@Override final long reverseFlags(long edgePointer, long flags) { boolean isShortcut = edgePointer >= toPointer(baseGraph.edgeCount); if (!isShortcut) return baseGraph.edgeAccess.reverseFlags(edgePointer, flags); // we need a special swapping for CHGraph if it is a shortcut as we only store the weight and access flags then long dir = flags & scDirMask; if (dir == scDirMask || dir == 0) return flags; // swap the last bits with this mask return flags ^ scDirMask; }