Metadata-Version: 1.1
Name: justbases-string
Version: 0.1
Summary: string representation of a rational number in any base
Home-page: UNKNOWN
Author: Anne Mulhern
Author-email: amulhern@redhat.com
License: Apache 2.0
Description: justbases-string
        ================
        
        Purpose
        -------
        A small library for generating a human readable string value from a number
        with an arbitrary base. The number is represented by five elements:
        
        * a sign
        
          -1, 1, or 0 as appropriate
        
        * an integer part
        
          a list of non-negative ints, where each element is less than the base value
        
        * a non repeating fractional part
        
          a list of non-negative ints, where each element is less than the base value
        
        * a repeating fractional part
        
          a list of non-negative ints, where each element is less than the base value
        
        * a base
        
          the base of the number, must be an integer greater than 1.
        
        
        Usage
        -----
        
        ::
        
            >>> from justbases_string import *
            >>> xformer = String(DisplayConfig(), 2)
            >>> xformer.xform(-1, [1, 0, 1], [], [1, 0], 0)
            '-101.(10)_2'
            >>> xformer.xform(0, [], [0, 0], [], 0)
            '0_2'
        
        An exception is raised if the parts of the number do not conform to the
        necessary constraints: ::
        
            >>> xformer.xform(1, [2], [0, 0], [], 0)
            Traceback (most recent call last):
            ...
        
            >>> xformer.xform(1, [-1], [0, 0], [], 0)
            Traceback (most recent call last):
            ...
        
        There are numerous options for configuring the string result: ::
        
            >>> digits_config = DigitsConfig(use_letters=False)
            >>> xformer = String(DisplayConfig(digits_config=digits_config), 1024)
            >>> xformer.xform(1, [2], [2, 4, 256], [], 0)
            '2.2~4~256_1024'
        
            >>> digits_config = DigitsConfig(use_caps=True)
            >>> xformer = String(DisplayConfig(digits_config=digits_config), 16)
            >>> xformer.xform(1, [], [0, 13], [], 0)
            '0.0D_16'
        
        The final argument is the relation of the value being displayed to the value
        it represents: ::
        
            >>> xformer.xform(1, [2], [2, 4, 256], [], Fraction(1, 3))
            '< 2.2~4~256_1024'
        
Platform: Linux
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Scientific/Engineering :: Mathematics
