package org.apache.lucene.store; public class VNumberic { public static void main(String[] args) { System.out.println(VNumberic.unVInt(VNumberic.enVInt(0))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(0l))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(1))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(1))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(100))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(100))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(10000))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(10000))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(1000000))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(1000000))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(999999999))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(999999999))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(1000000000))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(1000000000))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(10000000000000l))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(-1))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(-1))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(-100))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(-100))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(-10000))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(-10000))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(-1000000))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(-1000000))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(-999999999))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(-999999999))); System.out.println(VNumberic.unVInt(VNumberic.enVInt(-1000000000))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(-1000000000))); System.out.println(VNumberic.unVLong(VNumberic.enVLong(-10000000000000l))); } public static long enVLong(long i) { if (i < 0) { return ((-1 * i) << 1) ^ 1; } else { return i << 1; } } public static long unVLong(long i) { long lastbit=i&1; long rtn=i>>>1; if(lastbit>0) { rtn*=-1; } return rtn; } public static int enVInt(int i) { if (i < 0) { return ((-1 * i) << 1) ^ 1; } else { return i << 1; } } public static int unVInt(int i) { int lastbit=i&1; int rtn=i>>>1; if(lastbit>0) { rtn*=-1; } return rtn; } }