We have a helper union sal_math_Double (defined in include/sal/mathconf.h) to help low-level access to double parts. It already has a member "value" of type double, representing the resulting value. Throughout the code, the union is sometimes used inside other unions along with a double member, duplicating the already present "value". See e.g. sc/source/filter/oox/biffhelper.cxx and include/rtl/math.hxx. These usages may be simplified to avoid these extra unions (and e.g. drop DecodedDouble completely from sc/source/filter/oox/biffhelper.cxx). So the task is to look through all the uses of the union, and simplify those unnecessary complications.
i would like to work on this
(In reply to james from comment #1) Great! Looking forward to see your patches on gerrit!
james committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/97bc0eae8bf884105cfcd0e21473c92a89c62f67 tdf#130981:Simplify uses of sal_math_Double It will be available in 7.0.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.