Bug 148430 - Use std functions instead of our own implementation
Summary: Use std functions instead of our own implementation
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.4.0 reviewed:2022
Keywords: difficultyMedium, easyHack, skillCpp
Depends on:
Blocks: Dev-related
  Show dependency treegraph
 
Reported: 2022-04-06 20:16 UTC by Hossein
Modified: 2022-06-16 14:09 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hossein 2022-04-06 20:16:43 UTC
Historically, some functions including various mathematical functions were not available in the early versions of C/C++. In order to use those functions inside LibreOffice, these functions were implemented internally.

For an example, some (inverse) trigonometric and (inverse) hyperbolic functions like asinh() and acosh() were not available in the early versions of C++ std.

Instead of our own implementation inside LibreOffice, we now can use std::asinh() and std::acosh() from <cmath>, available since C++11:

    https://en.cppreference.com/w/cpp/numeric/math/asinh

The underlying methods from <math.h> are available since C99:

    https://en.cppreference.com/w/c/numeric/math/asinh

The reason provided in f70de5267d7d9b7b6946cd72fe26e91bb6ac8431 to provide an internal implementation was that asinh() and acosh() were "part of the C99 standard, but not provided by some compilers". This was true at that time, but is no longer the case as the methods are now well established.
Comment 1 Roman Kuznetsov 2022-04-06 21:22:24 UTC
Set to NEW
Comment 2 Commit Notification 2022-05-11 08:34:08 UTC
offtkp committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/6f75ec6115f0152517be634070607bc61bf96dd0

tdf#148430 Use atanh from <cmath> instead of our own

It will be available in 7.4.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.
Comment 3 Hossein 2022-06-16 14:09:05 UTC
Re-evaluating the EasyHack in 2022

This enhancement is still relevant.