Package ptolemy.math

Class Precision.LengthIntegerPrecisionFormat

  • Direct Known Subclasses:
    Precision.ExpressionLanguagePrecisionFormat
    Enclosing class:
    Precision

    public static class Precision.LengthIntegerPrecisionFormat
    extends Precision.PrecisionFormat
    Defines a Precision string format using the LENGTH/INTEGER precision format. The LENGTH value specifies the length of the format in bits. The INTEGER field specifies the number of integer bits (i.e. bits to the left of the binary point). Negative values are allowed for the INTEGER field.

    The exponent in this format is set to -(length - integer);

    This format supports the specification of either signed or unsigned values. The character 'U' must precede the LENGTH/INTEGER format to specify an unsigned value. An 'S' character may be applied to specify a signed number. If no 'U' or 'S' signed specification is provided, the precision will default to a signed value.

    Parenthesis or brackets are optional around this specification. A comma (,) may be used in place of the slash ('/'). Examples:

    • (3/2)
    • (U5/0)
    • [8,-2]
    • [S6,6]
    • S8/4
    When printed, this format will always use parenthesis, always use the slash '/', and only use the signed format specification for unsigned numbers (i.e. 'U' used for unsigned numbers and NO 'S' for signed numbers).
    • Field Detail

      • _regex

        protected static final java.lang.String _regex
        Regular expression for IntegerFractionPrecisionFormat. Example (S3,2) or (S3/2)
        See Also:
        Constant Field Values
    • Constructor Detail

      • LengthIntegerPrecisionFormat

        public LengthIntegerPrecisionFormat()
    • Method Detail

      • parseString

        public Precision parseString​(java.lang.String str)
                              throws java.lang.IllegalArgumentException
        Description copied from class: Precision.PrecisionFormat
        Parse the given String argument using the rules of the specific PrecisionFormat that is defined. This method will return a valid Precision object from the String. If the String parsing does not produce a valid match, this method will return a null. If the String match is successful but there is a problem in the interpretation of the match, this method will throw a IllegalArgumentException.
        Specified by:
        parseString in class Precision.PrecisionFormat
        Parameters:
        str - String to parse
        Returns:
        A Precision object. Returns a null if the String does not match the particular string format.
        Throws:
        java.lang.IllegalArgumentException - If there is a problem parsing the String (i.e. an illegal string).
      • printPrecisionFormat

        public java.lang.String printPrecisionFormat​(Precision p)
        Description copied from class: Precision.PrecisionFormat
        Creates a valid String representation of the Precision object based on the rules of the given string format. The format of this String should be consistent with the format used in the parseString method.
        Specified by:
        printPrecisionFormat in class Precision.PrecisionFormat
        Parameters:
        p - Precision object to represent as a String.
        Returns:
        String representing the Precision object