rwpenney opened a new pull request #29938:
URL: https://github.com/apache/spark/pull/29938


   This patch is a small extension to change-request SPARK-28133, which added 
inverse hyperbolic functions to the SQL interpreter, but did not include those 
methods within the Scala `sql.functions._` API. This patch makes `acosh`, 
`asinh` and `atanh` functions available through the Scala API.
   
   Unit-tests have been added to 
`sql/core/src/test/scala/org/apache/spark/sql/MathFunctionsSuite.scala`. Manual 
testing has been done via `spark-shell`, using the following recipe:
   ```
   val df = spark.range(0, 11)
                 .toDF("x")
                 .withColumn("x", ($"x" - 5) / 2.0)
   val hyps = df.withColumn("tanh", tanh($"x"))
                .withColumn("sinh", sinh($"x"))
                .withColumn("cosh", cosh($"x"))
   val invhyps = hyps.withColumn("atanh", atanh($"tanh"))
                     .withColumn("asinh", asinh($"sinh"))
                     .withColumn("acosh", acosh($"cosh"))
   invhyps.show
   ```
   which produces the following output:
   ```
   
+----+--------------------+-------------------+------------------+-------------------+-------------------+------------------+
   |   x|                tanh|               sinh|              cosh|           
   atanh|              asinh|             acosh|
   
+----+--------------------+-------------------+------------------+-------------------+-------------------+------------------+
   |-2.5| -0.9866142981514303|-6.0502044810397875| 6.132289479663686| 
-2.500000000000001|-2.4999999999999956|               2.5|
   |-2.0| -0.9640275800758169| 
-3.626860407847019|3.7621956910836314|-2.0000000000000004|-1.9999999999999991|  
             2.0|
   |-1.5| -0.9051482536448664|-2.1292794550948173| 
2.352409615243247|-1.4999999999999998|-1.4999999999999998|               1.5|
   |-1.0| -0.7615941559557649|-1.1752011936438014| 1.543080634815244|           
    -1.0|               -1.0|               1.0|
   |-0.5|-0.46211715726000974|-0.5210953054937474|1.1276259652063807|           
    -0.5|-0.5000000000000002|0.4999999999999998|
   | 0.0|                 0.0|                0.0|               1.0|           
     0.0|                0.0|               0.0|
   | 0.5| 0.46211715726000974| 0.5210953054937474|1.1276259652063807|           
     0.5|                0.5|0.4999999999999998|
   | 1.0|  0.7615941559557649| 1.1752011936438014| 1.543080634815244|           
     1.0|                1.0|               1.0|
   | 1.5|  0.9051482536448664| 2.1292794550948173| 2.352409615243247| 
1.4999999999999998|                1.5|               1.5|
   | 2.0|  0.9640275800758169|  3.626860407847019|3.7621956910836314| 
2.0000000000000004|                2.0|               2.0|
   | 2.5|  0.9866142981514303| 6.0502044810397875| 6.132289479663686|  
2.500000000000001|                2.5|               2.5|
   
+----+--------------------+-------------------+------------------+-------------------+-------------------+------------------+
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to