16#include "../../base/base_uses.f90"
18 USE libxs,
ONLY: libxs_diff
21# define PURE_ARRAY_EQ PURE
27 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'dbt_tas_util'
32 MODULE PROCEDURE swap_i8
33 MODULE PROCEDURE swap_i
37 MODULE PROCEDURE array_eq_i8
38 MODULE PROCEDURE array_eq_i
48 SUBROUTINE swap_i8(arr)
49 INTEGER(KIND=int_8),
DIMENSION(2),
INTENT(INOUT) :: arr
51 INTEGER(KIND=int_8) :: tmp
63 SUBROUTINE swap_i(arr)
64 INTEGER,
DIMENSION(2),
INTENT(INOUT) :: arr
80 pure_array_eq
FUNCTION array_eq_i(arr1, arr2)
81 INTEGER,
DIMENSION(:),
INTENT(IN) :: arr1, arr2
85 array_eq_i = .NOT. libxs_diff(arr1, arr2)
88 IF (
SIZE(arr1) ==
SIZE(arr2)) array_eq_i = all(arr1 == arr2)
99 pure_array_eq
FUNCTION array_eq_i8(arr1, arr2)
100 INTEGER(KIND=int_8),
DIMENSION(:),
INTENT(IN) :: arr1, arr2
101 LOGICAL :: array_eq_i8
104 array_eq_i8 = .NOT. libxs_diff(arr1, arr2)
106 array_eq_i8 = .false.
107 IF (
SIZE(arr1) ==
SIZE(arr2)) array_eq_i8 = all(arr1 == arr2)
often used utilities for tall-and-skinny matrices
Defines the basic variable types.
integer, parameter, public int_8
integer, parameter, public int_4
All kind of helpful little routines.