public static bvec4 notEqual(ivec4 x, ivec4 y) { bvec4 r; r.x = x.x != y.x; r.y = x.y != y.y; r.z = x.z != y.z; r.w = x.w != y.w; return r; }
public static ivec4 abs(ivec4 x) { ivec4 r; r.x = Math.Abs(x.x); r.y = Math.Abs(x.y); r.z = Math.Abs(x.z); r.w = Math.Abs(x.w); return r; }
public static bvec4 greaterThanEqual(ivec4 x, ivec4 y) { bvec4 r; r.x = x.x >= y.x; r.y = x.y >= y.y; r.z = x.z >= y.z; r.w = x.w >= y.w; return r; }
public static bvec4 equal(ivec4 x, ivec4 y) { bvec4 r; r.x = x.x == y.x; r.y = x.y == y.y; r.z = x.z == y.z; r.w = x.w == y.w; return r; }
public static bvec4 lessThan(ivec4 x, ivec4 y) { bvec4 r; r.x = x.x < y.x; r.y = x.y < y.y; r.z = x.z < y.z; r.w = x.w < y.w; return r; }
public static bvec4 lessThanEqual(ivec4 x, ivec4 y) { bvec4 r; r.x = x.x <= y.x; r.y = x.y <= y.y; r.z = x.z <= y.z; r.w = x.w <= y.w; return r; }
public static ivec4 sign(ivec4 x) { ivec4 r; r.x = Math.Sign(x.x); r.y = Math.Sign(x.y); r.z = Math.Sign(x.z); r.w = Math.Sign(x.w); return r; }
public static ivec4 min(ivec4 x, int y) { ivec4 r; r.x = min(x.x, y); r.y = min(x.y, y); r.z = min(x.z, y); r.w = min(x.w, y); return r; }
public static ivec4 min(ivec4 x, ivec4 y) { ivec4 r; r.x = min(x.x, y.x); r.y = min(x.y, y.y); r.z = min(x.z, y.z); r.w = min(x.w, y.w); return r; }
public static ivec4 clamp(ivec4 x, ivec4 minVal, ivec4 maxVal) { ivec4 r; r.x = min(max(x.x, minVal.x), maxVal.x); r.y = min(max(x.y, minVal.y), maxVal.y); r.z = min(max(x.z, minVal.z), maxVal.z); r.w = min(max(x.w, minVal.w), maxVal.w); return r; }
public static ivec4 clamp(ivec4 x, int minVal, int maxVal) { ivec4 r; r.x = min(max(x.x, minVal), maxVal); r.y = min(max(x.y, minVal), maxVal); r.z = min(max(x.z, minVal), maxVal); r.w = min(max(x.w, minVal), maxVal); return r; }