Skip to content

ScalarTernaryExpression


abstract class ScalarTernaryExpression<Left, Middle, Right, LeftValue, MiddleValue, RightValue, LeftGradient, MiddleGradient, RightGradient, Value>(a:Left, b:Middle, c:Right) < ScalarExpression<Value>

Scalar ternary expression.

  • Left: Left argument type. Should derive from Expression<...>.
  • Middle: Middle argument type. Should derive from Expression<...>.
  • Right: Right argument type. Should derive from Expression<...>.
  • LeftValue: Left value type. This is the type to which the left argument evaluates.
  • MiddleValue: Middle value type. This is the type to which the middle argument evaluates.
  • RightValue: Right value type. This is the type to which the right argument evaluates.
  • LeftGradient: Left upstream gradient type. This is the type of the upstream gradient that the left argument accepts. It should be Real, Real[_], or Real[_,_].
  • MiddleGradient: Middle upstream gradient type. This is the type of the upstream gradient that the middle argument accepts. It should be Real, Real[_], or Real[_,_].
  • RightGradient: Right upstrem gradient type. This is the type of the upstream gradient that the right argument accepts. It should be Real, Real[_], or Real[_,_].
  • Value: The type to which the expression evaluates.

Member Variables

Name Description
a:Left? Left argument.
b:Middle? Middle argument.
c:Right? Right argument.