[ 
https://issues.apache.org/jira/browse/THRIFT-5496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17471767#comment-17471767
 ] 

Mario Emmenlauer commented on THRIFT-5496:
------------------------------------------

I would assume that there is no specific reason why scientific notation is 
*not* used. It seems just likely that nobody requested support for such small 
constants before. Using 16 or 17 digits of precision is a common thing to do 
for double, but of course that does not work for very small constants.

For what its worth, I would suggest to add support for scientific notation, or 
what do you think? That seems more reasonable than extending the decimal digits.

> Thrift compiler (C/C++) truncates small doubles to a fixed number of digits 
> after the decimal point 
> ----------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-5496
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5496
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.15.0
>            Reporter: Richard H. Gumpertz
>            Priority: Minor
>   Original Estimate: 0h
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When the Thrift C++ compiler generates double constants in .h files, it
>     (1) doesn't use scientific notation (e.g., 123.45e-22)
>     (2) uses a fixed number of digits after the decimal point
> Hence, if the constant to be generated is small but non-zero, it shows up as 
> "0.0000000000000000" (17 digits of precision, 16 after the decimal point).
> (1) Would somebody please explain why scientific notation is not used when 
> appropriate?
> (2) Assuming that there is a good reason for not using scientific notation, I 
> have created a fix that instead generates 
> "0.000000000000000000012345000000000000" (17 digits of precision following 
> the 19 '0's between the decimal point and the '1'. 
> I made this fix in .../generate/t_erl_generator.cc,, 
> .../generate/t_generator.cc,, and .../test/DoubleConstantsTest.thrift. 
> I will submit a github pull request shortly.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to