Skip to main content

FUNCTIONS_LOGARITHMIC

Constant FUNCTIONS_LOGARITHMIC 

Source
pub const FUNCTIONS_LOGARITHMIC: &str = "%YAML 1.2\n---\nurn: extension:io.substrait:functions_logarithmic\nscalar_functions:\n  -\n    name: \"ln\"\n    description: \"Natural logarithm of the value\"\n    impls:\n      - args:\n          - name: x\n            value: i64\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n      - args:\n          - name: x\n            value: fp32\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp32\n      - args:\n          - name: x\n            value: fp64\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n      - args:\n          - name: x\n            value: decimal<P,S>\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [ NAN, ERROR, MINUS_INFINITY ]\n        return: fp64\n  -\n    name: \"log10\"\n    description: \"Logarithm to base 10 of the value\"\n    impls:\n      - args:\n          - name: x\n            value: i64\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n      - args:\n          - name: x\n            value: fp32\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp32\n      - args:\n          - name: x\n            value: fp64\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n      - args:\n          - name: x\n            value: decimal<P,S>\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [ NAN, ERROR, MINUS_INFINITY ]\n        return: fp64\n  -\n    name: \"log2\"\n    description: \"Logarithm to base 2 of the value\"\n    impls:\n      - args:\n          - name: x\n            value: i64\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n      - args:\n          - name: x\n            value: fp32\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp32\n      - args:\n          - name: x\n            value: fp64\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n      - args:\n          - name: x\n            value: decimal<P,S>\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [ NAN, ERROR, MINUS_INFINITY ]\n        return: fp64\n  -\n    name: \"logb\"\n    description: >\n      Logarithm of the value with the given base\n\n      logb(x, b) => log_{b} (x)\n    impls:\n      - args:\n          - value: i64\n            name: \"x\"\n            description: \"The number `x` to compute the logarithm of\"\n          - value: i64\n            name: \"base\"\n            description: \"The logarithm base `b` to use\"\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n      - args:\n          - value: fp32\n            name: \"x\"\n            description: \"The number `x` to compute the logarithm of\"\n          - value: fp32\n            name: \"base\"\n            description: \"The logarithm base `b` to use\"\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp32\n      - args:\n          - value: fp64\n            name: \"x\"\n            description: \"The number `x` to compute the logarithm of\"\n          - value: fp64\n            name: \"base\"\n            description: \"The logarithm base `b` to use\"\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n      - args:\n          - value: decimal<P1,S1>\n            name: \"x\"\n            description: \"The number `x` to compute the logarithm of\"\n          - value: decimal<P1,S1>\n            name: \"base\"\n            description: \"The logarithm base `b` to use\"\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n  -\n    name: \"log1p\"\n    description: >\n      Natural logarithm (base e) of 1 + x\n\n      log1p(x) => log(1+x)\n    impls:\n      - args:\n          - name: x\n            value: fp32\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp32\n      - args:\n          - name: x\n            value: fp64\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n      - args:\n          - name: x\n            value: decimal<P,S>\n        options:\n          rounding:\n            values: [ TIE_TO_EVEN, TIE_AWAY_FROM_ZERO, TRUNCATE, CEILING, FLOOR ]\n          on_domain_error:\n            values: [ NAN, \"NULL\", ERROR ]\n          on_log_zero:\n            values: [NAN, ERROR, MINUS_INFINITY]\n        return: fp64\n";
Expand description

Included source of the functions_logarithmic extension YAML file.