public final class Utils extends java.lang.Object implements RevisionHandler
| Modifier and Type | Field and Description | 
|---|---|
| static double | log2The natural logarithm of 2. | 
| static double | SMALLThe small deviation allowed in double comparisons. | 
| Constructor and Description | 
|---|
| Utils() | 
| Modifier and Type | Method and Description | 
|---|---|
| static java.lang.String | arrayToString(java.lang.Object array)Returns the given Array in a string representation. | 
| static java.lang.String | backQuoteChars(java.lang.String string)Converts carriage returns and new lines in a string into \r and \n. | 
| static void | checkForRemainingOptions(java.lang.String[] options)Checks if the given array contains any non-empty options. | 
| static java.lang.String | convertNewLines(java.lang.String string)Converts carriage returns and new lines in a string into \r and \n. | 
| static java.io.File | convertToRelativePath(java.io.File absolute)Converts a File's absolute path to a path relative to the user (ie start)
 directory. | 
| static double | correlation(double[] y1,
           double[] y2,
           int n)Returns the correlation coefficient of two double vectors. | 
| static java.lang.String | doubleToString(double value,
              int afterDecimalPoint)Rounds a double and converts it into String. | 
| static java.lang.String | doubleToString(double value,
              int width,
              int afterDecimalPoint)Rounds a double and converts it into a formatted decimal-justified String. | 
| static boolean | eq(double a,
  double b)Tests if a is equal to b. | 
| static java.lang.Object | forName(java.lang.Class classType,
       java.lang.String className,
       java.lang.String[] options)Creates a new instance of an object given it's class name and (optional)
 arguments to pass to it's setOptions method. | 
| static java.lang.Class | getArrayClass(java.lang.Class c)Returns the basic class of an array class (handles multi-dimensional
 arrays). | 
| static int | getArrayDimensions(java.lang.Class array)Returns the dimensions of the given array. | 
| static int | getArrayDimensions(java.lang.Object array)Returns the dimensions of the given array. | 
| static boolean | getFlag(char flag,
       java.lang.String[] options)Checks if the given array contains the flag "-Char". | 
| static boolean | getFlag(java.lang.String flag,
       java.lang.String[] options)Checks if the given array contains the flag "-String". | 
| static java.lang.String | getGlobalInfo(java.lang.Object object,
             boolean addCapabilities)Utility method for grabbing the global info help (if it exists) from an
 arbitrary object. | 
| static java.lang.String | getOption(char flag,
         java.lang.String[] options)Gets an option indicated by a flag "-Char" from the given array of strings. | 
| static java.lang.String | getOption(java.lang.String flag,
         java.lang.String[] options)Gets an option indicated by a flag "-String" from the given array of
 strings. | 
| static int | getOptionPos(char flag,
            java.lang.String[] options)Gets the index of an option or flag indicated by a flag "-Char" from the
 given array of strings. | 
| static int | getOptionPos(java.lang.String flag,
            java.lang.String[] options)Gets the index of an option or flag indicated by a flag "-String" from the
 given array of strings. | 
| java.lang.String | getRevision()Returns the revision string. | 
| static boolean | gr(double a,
  double b)Tests if a is greater than b. | 
| static boolean | grOrEq(double a,
      double b)Tests if a is greater or equal to b. | 
| static double | info(int[] counts)Computes entropy for an array of integers. | 
| static java.lang.String | joinOptions(java.lang.String[] optionArray)Joins all the options in an option array into a single string, as might be
 used on the command line. | 
| static double | kthSmallestValue(double[] array,
                int k)Returns the kth-smallest value in the array | 
| static int | kthSmallestValue(int[] array,
                int k)Returns the kth-smallest value in the array. | 
| static java.lang.String | lineWrap(java.lang.String input,
        int maxLineWidth)Implements simple line breaking. | 
| static double | log2(double a)Returns the logarithm of a for base 2. | 
| static double[] | logs2probs(double[] a)Converts an array containing the natural logarithms of probabilities stored
 in a vector back into probabilities. | 
| static void | main(java.lang.String[] ops)Main method for testing this class. | 
| static int | maxIndex(double[] doubles)Returns index of maximum element in a given array of doubles. | 
| static int | maxIndex(int[] ints)Returns index of maximum element in a given array of integers. | 
| static double | mean(double[] vector)Computes the mean for an array of doubles. | 
| static int | minIndex(double[] doubles)Returns index of minimum element in a given array of doubles. | 
| static int | minIndex(int[] ints)Returns index of minimum element in a given array of integers. | 
| static void | normalize(double[] doubles)Normalizes the doubles in the array by their sum. | 
| static void | normalize(double[] doubles,
         double sum)Normalizes the doubles in the array using the given value. | 
| static java.lang.String | padLeft(java.lang.String inString,
       int length)Pads a string to a specified length, inserting spaces on the left as
 required. | 
| static java.lang.String | padRight(java.lang.String inString,
        int length)Pads a string to a specified length, inserting spaces on the right as
 required. | 
| static java.lang.String[] | partitionOptions(java.lang.String[] options)Returns the secondary set of options (if any) contained in the supplied
 options array. | 
| static int | probRound(double value,
         java.util.Random rand)Rounds a double to the next nearest integer value in a probabilistic
 fashion (e.g. | 
| static double | probToLogOdds(double prob)Returns the log-odds for a given probabilitiy. | 
| static java.lang.String | quote(java.lang.String string)Quotes a string if it contains special characters. | 
| static java.util.Properties | readProperties(java.lang.String resourceName)Reads properties that inherit from three locations. | 
| static java.lang.String | removeSubstring(java.lang.String inString,
               java.lang.String substring)Removes all occurrences of a string from another string. | 
| static void | replaceMissingWithMAX_VALUE(double[] array)Replaces all "missing values" in the given array of double values with
 MAX_VALUE. | 
| static java.lang.String | replaceSubstring(java.lang.String inString,
                java.lang.String subString,
                java.lang.String replaceString)Replaces with a new string, all occurrences of a string from another
 string. | 
| static java.lang.String | revertNewLines(java.lang.String string)Reverts \r and \n in a string into carriage returns and new lines. | 
| static int | round(double value)Rounds a double to the next nearest integer value. | 
| static double | roundDouble(double value,
           int afterDecimalPoint)Rounds a double to the given number of decimal places. | 
| static boolean | sm(double a,
  double b)Tests if a is smaller than b. | 
| static boolean | smOrEq(double a,
      double b)Tests if a is smaller or equal to b. | 
| static int[] | sort(double[] array)Sorts a given array of doubles in ascending order and returns an array of
 integers with the positions of the elements of the original array in the
 sorted array. | 
| static int[] | sort(int[] array)Sorts a given array of integers in ascending order and returns an array of
 integers with the positions of the elements of the original array in the
 sorted array. | 
| static int[] | sortWithNoMissingValues(double[] array)Sorts a given array of doubles in ascending order and returns an array of
 integers with the positions of the elements of the original array in the
 sorted array. | 
| static java.lang.String[] | splitOptions(java.lang.String quotedOptionString)Split up a string containing options into an array of strings, one for each
 option. | 
| static int[] | stableSort(double[] array)Sorts a given array of doubles in ascending order and returns an array of
 integers with the positions of the elements of the original array in the
 sorted array. | 
| static double | sum(double[] doubles)Computes the sum of the elements of an array of doubles. | 
| static int | sum(int[] ints)Computes the sum of the elements of an array of integers. | 
| static java.lang.String | unbackQuoteChars(java.lang.String string)The inverse operation of backQuoteChars(). | 
| static java.lang.String | unquote(java.lang.String string)unquotes are previously quoted string (but only if necessary), i.e., it
 removes the single quotes around it. | 
| static double | variance(double[] vector)Computes the variance for an array of doubles. | 
| static double | xlogx(int c)Returns c*log2(c) for a given integer value c. | 
public static double log2
public static double SMALL
public static java.util.Properties readProperties(java.lang.String resourceName)
                                           throws java.lang.Exception
resourceName - the location of the resource that should be loaded.
          e.g.: "weka/core/Utils.props". (The use of hardcoded forward
          slashes here is OK - see jdk1.1/docs/guide/misc/resources.html)
          This routine will also look for the file (in this case)
          "Utils.props" in the users home directory and the current
          directory.java.lang.Exception - if no default properties are defined, or if an error
              occurs reading the properties files.public static final double correlation(double[] y1,
                                       double[] y2,
                                       int n)
y1 - double vector 1y2 - double vector 2n - the length of two double vectorspublic static java.lang.String removeSubstring(java.lang.String inString,
                                               java.lang.String substring)
inString - the string to remove substrings from.substring - the substring to remove.public static java.lang.String replaceSubstring(java.lang.String inString,
                                                java.lang.String subString,
                                                java.lang.String replaceString)
inString - the string to replace substrings in.subString - the substring to replace.replaceString - the replacement substringpublic static java.lang.String padLeft(java.lang.String inString,
                                       int length)
inString - the input stringlength - the desired length of the output stringpublic static java.lang.String padRight(java.lang.String inString,
                                        int length)
inString - the input stringlength - the desired length of the output stringpublic static java.lang.String doubleToString(double value,
                                              int afterDecimalPoint)
value - the double valueafterDecimalPoint - the (maximum) number of digits permitted after the
          decimal pointpublic static java.lang.String doubleToString(double value,
                                              int width,
                                              int afterDecimalPoint)
value - the double valuewidth - the width of the stringafterDecimalPoint - the number of digits after the decimal pointpublic static java.lang.Class getArrayClass(java.lang.Class c)
c - the array to inspectpublic static int getArrayDimensions(java.lang.Class array)
array - the array to determine the dimensions forpublic static int getArrayDimensions(java.lang.Object array)
array - the array to determine the dimensions forpublic static java.lang.String arrayToString(java.lang.Object array)
array - the array to return in a string representationpublic static boolean eq(double a,
                         double b)
a - a doubleb - a doublepublic static void checkForRemainingOptions(java.lang.String[] options)
                                     throws java.lang.Exception
options - an array of stringsjava.lang.Exception - if there are any non-empty optionspublic static boolean getFlag(char flag,
                              java.lang.String[] options)
                       throws java.lang.Exception
flag - the character indicating the flag.options - the array of strings containing all the options.java.lang.Exception - if an illegal option was foundpublic static boolean getFlag(java.lang.String flag,
                              java.lang.String[] options)
                       throws java.lang.Exception
flag - the String indicating the flag.options - the array of strings containing all the options.java.lang.Exception - if an illegal option was foundpublic static java.lang.String getOption(char flag,
                                         java.lang.String[] options)
                                  throws java.lang.Exception
flag - the character indicating the option.options - the array of strings containing all the options.java.lang.Exception - if the option indicated by the flag can't be foundpublic static java.lang.String getOption(java.lang.String flag,
                                         java.lang.String[] options)
                                  throws java.lang.Exception
flag - the String indicating the option.options - the array of strings containing all the options.java.lang.Exception - if the option indicated by the flag can't be foundpublic static int getOptionPos(char flag,
                               java.lang.String[] options)
flag - the character indicating the option.options - the array of strings containing all the options.public static int getOptionPos(java.lang.String flag,
                               java.lang.String[] options)
flag - the String indicating the option.options - the array of strings containing all the options.public static java.lang.String quote(java.lang.String string)
string - the string to be quotedunquote(String)public static java.lang.String unquote(java.lang.String string)
string - the string to processquote(String)public static java.lang.String backQuoteChars(java.lang.String string)
string - the stringunbackQuoteChars(String)public static java.lang.String convertNewLines(java.lang.String string)
string - the stringpublic static java.lang.String revertNewLines(java.lang.String string)
string - the stringpublic static java.lang.String[] partitionOptions(java.lang.String[] options)
options - the input array of optionspublic static java.lang.String unbackQuoteChars(java.lang.String string)
string - the stringbackQuoteChars(String)public static java.lang.String[] splitOptions(java.lang.String quotedOptionString)
                                       throws java.lang.Exception
quotedOptionString - the string containing the optionsjava.lang.Exception - in case of an unterminated string, unknown character or a
           parse errorpublic static java.lang.String joinOptions(java.lang.String[] optionArray)
optionArray - the array of optionspublic static java.lang.Object forName(java.lang.Class classType,
                                       java.lang.String className,
                                       java.lang.String[] options)
                                throws java.lang.Exception
 
  
 String classifierName = Utils.getOption('W', options);
 Classifier c = (Classifier)Utils.forName(Classifier.class,
                                          classifierName,
                                          options);
 setClassifier(c);
 
classType - the class that the instantiated object should be
          assignable to -- an exception is thrown if this is not the caseclassName - the fully qualified class name of the objectoptions - an array of options suitable for passing to setOptions. May
          be null. Any options accepted by the object will be removed from
          the array.java.lang.Exception - if the class name is invalid, or if the class is not
              assignable to the desired class type, or the options supplied
              are not acceptable to the objectpublic static double info(int[] counts)
counts - array of countspublic static boolean smOrEq(double a,
                             double b)
a - a doubleb - a doublepublic static boolean grOrEq(double a,
                             double b)
a - a doubleb - a doublepublic static boolean sm(double a,
                         double b)
a - a doubleb - a doublepublic static boolean gr(double a,
                         double b)
a - a doubleb - a doublepublic static int kthSmallestValue(int[] array,
                                   int k)
array - the array of integersk - the value of kpublic static double kthSmallestValue(double[] array,
                                      int k)
array - the array of doublek - the value of kpublic static double log2(double a)
a - a doublepublic static int maxIndex(double[] doubles)
doubles - the array of doublespublic static int maxIndex(int[] ints)
ints - the array of integerspublic static double mean(double[] vector)
vector - the arraypublic static int minIndex(int[] ints)
ints - the array of integerspublic static int minIndex(double[] doubles)
doubles - the array of doublespublic static void normalize(double[] doubles)
doubles - the array of doublejava.lang.IllegalArgumentException - if sum is Zero or NaNpublic static void normalize(double[] doubles,
                             double sum)
doubles - the array of doublesum - the value by which the doubles are to be normalizedjava.lang.IllegalArgumentException - if sum is zero or NaNpublic static double[] logs2probs(double[] a)
a - an array holding the natural logarithms of the probabilitiespublic static double probToLogOdds(double prob)
prob - the probabilitiypublic static int round(double value)
value - the double valuepublic static int probRound(double value,
                            java.util.Random rand)
value - the double valuerand - the random number generatorpublic static void replaceMissingWithMAX_VALUE(double[] array)
array - the array to be modified.public static double roundDouble(double value,
                                 int afterDecimalPoint)
value - the double valueafterDecimalPoint - the number of digits after the decimal pointpublic static int[] sort(int[] array)
array - this array is not changed by the method!public static int[] sort(double[] array)
array - this array is not changed by the method!public static int[] sortWithNoMissingValues(double[] array)
array - the array to be sorted, which is modified if it has missing
          valuespublic static int[] stableSort(double[] array)
array - this array is not changed by the method!public static double variance(double[] vector)
vector - the arraypublic static double sum(double[] doubles)
doubles - the array of doublepublic static int sum(int[] ints)
ints - the array of integerspublic static double xlogx(int c)
c - an integer valuepublic static java.io.File convertToRelativePath(java.io.File absolute)
                                          throws java.lang.Exception
absolute - the File to convert to relative pathjava.lang.Exception - if the path cannot be constructedpublic static java.lang.String getGlobalInfo(java.lang.Object object,
                                             boolean addCapabilities)
object - the object to grab global info fromaddCapabilities - true if capabilities information is to be added to
          the resultpublic static java.lang.String lineWrap(java.lang.String input,
                                        int maxLineWidth)
input - the string to line wrapmaxLineWidth - the maximum permitted number of characters in a linepublic java.lang.String getRevision()
getRevision in interface RevisionHandlerpublic static void main(java.lang.String[] ops)
ops - some dummy options