mirror of
https://github.com/stedolan/jq.git
synced 2024-05-11 05:55:39 +00:00
Extend jv_number to use decNumber for storing number literals. Any math operations on the numbers will truncate them to double precision. Comparisons when both numbers are literal numbers will compare them without truncation. Delay conversion of numbers to doubles until a math operation is performed, to preserve precision. A literal jv_number will only need conversion to double once, and will reuse the resultant double on subsequent conversions. Outputting literal jv_numbers preserves the original precision. Add strong pthread requirement to manage contexts/allocations for converting numbers between their decNumber, string, and double formats.
Documentation
The jq website, manpages and some of the tests are generated from this
directory. The manual is a YAML file in content/manual
.
To build the documentation (including building the jq manpage), you'll need python3 and pipenv. You can install pipenv like so:
pip install pipenv
Though, you may need to say pip3 instead, depending on your system. Once
you have pipenv installed, you can install the dependencies by running
pipenv install
from the docs
directory.
Once this is done, rerun ./configure
in the jq root directory and then
the Makefile will be able to generate the jq manpage.
To build the website, run pipenv run ./build_website.py
from inside
the docs
directory.