!-----------------------------------------------------------------------
!  ALAD_EVAL -- EVALUATE ALADDIN CROSS SECTION FIT
!
SUBROUTINE ALAD_EVAL_Z(ZX,ZY,INUM,IER)
  use iso_c_binding, only: fp => c_double
  use alpcom_mod
  use alcom_mod
  implicit none
!
  integer ier,inum
  real(fp) ZX(INUM)  ! INPUT EVALUATION POINTS
  real(fp) ZY(INUM)  ! OUTPUT EVALUATION RESULTS
  EXTERNAL ALMEWE_Z, ALCHEB_Z, ALKING_Z, ALPHACX_Z
  EXTERNAL ALJAN1_Z, ALBELI_Z
  real(fp) PERUNC, ZX1, ZX2
  real(fp) ETH
!
!-----  GAMMA, CLINE, CTARGT, CION ARE VARIABLES
!-----         FOR FUNCTION TABSPY
!
  real(fp) GAMMA
  CHARACTER*2  CTARGT, CION
!
!-----  Q, ELOW AND EHIGH ARE VARAIABLES FOR FUNCTION ALPHACX
!
  real(fp) Q, ELOW, EHIGH
!
  real(fp) XRANGE(10)
!
!-------------------------------------------------------------------
!
  IF(BL(NBL) .EQ. '#MEWE') THEN
     CALL ALAD_EVXY_Z(ALMEWE_Z,ZX,ZY,INUM)
  ELSE IF(BL(NBL) .EQ. '#BELI') THEN
     CALL ALAD_EVXY_Z(ALBELI_Z,ZX,ZY,INUM)
  ELSE IF(BL(NBL) .EQ. '#CHEB') THEN
     CALL ALAD_EVXY_Z(ALCHEB_Z,ZX,ZY,INUM)
  ELSE IF(BL(NBL) .EQ. '#KINGEX') THEN
     CALL ALAD_EVXY_Z(ALKING_Z,ZX,ZY,INUM)
  ELSE IF(BL(NBL) .EQ. '#JAN1') THEN
     CALL ALAD_EVXY_Z(ALJAN1_Z,ZX,ZY,INUM)
  ELSE
     WRITE(LUTOUT,&
          '(/'' ALAD_EVAL:  EVALUATION CURRENTLY UNAVAILABLE'')')
     IER=1
     return
  ENDIF
!
  IER=0
!
!------------------------------------
!
  RETURN
!
END SUBROUTINE ALAD_EVAL_Z
