Check the type of bit ordering (big or little endian) of the running architecture.
@note Note The result is stored into the endian global variable.
use penf
call check_endian
print *, endian
subroutine check_endian() !< Check the type of bit ordering (big or little endian) of the running architecture. !< !> @note The result is stored into the *endian* global variable. !< !<```fortran !< use penf !< call check_endian !< print *, endian !<``` !=> 1 <<< if (is_little_endian()) then endian = endianL else endian = endianB endif contains pure function is_little_endian() result(is_little) !< Check if the type of the bit ordering of the running architecture is little endian. logical :: is_little !< Logical output: true is the running architecture uses little endian ordering, false otherwise. integer(I1P) :: int1(1:4) !< One byte integer array for casting 4 bytes integer. int1 = transfer(1_I4P, int1) is_little = (int1(1)==1_I1P) endfunction is_little_endian endsubroutine check_endian