name: generics
description: a pipeline that does arbitrary calculations using our generic arithmetic builtins
tags:
initialize:
  plugins:
    "sum-zero-and-one":
      path: "builtin"
      method: Sum
      config:
        input-parameters:
          - some-value
          - zero-value
        output-parameter: one-plus-zero
    "sum-zero-and-zero":
      path: "builtin"
      method: Sum
      config:
        input-parameters:
          - zero-value
          - zero-value
        output-parameter: zero-plus-zero
    "subtract-one-and-zero":
      path: "builtin"
      method: Subtract
      config:
        input-parameters:
          - some-value
          - zero-value
        output-parameter: one-minus-zero
    "subtract-zero-and-zero":
      path: "builtin"
      method: Sum
      config:
        input-parameters:
          - zero-value
          - zero-value
        output-parameter: zero-minus-zero
    "subtract-zero-and-one":
      path: "builtin"
      method: Subtract
      config:
        input-parameters:
          - zero-value
          - some-value
        output-parameter: zero-minus-one
    "coefficient-one-times-zero":
      path: "builtin"
      method: Coefficient
      config:
        input-parameter: zero-value
        coefficient: 1
        output-parameter: zero-times-one-coefficient
    "coefficient-zero-times-one":
      path: "builtin"
      method: Coefficient
      config:
        input-parameter: some-value
        coefficient: 0
        output-parameter: one-times-zero-coefficient
    "coefficient-zero-times-zero":
      path: "builtin"
      method: Coefficient
      config:
        input-parameter: zero-value
        coefficient: 0
        output-parameter: zero-times-zero-coefficient
    "multiply-one-times-zero":
      path: "builtin"
      method: Multiply
      config:
        input-parameters: ["some-value", "zero-value"]
        output-parameter: "one-times-zero"
    "multiply-zero-times-one":
      path: "builtin"
      method: Multiply
      config:
        input-parameters: ["zero-value", "zero-value"]
        output-parameter: "zero-times-one"
    exponent-one-to-zero:
      method: Exponent
      path: "builtin"
      config:
        input-parameter: "some-value"
        exponent: 0
        output-parameter: "one-raised-to-zero-power"
    exponent-zero-to-zero:
      method: Exponent
      path: "builtin"
      config:
        input-parameter: "zero-value"
        exponent: 0
        output-parameter: "zero-raised-to-zero-power"
    exponent-zero-to-one:
      method: Exponent
      path: "builtin"
      config:
        input-parameter: "zero-value"
        exponent: 1
        output-parameter: "zero-raised-to-first-power"
    "sci":
      path: "builtin"
      method: Sci
      config:
        functional-unit: "zero-value"
tree:
  children:
    child-1:
      pipeline:
        compute:
          - sum-zero-and-one
          - sum-zero-and-zero
          - subtract-one-and-zero
          - subtract-zero-and-zero
          - subtract-zero-and-one
          - coefficient-one-times-zero
          - coefficient-zero-times-one
          - coefficient-zero-times-zero
          - multiply-one-times-zero
          - multiply-zero-times-one
          - exponent-one-to-zero
          - exponent-zero-to-one
          - exponent-zero-to-zero
          - sci
      inputs:
        - timestamp: "2023-12-12T00:00:00.000Z"
          duration: 1
          some-value: 1
          zero-value: 0
          carbon: 10
