string representation of a rational number in any base
Project description
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'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file justbases-string-0.1.tar.gz.
File metadata
- Download URL: justbases-string-0.1.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d6f3260cd80c30b2396a9a034a858726a3922c0ab83610e1294da616e5e1ede
|
|
| MD5 |
0e85b31a9eadf15ee004ea28021aa380
|
|
| BLAKE2b-256 |
9d9676a4b4b30e37b911e3804cdecbd1a95ea9ea7da6b1f9a3ac3577587d0bfe
|