Operator +.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_compressible), | intent(in) | :: | lhs | Left hand side. |
||
| class(primitive_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
function add(lhs, rhs) result(operator_result)
!< Operator `+`.
class(primitive_compressible), intent(in) :: lhs !< Left hand side.
class(primitive_object), intent(in) :: rhs !< Right hand side.
class(primitive_object), allocatable :: operator_result !< Operator result.
allocate(primitive_compressible :: operator_result)
select type(operator_result)
class is(primitive_compressible)
operator_result = lhs
select type(rhs)
class is (primitive_compressible)
operator_result%density = lhs%density + rhs%density
operator_result%velocity = lhs%velocity + rhs%velocity
operator_result%pressure = lhs%pressure + rhs%pressure
endselect
endselect
endfunction add