Skip to content

unsigned_integers.yaml

This document file is generated for unsigned_integers.yaml. The extension URN is extension:io.substrait:unsigned_integers.

Data Types

name: u8 description: Unsigned 8-bit integer (0 to 255). Values are encoded as decimal strings in the structure representation.

structure: {‘value’: ‘string’} name: u16 description: Unsigned 16-bit integer (0 to 65535). Values are encoded as decimal strings in the structure representation.

structure: {‘value’: ‘string’} name: u32 description: Unsigned 32-bit integer (0 to 4294967295). Values are encoded as decimal strings in the structure representation.

structure: {‘value’: ‘string’} name: u64 description: Unsigned 64-bit integer (0 to 18446744073709551615). Values are encoded as decimal strings in the structure representation.

structure: {‘value’: ‘string’}

Scalar Functions

add

Add two unsigned integer values.

Implementations:

  • add(x: u!u8, y: u!u8, option:overflow): -> u!u8
  • add(x: u!u16, y: u!u16, option:overflow): -> u!u16
  • add(x: u!u32, y: u!u32, option:overflow): -> u!u32
  • add(x: u!u64, y: u!u64, option:overflow): -> u!u64
Options:
  • overflow ['SILENT', 'SATURATE', 'ERROR']
  • subtract

    Subtract one unsigned integer value from another.

    Implementations:

    • subtract(x: u!u8, y: u!u8, option:overflow): -> u!u8
    • subtract(x: u!u16, y: u!u16, option:overflow): -> u!u16
    • subtract(x: u!u32, y: u!u32, option:overflow): -> u!u32
    • subtract(x: u!u64, y: u!u64, option:overflow): -> u!u64
    Options:
  • overflow ['SILENT', 'SATURATE', 'ERROR']
  • multiply

    Multiply two unsigned integer values.

    Implementations:

    • multiply(x: u!u8, y: u!u8, option:overflow): -> u!u8
    • multiply(x: u!u16, y: u!u16, option:overflow): -> u!u16
    • multiply(x: u!u32, y: u!u32, option:overflow): -> u!u32
    • multiply(x: u!u64, y: u!u64, option:overflow): -> u!u64
    Options:
  • overflow ['SILENT', 'SATURATE', 'ERROR']
  • divide

    Divide x by y. Partial values are truncated (i.e. rounded towards 0). The on_division_by_zero option governs behavior in cases where y is 0. If either x or y are out of range, behavior will be governed by on_domain_error.

    Implementations:

    • divide(x: u!u8, y: u!u8, option:on_domain_error, option:on_division_by_zero): -> u!u8
    • divide(x: u!u16, y: u!u16, option:on_domain_error, option:on_division_by_zero): -> u!u16
    • divide(x: u!u32, y: u!u32, option:on_domain_error, option:on_division_by_zero): -> u!u32
    • divide(x: u!u64, y: u!u64, option:on_domain_error, option:on_division_by_zero): -> u!u64
    Options:
  • on_division_by_zero ['NULL', 'ERROR']
  • on_domain_error ['NULL', 'ERROR']
  • Aggregate Functions

    sum

    Sum a set of unsigned integer values. The sum of zero elements yields null.

    Implementations:

    • sum(x: u!u8, option:overflow): -> u!u64?
    • sum(x: u!u16, option:overflow): -> u!u64?
    • sum(x: u!u32, option:overflow): -> u!u64?
    • sum(x: u!u64, option:overflow): -> u!u64?
    Options:
  • overflow ['SILENT', 'SATURATE', 'ERROR']
  • min

    Min of a set of unsigned integer values.

    Implementations:

    • min(x: u!u8): -> u!u8?
    • min(x: u!u16): -> u!u16?
    • min(x: u!u32): -> u!u32?
    • min(x: u!u64): -> u!u64?

    max

    Max of a set of unsigned integer values.

    Implementations:

    • max(x: u!u8): -> u!u8?
    • max(x: u!u16): -> u!u16?
    • max(x: u!u32): -> u!u32?
    • max(x: u!u64): -> u!u64?