! as_mdt_def.for - Aligned Structure for Multiple Data Types
!
! low_byte_def.for must be included before including as_mdt_def.for
!	include		'low_byte_def.for'
!
$IF ABSOFT_FORTRAN
	integer*4	max_ints
	integer*4	max_floats
	integer*4	max_doubles
	integer*4	max_bytes
	parameter	(max_ints = 4096*2)
	parameter	(max_floats = max_ints)
	parameter	(max_doubles = max_ints/2)
	parameter	(max_bytes = max_ints*4)
$ELSE
	parameter	max_ints = 4096*2
	parameter	max_floats = max_ints
	parameter	max_doubles = max_ints/2
	parameter	max_bytes = max_ints*4
$ENDIF
	structure /multi_data_types/
	   union
	   map
	      integer*4	i4(max_ints)
	   end map
	   map
	      integer*2	i2(max_ints*2)
	   end map
	   map
	      real*4	r4(max_floats)
	   end map
	   map
	      real*8	r8(max_doubles)
	   end map
	   map
	      byte	b(max_bytes)
	   end map
	   map
	      character*(max_bytes)	c
	   end map
	   end union
	end structure

	structure /multi_type/
	   union
	   map
	      integer*4	i4
	      integer*4	i4_2nd
	   end map
	   map
	      integer*2	i2
	      integer*2	i2_2nd
	      integer*2	i2_3rd
	      integer*2	i2_4th
	   end map
	   map
	      real*4	r4
	      real*4	r4_2nd
	   end map
	   map
	      real*8	r8
	   end map
	   map
	      byte	b1,b2,b3,b4
	   end map
	   map
	      record /low_byte/ lb 
	   end map
	   end union
	end structure
