3 ! Part of PR 51946, but breaks easily, therefore introduce its own test
4 ! Authors: Damian Rouson <damian@sourceryinstitute.org>,
5 ! Dominique Pelletier <dominique.pelletier@polymtl.ca>
6 ! Contributed by: Andre Vehreschild <vehre@gcc.gnu.org>
8 module integrable_model_module
12 type, abstract
, public
:: integrable_model
14 procedure(default_constructor
), deferred
:: empty_instance
18 function default_constructor(this
) result(blank_slate
)
19 import
:: integrable_model
20 class(integrable_model
), intent(in
) :: this
21 class(integrable_model
), allocatable
:: blank_slate
27 subroutine integrate(this
)
28 class(integrable_model
), intent(inout
) :: this
29 class(integrable_model
), allocatable
:: residual
30 allocate(residual
, source
=this
%empty_instance())
33 end module integrable_model_module