verify actual output against expected
template method with true result iff the difference in state vectors (self - reference) has a norm within tolerance (impure because of internal call to 'subtract' binding) The existence of self procedure eliminates the need to rewrite similar code for every oracle child type.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(oracle_t), | intent(in) | :: | self | |||
class(oracle_t), | intent(in) | :: | reference | |||
real, | intent(in) | :: | tolerance |
result is a norm of the array formed by concatenating the real components of self object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(oracle_t), | intent(in) | :: | self |
result has components corresponding to subtracting rhs's components fron self object's components
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(oracle_t), | intent(in) | :: | self | |||
class(oracle_t), | intent(in) | :: | rhs |
define procedures for testing output values against expected values
procedure, public :: mark_as_defined | |
procedure(norm_interface), public, deferred :: norm | |
generic, public :: operator(-) => subtract | |
procedure(subtract_interface), public, deferred :: subtract | |
procedure, public :: user_defined | |
procedure, public :: within_tolerance | |
generic, public :: write(formatted) => write_formatted | |
procedure(write_interface), public, deferred :: write_formatted |