From e72900e3ed9548e698a083605bc4729335c082d6 Mon Sep 17 00:00:00 2001 From: Vibhatha Lakmal Abeykoon Date: Tue, 7 Mar 2023 05:54:49 +0530 Subject: [PATCH 1/3] feat(sum0): adding SUM0 definition for aggregate functions --- extensions/functions_arithmetic.yaml | 63 ++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/extensions/functions_arithmetic.yaml b/extensions/functions_arithmetic.yaml index eaa66ea23..574e5c58c 100644 --- a/extensions/functions_arithmetic.yaml +++ b/extensions/functions_arithmetic.yaml @@ -922,6 +922,69 @@ aggregate_functions: decomposable: MANY intermediate: fp64? return: fp64? + - name: "sum0" + description: Sum a set of values. The sum of zero elements yields zero. + impls: + - args: + - name: x + value: i8 + options: + overflow: + values: [ SILENT, SATURATE, ERROR ] + nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: i64? + return: i64 + - args: + - name: x + value: i16 + options: + overflow: + values: [ SILENT, SATURATE, ERROR ] + nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: i64? + return: i64 + - args: + - name: x + value: i32 + options: + overflow: + values: [ SILENT, SATURATE, ERROR ] + nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: i64? + return: i64 + - args: + - name: x + value: i64 + options: + overflow: + values: [ SILENT, SATURATE, ERROR ] + nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: i64? + return: i64 + - args: + - name: x + value: fp32 + options: + overflow: + values: [ SILENT, SATURATE, ERROR ] + nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: fp64? + return: fp64 + - args: + - name: x + value: fp64 + options: + overflow: + values: [ SILENT, SATURATE, ERROR ] + nullability: DECLARED_OUTPUT + decomposable: MANY + intermediate: fp64? + return: fp64 - name: "avg" description: Average a set of values. For integral types, this truncates partial values. impls: From ccba4918e0197d9989959543c4f25bc84782320d Mon Sep 17 00:00:00 2001 From: Vibhatha Lakmal Abeykoon Date: Fri, 24 Mar 2023 22:27:11 +0530 Subject: [PATCH 2/3] fix: update description --- extensions/functions_arithmetic.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/extensions/functions_arithmetic.yaml b/extensions/functions_arithmetic.yaml index 574e5c58c..4cced5792 100644 --- a/extensions/functions_arithmetic.yaml +++ b/extensions/functions_arithmetic.yaml @@ -923,7 +923,10 @@ aggregate_functions: intermediate: fp64? return: fp64? - name: "sum0" - description: Sum a set of values. The sum of zero elements yields zero. + description: > + Sum a set of values. The sum of zero elements yields zero. + + Null values are ignored. impls: - args: - name: x From cce01b1e435b6bbe0b203ab596a7b14ba5e61bd2 Mon Sep 17 00:00:00 2001 From: vibhatha Date: Mon, 27 Mar 2023 12:45:25 +0530 Subject: [PATCH 3/3] fix: address reviews --- extensions/functions_arithmetic.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/extensions/functions_arithmetic.yaml b/extensions/functions_arithmetic.yaml index 4cced5792..61573e8de 100644 --- a/extensions/functions_arithmetic.yaml +++ b/extensions/functions_arithmetic.yaml @@ -936,7 +936,7 @@ aggregate_functions: values: [ SILENT, SATURATE, ERROR ] nullability: DECLARED_OUTPUT decomposable: MANY - intermediate: i64? + intermediate: i64 return: i64 - args: - name: x @@ -946,7 +946,7 @@ aggregate_functions: values: [ SILENT, SATURATE, ERROR ] nullability: DECLARED_OUTPUT decomposable: MANY - intermediate: i64? + intermediate: i64 return: i64 - args: - name: x @@ -956,7 +956,7 @@ aggregate_functions: values: [ SILENT, SATURATE, ERROR ] nullability: DECLARED_OUTPUT decomposable: MANY - intermediate: i64? + intermediate: i64 return: i64 - args: - name: x @@ -966,7 +966,7 @@ aggregate_functions: values: [ SILENT, SATURATE, ERROR ] nullability: DECLARED_OUTPUT decomposable: MANY - intermediate: i64? + intermediate: i64 return: i64 - args: - name: x @@ -976,7 +976,7 @@ aggregate_functions: values: [ SILENT, SATURATE, ERROR ] nullability: DECLARED_OUTPUT decomposable: MANY - intermediate: fp64? + intermediate: fp64 return: fp64 - args: - name: x @@ -986,7 +986,7 @@ aggregate_functions: values: [ SILENT, SATURATE, ERROR ] nullability: DECLARED_OUTPUT decomposable: MANY - intermediate: fp64? + intermediate: fp64 return: fp64 - name: "avg" description: Average a set of values. For integral types, this truncates partial values.