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

Serge Petrenko sergepetrenko at tarantool.org
Tue Jun 11 19:02:32 MSK 2019


> 11 июня 2019 г., в 19:01, Serge Petrenko <sergepetrenko at tarantool.org> написал(а):
> 
> 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>
Branch: https://github.com/tarantool/tarantool/tree/sp/gh-692-introduce-decimal <https://github.com/tarantool/tarantool/tree/sp/gh-692-introduce-decimal>
Sorry.

> 
> --
> Serge Petrenko
> sergepetrenko at tarantool.org <mailto:sergepetrenko at tarantool.org>
> 
> 
> 
> 
>> 11 июня 2019 г., в 18:56, Serge Petrenko <sergepetrenko at tarantool.org <mailto: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/45566c18/attachment.html>


More information about the Tarantool-patches mailing list