Operator =
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_leapfrog), | intent(inout) | :: | lhs | Left hand side. |
||
class(integrator_object), | intent(in) | :: | rhs | Right hand side. |
subroutine integr_assign_integr(lhs, rhs)
!< Operator `=`.
class(integrator_leapfrog), intent(inout) :: lhs !< Left hand side.
class(integrator_object), intent(in) :: rhs !< Right hand side.
call lhs%assign_multistep(rhs=rhs)
select type(rhs)
class is(integrator_leapfrog)
lhs%nu = rhs%nu
lhs%alpha = rhs%alpha
lhs%is_filtered = rhs%is_filtered
if (allocated(lhs%filter)) deallocate(lhs%filter)
if (allocated(rhs%filter)) then
allocate(lhs%filter, mold=rhs%filter)
lhs%filter = rhs%filter
endif
endselect
endsubroutine integr_assign_integr