justbases-string 0.1

Creator: bradpython12

Last updated:

Add to Cart

Description:

justbasesstring 0.1

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'

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.