/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/cmp/cmptables.lsp                   */
#include <ecl/ecl-cmp.h>
#include "cmp/cmptables.eclh"
/* function definition for MAKE-DISPATCH-TABLE                                */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3351make_dispatch_table(cl_object v1alist)
{
 cl_object T0, T1, T2;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v2hash;
  {
   cl_fixnum v3;
   v3 = ecl_length(v1alist);
   T0 = ecl_times(ecl_make_int8_t(2),ecl_make_fixnum(v3));
   T1 = ((ecl_float_nan_p(T0) || ecl_greatereq(ecl_make_uint8_t(128),T0))?ecl_make_uint8_t(128):T0);
   T2 = (ECL_SYM("EQ",335)->symbol.gfdef);
   v2hash = cl_make_hash_table(4, ECL_SYM("SIZE",1345), T1, ECL_SYM("TEST",1353), T2);
  }
  {
   cl_object v3;
   cl_object v4name;
   cl_object v5function;
   cl_object v6;
   {
    cl_object v7;
    v7 = v1alist;
    if (ecl_unlikely(!ECL_LISTP(v7))) FEtype_error_list(v7);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    v3 = v7;
   }
   v4name = ECL_NIL;
   v5function = ECL_NIL;
   v6 = v3;
L10:;
   if (!(ecl_endp(v6))){
    goto L12;
   }
   goto L11;
L12:;
   {
    cl_object v7;
    v7 = ECL_CONS_CAR(v6);
    v4name = ecl_car(v7);
    v7 = ecl_cdr(v7);
    v5function = v7;
   }
   {
    cl_object v7;
    v7 = ECL_CONS_CDR(v6);
    if (ecl_unlikely(!ECL_LISTP(v7))) FEtype_error_list(v7);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    v6 = v7;
   }
   si_hash_set(v4name, v2hash, v5function);
   goto L10;
L11:;
   value0 = v2hash;
   cl_env_copy->nvalues = 1;
   return value0;
  }
 }
}
static cl_object L3351make_dispatch_table_va(cl_narg narg, cl_object v7alist, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[8]);
 {
  return L3351make_dispatch_table(v7alist);
 }
}
#include "cmp/cmptables.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _ecls6TY3x7UMapr9_kJR0M881(cl_object flag)
{
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 cl_object *VVtemp;
 if (flag != OBJNULL){
 Cblock = flag;
 #ifndef ECL_DYNAMIC_VV
 flag->cblock.data = VV;
 #endif
 flag->cblock.data_size = VM;
 flag->cblock.temp_data_size = VMtemp;
 flag->cblock.data_text = compiler_data_text;
 flag->cblock.cfuns_size = compiler_cfuns_size;
 flag->cblock.cfuns = compiler_cfuns;
 flag->cblock.source = ecl_make_constant_base_string("SRC:CMP;CMPTABLES.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_ecls6TY3x7UMapr9_kJR0M881@";
 VVtemp = Cblock->cblock.temp_data;
 ECL_DEFINE_SETF_FUNCTIONS
 {
  cl_object T0;
  cl_object volatile env0 = ECL_NIL;
/* MAKE-LOAD-FORMs                                                            */
/* TOP-LEVEL-FORMs                                                            */
  si_select_package(VVtemp[0]);
  T0 = cl_make_hash_table(8, ECL_SYM("SIZE",1345), ecl_make_uint8_t(128), ECL_SYM("REHASH-SIZE",1334), _ecl_static_0, ECL_SYM("REHASH-THRESHOLD",1335), _ecl_static_1, ECL_SYM("TEST",1353), ECL_SYM("EQ",335));
  VVtemp[1]=si_hash_table_fill(T0, VVtemp[2]);
  si_Xmake_constant(VV[0], VVtemp[1]);
  si_Xmake_constant(VV[1], VVtemp[3]);
  si_Xmake_constant(VV[2], VVtemp[4]);
  si_Xmake_constant(VV[3], VVtemp[5]);
  si_Xmake_constant(VV[4], VVtemp[6]);
  si_Xmake_constant(VV[5], VVtemp[7]);
  si_Xmake_constant(VV[6], VVtemp[8]);
  si_Xmake_constant(VV[7], VVtemp[9]);
  ecl_cmp_defun(VV[21]);                          /*  MAKE-DISPATCH-TABLE     */
  si_Xmake_special(VV[12]);
  T0 = L3351make_dispatch_table(ecl_cmp_symbol_value(cl_env_copy,VV[1]));
  ecl_cmp_setq(cl_env_copy,VV[12],T0);
  si_Xmake_special(VV[13]);
  T0 = L3351make_dispatch_table(ecl_cmp_symbol_value(cl_env_copy,VV[2]));
  ecl_cmp_setq(cl_env_copy,VV[13],T0);
  si_Xmake_special(VV[14]);
  T0 = L3351make_dispatch_table(ecl_cmp_symbol_value(cl_env_copy,VV[5]));
  ecl_cmp_setq(cl_env_copy,VV[14],T0);
  si_Xmake_special(VV[15]);
  T0 = L3351make_dispatch_table(ecl_cmp_symbol_value(cl_env_copy,VV[3]));
  ecl_cmp_setq(cl_env_copy,VV[15],T0);
  si_Xmake_special(VV[16]);
  T0 = L3351make_dispatch_table(ecl_cmp_symbol_value(cl_env_copy,VV[4]));
  ecl_cmp_setq(cl_env_copy,VV[16],T0);
  si_Xmake_special(VV[17]);
  T0 = L3351make_dispatch_table(ecl_cmp_symbol_value(cl_env_copy,VV[6]));
  ecl_cmp_setq(cl_env_copy,VV[17],T0);
  si_Xmake_special(VV[18]);
  T0 = L3351make_dispatch_table(ecl_cmp_symbol_value(cl_env_copy,VV[7]));
  ecl_cmp_setq(cl_env_copy,VV[18],T0);
  si_Xmake_special(VV[19]);
  T0 = L3351make_dispatch_table(ECL_NIL);
  ecl_cmp_setq(cl_env_copy,VV[19],T0);
  si_Xmake_special(VV[20]);
  T0 = L3351make_dispatch_table(ECL_NIL);
  ecl_cmp_setq(cl_env_copy,VV[20],T0);
 }
}
