From 4a6489917d4c8772434458b2492836127b384745 Mon Sep 17 00:00:00 2001 From: Nic Crane Date: Wed, 17 Aug 2022 15:31:59 +0100 Subject: [PATCH 1/2] feat: add hyperbolic functions --- extensions/functions_arithmetic.yaml | 108 +++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/extensions/functions_arithmetic.yaml b/extensions/functions_arithmetic.yaml index 685f4f168..15c8da92c 100644 --- a/extensions/functions_arithmetic.yaml +++ b/extensions/functions_arithmetic.yaml @@ -322,6 +322,54 @@ scalar_functions: required: false - value: fp64 return: fp64 + - + name: "cosh" + description: "Get the hyperbolic cosine of a value in radians." + impls: + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - value: fp32 + return: fp32 + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - value: fp64 + return: fp64 + - + name: "sinh" + description: "Get the hyperbolic sine of a value in radians." + impls: + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - value: fp32 + return: fp32 + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - value: fp64 + return: fp64 + - + name: "tanh" + description: "Get the hyperbolic tangent of a value in radians." + impls: + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - value: fp32 + return: fp32 + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - value: fp64 + return: fp64 - name: "acos" description: "Get the arccosine of a value in radians." @@ -382,6 +430,66 @@ scalar_functions: required: false - value: fp64 return: fp64 + - + name: "acosh" + description: "Get the hyperbolic arccosine of a value in radians." + impls: + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - name: on_domain_error + options: [ NAN, ERROR ] + required: false + - value: fp32 + return: fp32 + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - name: on_domain_error + options: [ NAN, ERROR ] + required: false + - value: fp64 + return: fp64 + - + name: "asinh" + description: "Get the hyperbolic arcsine of a value in radians." + impls: + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - value: fp32 + return: fp32 + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - value: fp64 + return: fp64 + - + name: "atanh" + description: "Get the hyperbolic arctangent of a value in radians." + impls: + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - name: on_domain_error + options: [ NAN, ERROR ] + required: false + - value: fp32 + return: fp32 + - args: + - name: rounding + options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] + required: false + - name: on_domain_error + options: [ NAN, ERROR ] + required: false + - value: fp64 + return: fp64 - name: "atan2" description: "Get the arctangent of values given as x/y pairs." From 5f962fdf5453e4b4567476bcc20e2d834784c96d Mon Sep 17 00:00:00 2001 From: Nic Crane Date: Thu, 1 Sep 2022 15:16:33 +0100 Subject: [PATCH 2/2] docs: add names to input args --- extensions/functions_arithmetic.yaml | 36 ++++++++++++++++++---------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/extensions/functions_arithmetic.yaml b/extensions/functions_arithmetic.yaml index 15c8da92c..9b774249d 100644 --- a/extensions/functions_arithmetic.yaml +++ b/extensions/functions_arithmetic.yaml @@ -330,13 +330,15 @@ scalar_functions: - name: rounding options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] required: false - - value: fp32 + - name: x + value: fp32 return: fp32 - args: - name: rounding options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] required: false - - value: fp64 + - name: x + value: fp64 return: fp64 - name: "sinh" @@ -346,13 +348,15 @@ scalar_functions: - name: rounding options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] required: false - - value: fp32 + - name: x + value: fp32 return: fp32 - args: - name: rounding options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] required: false - - value: fp64 + - name: x + value: fp64 return: fp64 - name: "tanh" @@ -362,13 +366,15 @@ scalar_functions: - name: rounding options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] required: false - - value: fp32 + - name: x + value: fp32 return: fp32 - args: - name: rounding options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] required: false - - value: fp64 + - name: x + value: fp64 return: fp64 - name: "acos" @@ -441,7 +447,8 @@ scalar_functions: - name: on_domain_error options: [ NAN, ERROR ] required: false - - value: fp32 + - name: x + value: fp32 return: fp32 - args: - name: rounding @@ -450,7 +457,8 @@ scalar_functions: - name: on_domain_error options: [ NAN, ERROR ] required: false - - value: fp64 + - name: x + value: fp64 return: fp64 - name: "asinh" @@ -460,13 +468,15 @@ scalar_functions: - name: rounding options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] required: false - - value: fp32 + - name: x + value: fp32 return: fp32 - args: - name: rounding options: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ] required: false - - value: fp64 + - name: x + value: fp64 return: fp64 - name: "atanh" @@ -479,7 +489,8 @@ scalar_functions: - name: on_domain_error options: [ NAN, ERROR ] required: false - - value: fp32 + - name: x + value: fp32 return: fp32 - args: - name: rounding @@ -488,7 +499,8 @@ scalar_functions: - name: on_domain_error options: [ NAN, ERROR ] required: false - - value: fp64 + - name: x + value: fp64 return: fp64 - name: "atan2"