RBNutilities
Class rbnutilities

java.lang.Object
  extended by RBNutilities.rbnutilities

public class rbnutilities
extends java.lang.Object


Constructor Summary
rbnutilities()
           
 
Method Summary
static void allSatisfyingTuples(java.lang.String[] mixedvec, int[] intvec, java.lang.String[] vars, java.util.TreeSet ts, int d)
          Inserts into ts all integer tuples 'ints' of length vars.length, such that mixedvec[vars/ints]=intvec.
static int arrayCompare(int[] arr1, int[] arr2)
           
static boolean arrayContains(int[] arr, int ii)
           
static boolean arrayEquals(int[] arr1, int[] arr2)
           
static Rel[] arraymerge(Rel[] relarg1, Rel[] relarg2)
           
static java.lang.String[] arraymerge(java.lang.String[] stringarg1, java.lang.String[] stringarg2)
           
static void arrayShiftArgs(int[] array, int a)
           
static Rel[] arraysubstraction(Rel[] relarg1, Rel[] relarg2)
           
static java.lang.String[] arraysubstraction(java.lang.String[] stringarg1, java.lang.String[] stringarg2)
           
static java.lang.String arrayToString(double[] arr)
           
static java.lang.String arrayToString(int[] arr)
           
static java.lang.String arrayToString(int[] arr, java.lang.String prefix)
          prefixes every integer in the tuple with 'prefix'
static java.lang.String arrayToString(Rel[] arr)
           
static java.lang.String arrayToString(java.lang.String[] arr)
           
static int[][] cartesProd(java.util.Vector factors)
           
static double[] clonearray(double[] clonethis)
           
static int[] clonearray(int[] clonethis)
           
static java.util.Vector clonevector(java.util.Vector vec)
          Clones vector vec without cloning the components of the vector
static java.util.Vector combineAtomVecs(java.util.Vector atoms1, java.util.Vector atoms2)
           
static int computeCorrespondingIndex(int size, int pos, int index)
          computes index of 0,1-vector in list of all 0,1-vectors of length 'size' that has the same components as vector at 'index', except in coordinate 'pos' 0 <= pos < size Example: 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 computeCorrespondingIndex(3,1,4)=6
static int computePermutedIndex(int ind, int[] perm, int range, int dim)
          computes the index of permutation of tuple with index ind Example perm = (2,3,1), ind=5, range =2, dim = 3: tuple represented by index: (1,0,0) Permuted tuple: (0,0,1) Index: 2
static int[] CorrArraySubstraction(java.lang.String[] vars1, java.lang.String[] vars2, int[] args)
           
static java.lang.String[] CorrArraySubstraction(java.lang.String[] vars1, java.lang.String[] vars2, java.lang.String[] args)
           
static boolean equivArray(int[] ar1, int[] ar2, int[] base)
          Tests whether ar1 and ar2 are equivalent modulo base in the following sense: ar1 and ar2 have the same length, and every number appearing in base appear only in identical places in ar1 and ar2.
static boolean equivAtoms(Atom at1, Atom at2, int[] base)
           
static boolean inArray(int[] intarr, int a)
           
static boolean inArray(Rel[] relarr, Rel thisrel)
           
static void incrementBitVector(int[] bv)
          bv is a 0-1 vector representing integer n Method turns it into vector representing n+1 (if n+1 < 2^bv.length, otherwise throws exception)
static int indexInArray(java.lang.String[] sarray, java.lang.String s)
          Returns the index of the (first occurrence) of s in sarray; Returns -1 if s not in sarray
static int[] indexToTuple(int ind, int dim, int range)
          returns the tuple i_0,i_2,...,i_(dim-1) that occurs in place 'ind' in a lexicographic enumeration of all 'dim'-tuples of integers in the range [0..range-1] 0 <= ind <= range^dim
static java.lang.String intArrVecToString(java.util.Vector vec)
          Formats a vector of int[] as String
static boolean integerMatch(java.lang.String[] sarray, int[] iarray)
          Checks whether all the components in sarray that are integers match the integers in iarray at the same position
static int IntPow(int k, int l)
           
static boolean IsInteger(java.lang.String argentry)
           
static java.util.Vector linkedListToVector(java.util.LinkedList lli)
           
static java.lang.String MatrixToString(int[][] arr)
           
static java.lang.String[] NewVariables(java.lang.String[] vars1, int k)
           
static java.lang.String[] NonIntOnly(java.lang.String[] arguments)
           
static int[] permuteTuple(int[] tup, int[] perm)
          Example: tup=(4,2,9), perm=(3,1,2) returns (9,4,2)
static void printarray(double[] arr)
           
static void printarray(int[] arr)
           
static void printarray(Rel[] arr)
           
static void printarray(java.lang.String[] arr)
           
static int[] stringArrayToIntArray(java.lang.String[] arr)
           
static int tupleToIndex(int[] tuple, int range)
           
static int tupleToIndex(int[] tuple, int[] ranges)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

rbnutilities

public rbnutilities()
Method Detail

IsInteger

public static boolean IsInteger(java.lang.String argentry)

IntPow

public static int IntPow(int k,
                         int l)

arrayEquals

public static boolean arrayEquals(int[] arr1,
                                  int[] arr2)

inArray

public static boolean inArray(Rel[] relarr,
                              Rel thisrel)

arrayShiftArgs

public static void arrayShiftArgs(int[] array,
                                  int a)

inArray

public static boolean inArray(int[] intarr,
                              int a)

arraymerge

public static java.lang.String[] arraymerge(java.lang.String[] stringarg1,
                                            java.lang.String[] stringarg2)

arrayCompare

public static int arrayCompare(int[] arr1,
                               int[] arr2)

arrayContains

public static boolean arrayContains(int[] arr,
                                    int ii)

arraysubstraction

public static java.lang.String[] arraysubstraction(java.lang.String[] stringarg1,
                                                   java.lang.String[] stringarg2)

arraysubstraction

public static Rel[] arraysubstraction(Rel[] relarg1,
                                      Rel[] relarg2)

arraymerge

public static Rel[] arraymerge(Rel[] relarg1,
                               Rel[] relarg2)

arrayToString

public static java.lang.String arrayToString(java.lang.String[] arr)

arrayToString

public static java.lang.String arrayToString(int[] arr)

arrayToString

public static java.lang.String arrayToString(int[] arr,
                                             java.lang.String prefix)
prefixes every integer in the tuple with 'prefix'


arrayToString

public static java.lang.String arrayToString(double[] arr)

arrayToString

public static java.lang.String arrayToString(Rel[] arr)

cartesProd

public static int[][] cartesProd(java.util.Vector factors)

clonearray

public static int[] clonearray(int[] clonethis)

clonearray

public static double[] clonearray(double[] clonethis)

clonevector

public static java.util.Vector clonevector(java.util.Vector vec)
Clones vector vec without cloning the components of the vector


combineAtomVecs

public static java.util.Vector combineAtomVecs(java.util.Vector atoms1,
                                               java.util.Vector atoms2)

computeCorrespondingIndex

public static int computeCorrespondingIndex(int size,
                                            int pos,
                                            int index)
computes index of 0,1-vector in list of all 0,1-vectors of length 'size' that has the same components as vector at 'index', except in coordinate 'pos' 0 <= pos < size Example: 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 computeCorrespondingIndex(3,1,4)=6


computePermutedIndex

public static int computePermutedIndex(int ind,
                                       int[] perm,
                                       int range,
                                       int dim)
computes the index of permutation of tuple with index ind Example perm = (2,3,1), ind=5, range =2, dim = 3: tuple represented by index: (1,0,0) Permuted tuple: (0,0,1) Index: 2


equivArray

public static boolean equivArray(int[] ar1,
                                 int[] ar2,
                                 int[] base)
Tests whether ar1 and ar2 are equivalent modulo base in the following sense: ar1 and ar2 have the same length, and every number appearing in base appear only in identical places in ar1 and ar2. Example: ar1 = [1,4,8,2,1] ar2 = [1,4,7,2,1] ar3 = [2,4,7,2,1] base = [1,4] Then equivArray(ar1,ar2,base)=true and equivArray(ar1,ar2,base)=false Result does not depend on order of elements in base


equivAtoms

public static boolean equivAtoms(Atom at1,
                                 Atom at2,
                                 int[] base)

CorrArraySubstraction

public static int[] CorrArraySubstraction(java.lang.String[] vars1,
                                          java.lang.String[] vars2,
                                          int[] args)

CorrArraySubstraction

public static java.lang.String[] CorrArraySubstraction(java.lang.String[] vars1,
                                                       java.lang.String[] vars2,
                                                       java.lang.String[] args)

incrementBitVector

public static void incrementBitVector(int[] bv)
bv is a 0-1 vector representing integer n Method turns it into vector representing n+1 (if n+1 < 2^bv.length, otherwise throws exception)


indexToTuple

public static int[] indexToTuple(int ind,
                                 int dim,
                                 int range)
returns the tuple i_0,i_2,...,i_(dim-1) that occurs in place 'ind' in a lexicographic enumeration of all 'dim'-tuples of integers in the range [0..range-1] 0 <= ind <= range^dim


intArrVecToString

public static java.lang.String intArrVecToString(java.util.Vector vec)
Formats a vector of int[] as String


linkedListToVector

public static java.util.Vector linkedListToVector(java.util.LinkedList lli)

MatrixToString

public static java.lang.String MatrixToString(int[][] arr)

NewVariables

public static java.lang.String[] NewVariables(java.lang.String[] vars1,
                                              int k)

NonIntOnly

public static java.lang.String[] NonIntOnly(java.lang.String[] arguments)

permuteTuple

public static int[] permuteTuple(int[] tup,
                                 int[] perm)
Example: tup=(4,2,9), perm=(3,1,2) returns (9,4,2)


printarray

public static void printarray(java.lang.String[] arr)

printarray

public static void printarray(int[] arr)

printarray

public static void printarray(double[] arr)

printarray

public static void printarray(Rel[] arr)

stringArrayToIntArray

public static int[] stringArrayToIntArray(java.lang.String[] arr)

tupleToIndex

public static int tupleToIndex(int[] tuple,
                               int range)

tupleToIndex

public static int tupleToIndex(int[] tuple,
                               int[] ranges)

integerMatch

public static boolean integerMatch(java.lang.String[] sarray,
                                   int[] iarray)
Checks whether all the components in sarray that are integers match the integers in iarray at the same position


indexInArray

public static int indexInArray(java.lang.String[] sarray,
                               java.lang.String s)
Returns the index of the (first occurrence) of s in sarray; Returns -1 if s not in sarray


allSatisfyingTuples

public static void allSatisfyingTuples(java.lang.String[] mixedvec,
                                       int[] intvec,
                                       java.lang.String[] vars,
                                       java.util.TreeSet ts,
                                       int d)
Inserts into ts all integer tuples 'ints' of length vars.length, such that mixedvec[vars/ints]=intvec. Example: mixedvec is (2,x,y,x), intvec is (2,3,4,3), vars is (y,x). Then method will insert the tuple (4,3) into ts. If mixedvec is (2,x,y,x), tup is (2,3,4,3), vars is (y,x,z), then method will insert all tuples (4,3,i) with i=0,...,d-1 into ts. If mixedvec is (2,x,y,x), tup is (1,3,4,3), vars is (y,x,z), then method will not insert any tuples into ts.