[
https://issues.apache.org/jira/browse/SPARK-56089?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated SPARK-56089:
-----------------------------------
Labels: pull-request-available (was: )
> Align asinh/acosh with fdlibm algorithm for cross-engine compatibility
> ----------------------------------------------------------------------
>
> Key: SPARK-56089
> URL: https://issues.apache.org/jira/browse/SPARK-56089
> Project: Spark
> Issue Type: Improvement
> Components: SQL
> Affects Versions: 3.5.7, 4.1.1
> Reporter: Xiaoxuan Li
> Priority: Minor
> Labels: pull-request-available
>
> The fdlibm algorithm is used across the industry:
> Directly implements fdlibm:
> - glibc / musl (C, the original fdlibm s_asinh.c / e_acosh.c)
> - OpenJDK StrictMath/Math (Java port, FdLibm.java, JDK-8376665)
> - Go standard library (ported from FreeBSD s_asinh.c)
> Delegates to platform libm (which is typically fdlibm-based):
> - Python math module
> - PostgreSQL
> - DuckDB
> The fdlibm algorithm splits the computation into range-specific branches
> (log1p for values near 1/0, identity for tiny values, etc.) which produces
> slightly different results (1-2 ULP) compared to the naive formula. Adopting
> it aligns Spark's results with these platforms, reducing inconsistencies when
> migrating workloads or comparing outputs across systems.
> Note: OpenJDK added StrictMath.acosh in JDK 27 (JDK-8376665) and
> StrictMath.asinh in an earlier release. Once Spark upgrades its minimum JDK
> version to 27+, this custom implementation can be replaced with direct calls
> to StrictMath.asinh/StrictMath.acosh.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]