public static Obj CreateSet(Obj[] objs, long count) { Debug.Assert(objs.Length >= count); if (count != 0) { object[] res = Algs.SortUnique(objs, (int)count); return(new NeSetObj((Obj[])res[0], (uint[])res[1])); } else { return(EmptyRelObj.singleton); } }
public static Obj CreateTernRel(Obj[] col1, Obj[] col2, Obj[] col3, long count) { Debug.Assert(count <= col1.Length && count <= col2.Length && count <= col3.Length); if (col1.Length != 0) { Obj[][] normCols = Algs.SortUnique(col1, col2, col3, (int)count); return(new NeTernRelObj(normCols[0], normCols[1], normCols[2])); } else { return(EmptyRelObj.singleton); } }