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.