[tarantool-patches] [PATCH v4 0/2] Introduce decimal type to tarantool core.

Serge Petrenko sergepetrenko at tarantool.org
Tue Jun 11 19:01:21 MSK 2019


My bad, issue and branch are below.
https://github.com/tarantool/tarantool/issues/692 <https://github.com/tarantool/tarantool/issues/692>
https://github.com/tarantool/tarantool/tree/sp/gh-692-mp-encode-decimal <https://github.com/tarantool/tarantool/tree/sp/gh-692-mp-encode-decimal>

--
Serge Petrenko
sergepetrenko at tarantool.org




> 11 июня 2019 г., в 18:56, Serge Petrenko <sergepetrenko at tarantool.org> написал(а):
> 
> This patchset adds a new type, decimal fixed-point, to tarantool,
> together with methods to pack/unpack decimals, arithmetic operations
> ad math functions.
> 
> The first patch adds decNumber library as a submodule.
> 
> The second patch adds a small wrapper to the library to make it work
> with fixed-point decimal values, and adds a unit test.
> To evaluate number precision and scale from exponent and the amount of
> significant digits the following formulas are applied:
> If exponent < 0 then precision = MAX(digits, -exponent) and scale = -exponent
> If exponent > 0 then precision = digits + exponent, and scale = 0
> 
> Changes in v4:
> - review fixes as per review
>   from @locker.
> - remove patches 3 and 4,
>   add decimal_pack/unpack as
>   a preparation for patches
>   4 and 4 to patch 2.
> 
> Changes in v3:
> - add patches 3 and 4 to
>   encode/decode decimals
>   as msgpack.
> 
> Changes in v2:
> - get rid of explicit precision and scale,
>   evaluate them from decNumber digits and exponent.
> - decimal is now an alias for decNumber
> - ln, log10, exp, sqrt, pow now accept precision to
>   which the result should be rounded.
> 
> Serge Petrenko (2):
>  third-party: add decNumber library
>  lib/core: introduce decimal type to tarantool
> 
> .gitmodules                 |   3 +
> CMakeLists.txt              |   7 +
> cmake/BuildDecNumber.cmake  |  14 ++
> src/CMakeLists.txt          |   1 +
> src/lib/core/CMakeLists.txt |   3 +-
> src/lib/core/decimal.c      | 354 +++++++++++++++++++++++++++++++
> src/lib/core/decimal.h      | 206 ++++++++++++++++++
> test/unit/CMakeLists.txt    |   2 +
> test/unit/decimal.c         | 174 ++++++++++++++++
> test/unit/decimal.result    | 406 ++++++++++++++++++++++++++++++++++++
> third_party/decNumber       |   1 +
> 11 files changed, 1170 insertions(+), 1 deletion(-)
> create mode 100644 cmake/BuildDecNumber.cmake
> create mode 100644 src/lib/core/decimal.c
> create mode 100644 src/lib/core/decimal.h
> create mode 100644 test/unit/decimal.c
> create mode 100644 test/unit/decimal.result
> create mode 160000 third_party/decNumber
> 
> -- 
> 2.20.1 (Apple Git-117)
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20190611/3b2eca3d/attachment.html>


More information about the Tarantool-patches mailing list