All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cern.colt.matrix.FormerFactory Maven / Gradle / Ivy

Go to download

Parallel Colt is a multithreaded version of Colt - a library for high performance scientific computing in Java. It contains efficient algorithms for data analysis, linear algebra, multi-dimensional arrays, Fourier transforms, statistics and histogramming.

The newest version!
package cern.colt.matrix;

/**
 * Factory producing implementations of {@link cern.colt.matrix.Former} via
 * method create(); Serves to isolate the interface of String formatting from
 * the actual implementation. If you want to plug in a different String
 * formatting implementation, simply replace this class with your alternative.
 * 
 * @author [email protected]
 * @version 1.0, 21/07/00
 */
public class FormerFactory {
/**
     * Constructs and returns a new format instance.
     * 
     * @param format
     *            the format string following printf conventions. The string has
     *            a prefix, a format code and a suffix. The prefix and suffix
     *            become part of the formatted output. The format code directs
     *            the formatting of the (single) parameter to be formatted. The
     *            code has the following structure
     *            
    *
  • a % (required) *
  • a modifier (optional) *
    *
    + *
    forces display of + for positive numbers *
    0 *
    show leading zeroes *
    - *
    align left in the field *
    space *
    prepend a space in front of positive numbers *
    # *
    use "alternate" format. Add 0 or 0x for octal or * hexadecimal numbers. Don't suppress trailing zeroes in general * floating point format. *
    *
  • an integer denoting field width (optional) *
  • a period followed by an integer denoting precision * (optional) *
  • a format descriptor (required) *
    *
    f *
    floating point number in fixed format *
    e, E *
    floating point number in exponential notation (scientific * format). The E format results in an uppercase E for the * exponent (1.14130E+003), the e format in a lowercase e. *
    g, G *
    floating point number in general format (fixed format for * small numbers, exponential format for large numbers). Trailing * zeroes are suppressed. The G format results in an uppercase E * for the exponent (if any), the g format in a lowercase e. *
    d, i *
    integer in decimal *
    x *
    integer in hexadecimal *
    o *
    integer in octal *
    s *
    string *
    c *
    character *
    *
* @exception IllegalArgumentException * if bad format */ public Former create(final String format) { return new Former() { public String form(double value) { return String.format(format, value); } public String form(float value) { return String.format(format, value); } public String form(int value) { return String.format(format, value); } public String form(long value) { return String.format(format, value); } public String form(double[] value) { if (value[0] == 0 && value[1] == 0) { return "0"; } if (value[1] == 0) { return String.format(format, value[0]); } if (value[1] < 0) { return String.format(format, value[0]) + " - " + String.format(format, -value[1]); } return String.format(format, value[0]) + " + " + String.format(format, value[1]); } public String form(float[] value) { if (value[0] == 0 && value[1] == 0) { return "0"; } if (value[1] == 0) { return String.format(format, value[0]); } if (value[1] < 0) { return String.format(format, value[0]) + " - " + String.format(format, -value[1]); } return String.format(format, value[0]) + " + " + String.format(format, value[1]); } }; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy