Check if two real (32 bits) arrays (rank 1) are equal.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tester_t), | intent(inout) | :: | this | The tester. |
||
real(kind=real32), | intent(in), | dimension(:) | :: | r1 | Value to compare. |
|
real(kind=real32), | intent(in), | dimension(:) | :: | r2 | Value to compare. |
|
logical, | intent(in), | optional | :: | fail | Fail flag. |
subroutine assert_equal_r32_1(this, r1, r2, fail)
class(tester_t), intent(inout) :: this !< The tester.
real(real32), dimension(:), intent(in) :: r1 !< Value to compare.
real(real32), dimension(:), intent(in) :: r2 !< Value to compare.
logical, intent(in), optional :: fail !< Fail flag.
this% n_tests = this% n_tests + 1
if ( size(r1) .ne. size(r2) ) then
if (.not. present(fail) .or. (present(fail) .and. fail .eqv. .false.)) then
this% n_errors = this% n_errors + 1
end if
else
if ( maxval(abs(r1-r2)) > 0 ) then
if (.not. present(fail) .or. (present(fail) .and. fail .eqv. .false.)) then
this% n_errors = this% n_errors + 1
end if
end if
end if
end subroutine assert_equal_r32_1