/*===========================================================================*/
/*   (Llib/custom.scm)                                                       */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -O3 -mklib -cc gcc-2.95 -fsharing -q -rm -s -unsafev -eval (set! *indent* 4) -copt -DBGL_NO_PIC -g -c Llib/custom.scm -indent -o objs/obj_s/Llib/custom.c)*/
/* GC selection */
#define THE_GC BOEHM_GC

/* debug mode */
#define BIGLOO_DEBUG 1

#include <bigloo.h>
#include <signal.h>

BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__customz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
static obj_t BGl__customzf3zf3zz__customz00(obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zz__customz00();
extern obj_t string_to_symbol(char *);
BGL_EXPORTED_DECL bool_t BGl_customzf3zf3zz__customz00(obj_t);
static obj_t BGl_symbol1795z00zz__customz00 = BUNSPEC;
static obj_t BGl_symbol1793z00zz__customz00 = BUNSPEC;
static obj_t BGl_symbol1792z00zz__customz00 = BUNSPEC;
static obj_t BGl_symbol1790z00zz__customz00 = BUNSPEC;
static obj_t BGl_symbol1789z00zz__customz00 = BUNSPEC;
static obj_t BGl_symbol1788z00zz__customz00 = BUNSPEC;
static obj_t BGl_symbol1787z00zz__customz00 = BUNSPEC;
static obj_t BGl_symbol1784z00zz__customz00 = BUNSPEC;
static obj_t BGl_symbol1783z00zz__customz00 = BUNSPEC;
static obj_t BGl_symbol1782z00zz__customz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_customzd2identifierzd2setz12z12zz__customz00(obj_t, char *);
static obj_t BGl_importedzd2moduleszd2initz00zz__customz00();
static obj_t BGl__customzd2identifierzd2setz12z12zz__customz00(obj_t, obj_t, obj_t);
static obj_t BGl__customzd2identifierzd2zz__customz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_customzd2hashzd2zz__customz00(obj_t, int);
extern obj_t BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__customz00 = BUNSPEC;
BGL_EXPORTED_DECL bool_t BGl_customzd2equalzf3z21zz__customz00(obj_t, obj_t);
BGL_EXPORTED_DECL char * BGl_customzd2identifierzd2zz__customz00(obj_t);
extern obj_t string_to_bstring(char *);
static obj_t BGl__customzd2hashzd2zz__customz00(obj_t, obj_t, obj_t);
static obj_t BGl__customzd2equalzf3z21zz__customz00(obj_t, obj_t, obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_customzd2equalzf3zd2envzf3zz__customz00, BgL_bgl__customza7d2equalza7f3za721za7za7__customza7001804z00, BGl__customzd2equalzf3z21zz__customz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_customzd2hashzd2envz00zz__customz00, BgL_bgl__customza7d2hashza7d2za7za7__customza7001805za7, BGl__customzd2hashzd2zz__customz00, 0L, 2 );
DEFINE_STRING( BGl_string1794z00zz__customz00, BgL_bgl_string1794za700za7za7__customza7001806z00, "int", 3 );
DEFINE_STRING( BGl_string1791z00zz__customz00, BgL_bgl_string1791za700za7za7__customza7001807z00, "string", 6 );
DEFINE_STRING( BGl_string1786z00zz__customz00, BgL_bgl_string1786za700za7za7__customza7001808z00, "/tmp/bigloo/runtime/./Llib/custom.scm", 37 );
DEFINE_STRING( BGl_string1785z00zz__customz00, BgL_bgl_string1785za700za7za7__customza7001809z00, "custom", 6 );
DEFINE_EXPORT_PROCEDURE( BGl_customzd2identifierzd2setz12zd2envzc0zz__customz00, BgL_bgl__customza7d2identifierza7d2setza712za712za7za7__customza7001810za7, BGl__customzd2identifierzd2setz12z12zz__customz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_customzd2identifierzd2envz00zz__customz00, BgL_bgl__customza7d2identifierza7d2za7za7__customza7001811za7, BGl__customzd2identifierzd2zz__customz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_customzf3zd2envz21zz__customz00, BgL_bgl__customza7f3za7f3za7za7__customza7001812za7, BGl__customzf3zf3zz__customz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__customz00(long BgL_checksumz00_581, char * BgL_fromz00_582)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__customz00))
{ 
BGl_requirezd2initializa7ationz75zz__customz00 = 
BBOOL(((bool_t)0)); 
BGl_cnstzd2initzd2zz__customz00(); 
BGl_importedzd2moduleszd2initz00zz__customz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__customz00()
{ AN_OBJECT;
{ /* ./Llib/custom.scm 14 */
BGl_symbol1782z00zz__customz00 = 
string_to_symbol("custom?"); 
BGl_symbol1783z00zz__customz00 = 
string_to_symbol("custom-equal?"); 
BGl_symbol1784z00zz__customz00 = 
string_to_symbol("_custom-equal?"); 
BGl_symbol1787z00zz__customz00 = 
string_to_symbol("custom-identifier"); 
BGl_symbol1788z00zz__customz00 = 
string_to_symbol("_custom-identifier"); 
BGl_symbol1789z00zz__customz00 = 
string_to_symbol("custom-identifier-set!"); 
BGl_symbol1790z00zz__customz00 = 
string_to_symbol("_custom-identifier-set!"); 
BGl_symbol1792z00zz__customz00 = 
string_to_symbol("custom-hash"); 
BGl_symbol1793z00zz__customz00 = 
string_to_symbol("_custom-hash"); 
return ( 
BGl_symbol1795z00zz__customz00 = 
string_to_symbol("%import@__custom"), BUNSPEC) ;} 
}



/* custom? */
BGL_EXPORTED_DEF bool_t BGl_customzf3zf3zz__customz00(obj_t BgL_objz00_1)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 75 */
{ /* ./Llib/custom.scm 76 */
obj_t BgL_symbol1676z00_556;
BgL_symbol1676z00_556 = BGl_symbol1782z00zz__customz00; 
{ /* ./Llib/custom.scm 76 */

PUSH_TRACE(BgL_symbol1676z00_556); BUNSPEC; 
{ /* ./Llib/custom.scm 76 */
bool_t BgL_aux1675z00_557;
BgL_aux1675z00_557 = 
CUSTOMP(BgL_objz00_1); 
POP_TRACE(); 
return BgL_aux1675z00_557;} } } } 
}



/* _custom? */
obj_t BGl__customzf3zf3zz__customz00(obj_t BgL_envz00_529, obj_t BgL_objz00_530)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 75 */
{ /* ./Llib/custom.scm 76 */
bool_t BgL_auxz00_601;
{ /* ./Llib/custom.scm 76 */
bool_t BgL_res1796z00_561;
{ /* ./Llib/custom.scm 76 */
obj_t BgL_symbol1676z00_559;
BgL_symbol1676z00_559 = BGl_symbol1782z00zz__customz00; 
{ /* ./Llib/custom.scm 76 */

PUSH_TRACE(BgL_symbol1676z00_559); BUNSPEC; 
{ /* ./Llib/custom.scm 76 */
bool_t BgL_aux1675z00_560;
BgL_aux1675z00_560 = 
CUSTOMP(BgL_objz00_530); 
POP_TRACE(); 
BgL_res1796z00_561 = BgL_aux1675z00_560; } } } 
BgL_auxz00_601 = BgL_res1796z00_561; } 
return 
BBOOL(BgL_auxz00_601);} } 
}



/* custom-equal? */
BGL_EXPORTED_DEF bool_t BGl_customzd2equalzf3z21zz__customz00(obj_t BgL_obj1z00_2, obj_t BgL_obj2z00_3)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 81 */
{ /* ./Llib/custom.scm 82 */
obj_t BgL_symbol1680z00_562;
BgL_symbol1680z00_562 = BGl_symbol1783z00zz__customz00; 
{ /* ./Llib/custom.scm 82 */

PUSH_TRACE(BgL_symbol1680z00_562); BUNSPEC; 
{ /* ./Llib/custom.scm 82 */
bool_t BgL_aux1679z00_563;
BgL_aux1679z00_563 = 
CUSTOM_CMP(BgL_obj1z00_2, BgL_obj2z00_3); 
POP_TRACE(); 
return BgL_aux1679z00_563;} } } } 
}



/* _custom-equal? */
obj_t BGl__customzd2equalzf3z21zz__customz00(obj_t BgL_envz00_531, obj_t BgL_obj1z00_532, obj_t BgL_obj2z00_533)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 81 */
{ /* ./Llib/custom.scm 82 */
bool_t BgL_auxz00_609;
{ /* ./Llib/custom.scm 82 */
bool_t BgL_res1797z00_568;
{ /* ./Llib/custom.scm 82 */
obj_t BgL_obj1z00_564;obj_t BgL_obj2z00_565;
if(
CUSTOMP(BgL_obj1z00_532))
{ /* ./Llib/custom.scm 82 */
BgL_obj1z00_564 = BgL_obj1z00_532; }  else 
{ /* ./Llib/custom.scm 82 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1784z00zz__customz00, BGl_string1785z00zz__customz00, BgL_obj1z00_532, BGl_string1786z00zz__customz00, 
BINT(((long)3103))); 
exit( -1 );} 
if(
CUSTOMP(BgL_obj2z00_533))
{ /* ./Llib/custom.scm 82 */
BgL_obj2z00_565 = BgL_obj2z00_533; }  else 
{ /* ./Llib/custom.scm 82 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1784z00zz__customz00, BGl_string1785z00zz__customz00, BgL_obj2z00_533, BGl_string1786z00zz__customz00, 
BINT(((long)3103))); 
exit( -1 );} 
{ /* ./Llib/custom.scm 82 */
obj_t BgL_symbol1680z00_566;
BgL_symbol1680z00_566 = BGl_symbol1783z00zz__customz00; 
{ /* ./Llib/custom.scm 82 */

PUSH_TRACE(BgL_symbol1680z00_566); BUNSPEC; 
{ /* ./Llib/custom.scm 82 */
bool_t BgL_aux1679z00_567;
BgL_aux1679z00_567 = 
CUSTOM_CMP(BgL_obj1z00_564, BgL_obj2z00_565); 
POP_TRACE(); 
BgL_res1797z00_568 = BgL_aux1679z00_567; } } } } 
BgL_auxz00_609 = BgL_res1797z00_568; } 
return 
BBOOL(BgL_auxz00_609);} } 
}



/* custom-identifier */
BGL_EXPORTED_DEF char * BGl_customzd2identifierzd2zz__customz00(obj_t BgL_customz00_4)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 87 */
{ /* ./Llib/custom.scm 88 */
obj_t BgL_symbol1684z00_569;
BgL_symbol1684z00_569 = BGl_symbol1787z00zz__customz00; 
{ /* ./Llib/custom.scm 88 */

PUSH_TRACE(BgL_symbol1684z00_569); BUNSPEC; 
{ /* ./Llib/custom.scm 88 */
char * BgL_aux1683z00_570;
BgL_aux1683z00_570 = 
CUSTOM_IDENTIFIER(BgL_customz00_4); 
POP_TRACE(); 
return BgL_aux1683z00_570;} } } } 
}



/* _custom-identifier */
obj_t BGl__customzd2identifierzd2zz__customz00(obj_t BgL_envz00_534, obj_t BgL_customz00_535)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 87 */
{ /* ./Llib/custom.scm 88 */
char * BgL_auxz00_627;
{ /* ./Llib/custom.scm 88 */
char * BgL_res1798z00_574;
{ /* ./Llib/custom.scm 88 */
obj_t BgL_customz00_571;
if(
CUSTOMP(BgL_customz00_535))
{ /* ./Llib/custom.scm 88 */
BgL_customz00_571 = BgL_customz00_535; }  else 
{ /* ./Llib/custom.scm 88 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1788z00zz__customz00, BGl_string1785z00zz__customz00, BgL_customz00_535, BGl_string1786z00zz__customz00, 
BINT(((long)3416))); 
exit( -1 );} 
{ /* ./Llib/custom.scm 88 */
obj_t BgL_symbol1684z00_572;
BgL_symbol1684z00_572 = BGl_symbol1787z00zz__customz00; 
{ /* ./Llib/custom.scm 88 */

PUSH_TRACE(BgL_symbol1684z00_572); BUNSPEC; 
{ /* ./Llib/custom.scm 88 */
char * BgL_aux1683z00_573;
BgL_aux1683z00_573 = 
CUSTOM_IDENTIFIER(BgL_customz00_571); 
POP_TRACE(); 
BgL_res1798z00_574 = BgL_aux1683z00_573; } } } } 
BgL_auxz00_627 = BgL_res1798z00_574; } 
return 
string_to_bstring(BgL_auxz00_627);} } 
}



/* custom-identifier-set! */
BGL_EXPORTED_DEF obj_t BGl_customzd2identifierzd2setz12z12zz__customz00(obj_t BgL_customz00_5, char * BgL_strz00_6)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 93 */
{ /* ./Llib/custom.scm 94 */
obj_t BgL_symbol1688z00_575;
BgL_symbol1688z00_575 = BGl_symbol1789z00zz__customz00; 
{ /* ./Llib/custom.scm 94 */

PUSH_TRACE(BgL_symbol1688z00_575); BUNSPEC; 
{ /* ./Llib/custom.scm 94 */
obj_t BgL_aux1687z00_576;
BgL_aux1687z00_576 = 
CUSTOM_IDENTIFIER_SET(BgL_customz00_5, BgL_strz00_6); 
POP_TRACE(); 
return BgL_aux1687z00_576;} } } } 
}



/* _custom-identifier-set! */
obj_t BGl__customzd2identifierzd2setz12z12zz__customz00(obj_t BgL_envz00_536, obj_t BgL_customz00_537, obj_t BgL_strz00_538)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 93 */
{ /* ./Llib/custom.scm 94 */
obj_t BgL_customz00_577;char * BgL_strz00_578;
if(
CUSTOMP(BgL_customz00_537))
{ /* ./Llib/custom.scm 94 */
BgL_customz00_577 = BgL_customz00_537; }  else 
{ /* ./Llib/custom.scm 94 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1790z00zz__customz00, BGl_string1785z00zz__customz00, BgL_customz00_537, BGl_string1786z00zz__customz00, 
BINT(((long)3739))); 
exit( -1 );} 
{ /* ./Llib/custom.scm 94 */
obj_t BgL_auxz00_645;
if(
STRINGP(BgL_strz00_538))
{ /* ./Llib/custom.scm 94 */
BgL_auxz00_645 = BgL_strz00_538
; }  else 
{ /* ./Llib/custom.scm 94 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1790z00zz__customz00, BGl_string1791z00zz__customz00, BgL_strz00_538, BGl_string1786z00zz__customz00, 
BINT(((long)3739))); 
exit( -1 );} 
BgL_strz00_578 = 
BSTRING_TO_STRING(BgL_auxz00_645); } 
{ /* ./Llib/custom.scm 94 */
obj_t BgL_symbol1688z00_579;
BgL_symbol1688z00_579 = BGl_symbol1789z00zz__customz00; 
{ /* ./Llib/custom.scm 94 */

PUSH_TRACE(BgL_symbol1688z00_579); BUNSPEC; 
{ /* ./Llib/custom.scm 94 */
obj_t BgL_aux1687z00_580;
BgL_aux1687z00_580 = 
CUSTOM_IDENTIFIER_SET(BgL_customz00_577, BgL_strz00_578); 
POP_TRACE(); 
return BgL_aux1687z00_580;} } } } } 
}



/* custom-hash */
BGL_EXPORTED_DEF obj_t BGl_customzd2hashzd2zz__customz00(obj_t BgL_customz00_7, int BgL_modz00_8)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 99 */
{ /* ./Llib/custom.scm 100 */
obj_t BgL_symbol1692z00_525;
BgL_symbol1692z00_525 = BGl_symbol1792z00zz__customz00; 
{ /* ./Llib/custom.scm 100 */

PUSH_TRACE(BgL_symbol1692z00_525); BUNSPEC; 
{ /* ./Llib/custom.scm 100 */
obj_t BgL_aux1691z00_526;
{ /* ./Llib/custom.scm 100 */
int BgL_numz00_509;
BgL_numz00_509 = 
CUSTOM_HASH_NUMBER(BgL_customz00_7); 
{ /* ./Llib/custom.scm 100 */
long BgL_n1z00_510;long BgL_n2z00_511;
BgL_n1z00_510 = 
(long)(BgL_numz00_509); 
BgL_n2z00_511 = 
(long)(BgL_modz00_8); 
{ /* ./Llib/custom.scm 100 */
long BgL_auxz00_659;
BgL_auxz00_659 = 
(BgL_n1z00_510%BgL_n2z00_511); 
BgL_aux1691z00_526 = 
BINT(BgL_auxz00_659); } } } 
POP_TRACE(); 
return BgL_aux1691z00_526;} } } } 
}



/* _custom-hash */
obj_t BGl__customzd2hashzd2zz__customz00(obj_t BgL_envz00_539, obj_t BgL_customz00_540, obj_t BgL_modz00_541)
{ AN_OBJECT;
{ /* ./Llib/custom.scm 99 */
{ /* ./Llib/custom.scm 100 */
int BgL_auxz00_669;obj_t BgL_auxz00_663;
{ /* ./Llib/custom.scm 100 */
obj_t BgL_auxz00_670;
if(
INTEGERP(BgL_modz00_541))
{ /* ./Llib/custom.scm 100 */
BgL_auxz00_670 = BgL_modz00_541
; }  else 
{ /* ./Llib/custom.scm 100 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1793z00zz__customz00, BGl_string1794z00zz__customz00, BgL_modz00_541, BGl_string1786z00zz__customz00, 
BINT(((long)4050))); 
exit( -1 );} 
BgL_auxz00_669 = 
CINT(BgL_auxz00_670); } 
if(
CUSTOMP(BgL_customz00_540))
{ /* ./Llib/custom.scm 100 */
BgL_auxz00_663 = BgL_customz00_540
; }  else 
{ /* ./Llib/custom.scm 100 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1793z00zz__customz00, BGl_string1785z00zz__customz00, BgL_customz00_540, BGl_string1786z00zz__customz00, 
BINT(((long)4050))); 
exit( -1 );} 
return 
BGl_customzd2hashzd2zz__customz00(BgL_auxz00_663, BgL_auxz00_669);} } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__customz00()
{ AN_OBJECT;
{ /* ./Llib/custom.scm 14 */
{ /* ./Llib/custom.scm 14 */
obj_t BgL_symbol1696z00_527;
BgL_symbol1696z00_527 = BGl_symbol1795z00zz__customz00; 
{ /* ./Llib/custom.scm 14 */

PUSH_TRACE(BgL_symbol1696z00_527); BUNSPEC; 
{ /* ./Llib/custom.scm 14 */
obj_t BgL_aux1695z00_528;
BgL_aux1695z00_528 = 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)11084), "__custom"); 
POP_TRACE(); 
return BgL_aux1695z00_528;} } } } 
}

