[
https://issues.apache.org/jira/browse/THRIFT-3456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15032472#comment-15032472
]
Jens Geyer commented on THRIFT-3456:
------------------------------------
Hint: The ususal way to deal with float precision issues would be to test
against an epsilon, like (pseudo code) so: {{assert( abs(a-b) < 1e-6 )}}.
> static assert fails
> -------------------
>
> Key: THRIFT-3456
> URL: https://issues.apache.org/jira/browse/THRIFT-3456
> Project: Thrift
> Issue Type: Bug
> Components: D - Compiler
> Reporter: Tolstokulakov Nikolay
>
> thrift.codegen.idlgen
> static assert(structIdlString!WithDefaults ==
> `struct WithDefaults {
> -1: string a = "asdf",
> -2: double b = 3.1415,
> 1: WithoutMeta c = {a: "foo", b: 3, },
> }
> `);
> This assert fails for me, because struct contains double b = 3.1414999...999
> I suggest replace 3.1415 with 1.0e+20
> This value is free from rounding issues.
> FYI
> thrift.internal.ctfe contains similar unit test, but it is not use strict
> match:
> static assert(ctfeToString(3.1415).startsWith("3.141"));
> Create pull request: https://github.com/apache/thrift/pull/720
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)