@@ -7,9 +7,9 @@ module wenoof_interpolator_object
77#else
88use penf, only: RPP= >R8 P
99#endif
10- use wenoof_base_object
11- use wenoof_interpolations_object
12- use wenoof_weights_object
10+ use wenoof_base_object, only : base_object, base_object_constructor
11+ use wenoof_interpolations_object, only : interpolations_object, interpolations_object_constructor
12+ use wenoof_weights_object, only : weights_object, weights_object_constructor
1313
1414implicit none
1515private
@@ -32,56 +32,51 @@ module wenoof_interpolator_object
3232 class(weights_object), allocatable :: weights ! < Weights of interpolations.
3333 contains
3434 ! public methods
35- generic :: interpolate = > interpolate_with_stencil_of_rank_1_debug , interpolate_with_stencil_of_rank_2_debug , &
36- interpolate_with_stencil_of_rank_1_standard, interpolate_with_stencil_of_rank_2_standard
35+ generic :: interpolate = > interpolate_int_debug , interpolate_rec_debug , &
36+ interpolate_int_standard, interpolate_rec_standard ! < Interpolate.
3737 ! public deferred methods
38- procedure (interpolate_with_stencil_of_rank_1_debug_interface), pass(self), &
39- deferred :: interpolate_with_stencil_of_rank_1_debug
40- procedure (interpolate_with_stencil_of_rank_2_debug_interface), pass(self), &
41- deferred :: interpolate_with_stencil_of_rank_2_debug
42- procedure (interpolate_with_stencil_of_rank_1_standard_interface), pass(self), &
43- deferred :: interpolate_with_stencil_of_rank_1_standard
44- procedure (interpolate_with_stencil_of_rank_2_standard_interface), pass(self), &
45- deferred :: interpolate_with_stencil_of_rank_2_standard
38+ procedure (interpolate_int_debug_interface), pass(self), deferred :: interpolate_int_debug ! < Interpolate (int) debug.
39+ procedure (interpolate_int_standard_interface), pass(self), deferred :: interpolate_int_standard ! < Interpolate (int) standard.
40+ procedure (interpolate_rec_debug_interface), pass(self), deferred :: interpolate_rec_debug ! < Interpolate (rec) debug.
41+ procedure (interpolate_rec_standard_interface), pass(self), deferred :: interpolate_rec_standard ! < Interpolate (rec) standard.
4642endtype interpolator_object
4743
4844abstract interface
4945 ! < Abstract interfaces of [[interpolator_object]].
50- pure subroutine interpolate_with_stencil_of_rank_1_debug_interface (self , stencil , interpolation , si , weights )
51- ! < Interpolate values (providing also debug values).
46+ pure subroutine interpolate_int_debug_interface (self , stencil , interpolation , si , weights )
47+ ! < Interpolate (interpolate) values (providing also debug values).
5248 import :: interpolator_object, RPP
53- class(interpolator_object), intent (inout ) :: self ! < Interpolator.
54- real (RPP), intent (in ) :: stencil(1 - self% S:) ! < Stencil of the interpolation [1-S:-1+S].
55- real (RPP), intent (out ) :: interpolation ! < Result of the interpolation.
56- real (RPP), intent (out ) :: si(0 :) ! < Computed values of smoothness indicators [0:S-1].
57- real (RPP), intent (out ) :: weights(0 :) ! < Weights of the stencils, [0:S-1].
58- end subroutine interpolate_with_stencil_of_rank_1_debug_interface
49+ class(interpolator_object), intent (in ) :: self ! < Interpolator.
50+ real (RPP), intent (in ) :: stencil(1 - self% S:) ! < Stencil of the interpolation [1-S:-1+S].
51+ real (RPP), intent (out ) :: interpolation ! < Result of the interpolation.
52+ real (RPP), intent (out ) :: si(0 :) ! < Computed values of smoothness indicators [0:S-1].
53+ real (RPP), intent (out ) :: weights(0 :) ! < Weights of the stencils, [0:S-1].
54+ end subroutine interpolate_int_debug_interface
5955
60- pure subroutine interpolate_with_stencil_of_rank_2_debug_interface (self , stencil , interpolation , si , weights )
61- ! < Interpolate values (providing also debug values).
56+ pure subroutine interpolate_int_standard_interface (self , stencil , interpolation )
57+ ! < Interpolate (interpolate) values (without providing debug values).
6258 import :: interpolator_object, RPP
63- class(interpolator_object), intent (inout ) :: self ! < Interpolator.
64- real (RPP), intent (in ) :: stencil(1 :, 1 - self% S:) ! < Stencil of the interpolation [1:2, 1-S:-1+S].
65- real (RPP), intent (out ) :: interpolation(1 :) ! < Result of the interpolation, [1:2].
66- real (RPP), intent (out ) :: si(1 :, 0 :) ! < Computed values of smoothness indicators [1:2, 0:S-1].
67- real (RPP), intent (out ) :: weights(1 :, 0 :) ! < Weights of the stencils, [1:2, 0:S-1].
68- end subroutine interpolate_with_stencil_of_rank_2_debug_interface
59+ class(interpolator_object), intent (in ) :: self ! < Interpolator.
60+ real (RPP), intent (in ) :: stencil(1 - self% S:) ! < Stencil of the interpolation [1-S:-1+S].
61+ real (RPP), intent (out ) :: interpolation ! < Result of the interpolation.
62+ end subroutine interpolate_int_standard_interface
6963
70- pure subroutine interpolate_with_stencil_of_rank_1_standard_interface (self , stencil , interpolation )
71- ! < Interpolate values (without providing debug values).
64+ pure subroutine interpolate_rec_debug_interface (self , stencil , interpolation , si , weights )
65+ ! < Interpolate (reconstruct) values (providing also debug values).
7266 import :: interpolator_object, RPP
73- class(interpolator_object), intent (inout ) :: self ! < Interpolator.
74- real (RPP), intent (in ) :: stencil(1 - self% S:) ! < Stencil of the interpolation [1-S:-1+S].
75- real (RPP), intent (out ) :: interpolation ! < Result of the interpolation.
76- end subroutine interpolate_with_stencil_of_rank_1_standard_interface
67+ class(interpolator_object), intent (in ) :: self ! < Interpolator.
68+ real (RPP), intent (in ) :: stencil(1 :, 1 - self% S:) ! < Stencil of the interpolation [1:2, 1-S:-1+S].
69+ real (RPP), intent (out ) :: interpolation(1 :) ! < Result of the interpolation, [1:2].
70+ real (RPP), intent (out ) :: si(1 :, 0 :) ! < Computed values of smoothness indicators [1:2, 0:S-1].
71+ real (RPP), intent (out ) :: weights(1 :, 0 :) ! < Weights of the stencils, [1:2, 0:S-1].
72+ end subroutine interpolate_rec_debug_interface
7773
78- pure subroutine interpolate_with_stencil_of_rank_2_standard_interface (self , stencil , interpolation )
79- ! < Interpolate values (without providing debug values).
74+ pure subroutine interpolate_rec_standard_interface (self , stencil , interpolation )
75+ ! < Interpolate (reconstruct) values (without providing debug values).
8076 import :: interpolator_object, RPP
81- class(interpolator_object), intent (inout ) :: self ! < Interpolator.
82- real (RPP), intent (in ) :: stencil(1 :, 1 - self% S:) ! < Stencil of the interpolation [1:2, 1-S:-1+S].
83- real (RPP), intent (out ) :: interpolation(1 :) ! < Result of the interpolation, [1:2].
84- end subroutine interpolate_with_stencil_of_rank_2_standard_interface
77+ class(interpolator_object), intent (in ) :: self ! < Interpolator.
78+ real (RPP), intent (in ) :: stencil(1 :, 1 - self% S:) ! < Stencil of the interpolation [1:2, 1-S:-1+S].
79+ real (RPP), intent (out ) :: interpolation(1 :) ! < Result of the interpolation, [1:2].
80+ end subroutine interpolate_rec_standard_interface
8581endinterface
86-
8782endmodule wenoof_interpolator_object
0 commit comments