[ 
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]

Reply via email to