/** * return x==y?a:b; */ public static int ifEquals(int x, int y, int a, int b) { //return x==y?a:b; return onEqu1(x, y, a, b, ((x-y)-1)>>31); }
private static int onEqu1(int x, int y, int a, int b, int tmp) { return onEqu2(a, b, (((x-y)>>31)^tmp)&tmp); }
/** * return x==0?a:b; */ public static int ifZero(int x, int a, int b) { //return x==0?a:b; return onZero1(x, a, b, (x-1)>>31); }
private static int indexOfMatchInArray(short value, short[] data, int i) { if (1==i) { return Branchless.ifEquals(value, data[0], 0, -1); //return (value==data[0]) ? 0 : -1; } return indexOfMatchInArrayScan(value, data, i); }
private static int indexOfMatchInArray(short value, short[] data, int i) { if (1==i) { Branchless.ifEquals(value, data[0], 0, -1); //return (value==data[0]) ? 0 : -1; } return indexOfMatchInArrayScan(value, data, i); }
private static int onZero1(int x, int a, int b, int tmp) { return onEqu2(a, b, ((x>>31)^tmp)&tmp); }
/** * return x==0?a:b; */ public static int ifZero(int x, int a, int b) { //return x==0?a:b; return onZero1(x, a, b, (x-1)>>31); }
/** * return x==y?a:b; */ public static int ifEquals(int x, int y, int a, int b) { //return x==y?a:b; return onEqu1(x, y, a, b, ((x-y)-1)>>31); }
private static int indexOfMatchInArray(short value, short[] data, int i) { if (1==i) { return Branchless.ifEquals(value, data[0], 0, -1); //return (value==data[0]) ? 0 : -1; } return indexOfMatchInArrayScan(value, data, i); }
private static int onEqu1(int x, int y, int a, int b, int tmp) { return onEqu2(a, b, (((x-y)>>31)^tmp)&tmp); }
/** * return x==0?a:b; */ public static int ifZero(int x, int a, int b) { //return x==0?a:b; return onZero1(x, a, b, (x-1)>>31); }
/** * return x==y?a:b; */ public static int ifEquals(int x, int y, int a, int b) { //return x==y?a:b; return onEqu1(x, y, a, b, ((x-y)-1)>>31); }
private static int onZero1(int x, int a, int b, int tmp) { return onEqu2(a, b, ((x>>31)^tmp)&tmp); }
private static int onZero1(int x, int a, int b, int tmp) { return onEqu2(a, b, ((x>>31)^tmp)&tmp); }
private static int onEqu1(int x, int y, int a, int b, int tmp) { return onEqu2(a, b, (((x-y)>>31)^tmp)&tmp); }