# ScalarTernaryExpression

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.