/*===========================================================================*/
/*   (Llib/custom.scm)                                                       */
/*   Bigloo (4.7a)                                                           */
/*   Inria -- Sophia Antipolis (c)       Thu Feb 19 09:11:58 AM CET 2026     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/4.7a/bin/bigloo -srfi bigloo-safe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/4.7a/lib/bigloo/4.7a +rm -O3 -mklib -cc gcc -fsharing -q -unsafev -eval (set! *indent* 4) -stdc -c Llib/custom.scm -indent -o objs/obj_s/Llib/custom.c) */
/* GC selection */
#define THE_GC BOEHM_GC

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C" {
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL___CUSTOM_TYPE_DEFINITIONS
#define BGL___CUSTOM_TYPE_DEFINITIONS
#endif // BGL___CUSTOM_TYPE_DEFINITIONS
#endif // BGL_MODULE_TYPE_DEFINITIONS

BGL_EXPORTED_DECL bool_t BGl_customzf3zf3zz__customz00(obj_t);
static obj_t BGl_z62customzf3z91zz__customz00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__customz00 = BUNSPEC;
extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__customz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
BGL_EXPORTED_DECL obj_t BGl_customzd2identifierzd2setz12z12zz__customz00(obj_t, char *);
BGL_EXPORTED_DECL obj_t BGl_customzd2nilzd2zz__customz00(void);
static obj_t BGl_z62customzd2hashzb0zz__customz00(obj_t, obj_t, obj_t);
static obj_t BGl_genericzd2initzd2zz__customz00(void);
static obj_t BGl_importedzd2moduleszd2initz00zz__customz00(void);
static obj_t BGl_gczd2rootszd2initz00zz__customz00(void);
static obj_t BGl_objectzd2initzd2zz__customz00(void);
extern obj_t bgl_custom_nil(void);
static obj_t BGl_z62customzd2identifierzb0zz__customz00(obj_t, obj_t);
static obj_t BGl_z62customzd2nilzb0zz__customz00(obj_t);
BGL_EXPORTED_DECL bool_t BGl_customzd2equalzf3z21zz__customz00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zz__customz00(void);
BGL_EXPORTED_DECL char * BGl_customzd2identifierzd2zz__customz00(obj_t);
static obj_t BGl_z62customzd2identifierzd2setz12z70zz__customz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_customzd2hashzd2zz__customz00(obj_t, int);
static obj_t BGl_z62customzd2equalzf3z43zz__customz00(obj_t, obj_t, obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_BGL_PROCEDURE(BGl_customzd2nilzd2envz00zz__customz00, BgL_bgl_za762customza7d2nilza71621za7, BGl_z62customzd2nilzb0zz__customz00, 0L, BUNSPEC, 0);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_customzd2equalzf3zd2envzf3zz__customz00, BgL_bgl_za762customza7d2equa1622z00, BGl_z62customzd2equalzf3z43zz__customz00, 0L, BUNSPEC, 2);
DEFINE_EXPORT_BGL_PROCEDURE(BGl_customzd2identifierzd2setz12zd2envzc0zz__customz00, BgL_bgl_za762customza7d2iden1623z00, BGl_z62customzd2identifierzd2setz12z70zz__customz00, 0L, BUNSPEC, 2);
BGL_DEFINE_STRING(BGl_string1612z00zz__customz00, BgL_bgl_string1612za700za7za7_1624za7, "/tmp/bigloo/runtime/Llib/custom.scm", 35 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_customzd2identifierzd2envz00zz__customz00, BgL_bgl_za762customza7d2iden1625z00, BGl_z62customzd2identifierzb0zz__customz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string1613z00zz__customz00, BgL_bgl_string1613za700za7za7_1626za7, "&custom-equal?", 14 );
BGL_DEFINE_STRING(BGl_string1614z00zz__customz00, BgL_bgl_string1614za700za7za7_1627za7, "custom", 6 );
BGL_DEFINE_STRING(BGl_string1615z00zz__customz00, BgL_bgl_string1615za700za7za7_1628za7, "&custom-identifier", 18 );
BGL_DEFINE_STRING(BGl_string1616z00zz__customz00, BgL_bgl_string1616za700za7za7_1629za7, "&custom-identifier-set!", 23 );
BGL_DEFINE_STRING(BGl_string1617z00zz__customz00, BgL_bgl_string1617za700za7za7_1630za7, "bstring", 7 );
BGL_DEFINE_STRING(BGl_string1618z00zz__customz00, BgL_bgl_string1618za700za7za7_1631za7, "&custom-hash", 12 );
BGL_DEFINE_STRING(BGl_string1619z00zz__customz00, BgL_bgl_string1619za700za7za7_1632za7, "bint", 4 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_customzf3zd2envz21zz__customz00, BgL_bgl_za762customza7f3za791za71633z00, BGl_z62customzf3z91zz__customz00, 0L, BUNSPEC, 1);
BGL_DEFINE_STRING(BGl_string1620z00zz__customz00, BgL_bgl_string1620za700za7za7_1634za7, "__custom", 8 );
DEFINE_EXPORT_BGL_PROCEDURE(BGl_customzd2hashzd2envz00zz__customz00, BgL_bgl_za762customza7d2hash1635z00, BGl_z62customzd2hashzb0zz__customz00, 0L, BUNSPEC, 2);

/* contant bindings */
static void bgl_constant_bindings() {
BGL_BIND_PROCEDURE(BGl_customzd2hashzd2envz00zz__customz00, BgL_bgl_za762customza7d2hash1635z00);
BGL_BIND_STRING(BGl_string1620z00zz__customz00, BgL_bgl_string1620za700za7za7_1634za7);
BGL_BIND_PROCEDURE(BGl_customzf3zd2envz21zz__customz00, BgL_bgl_za762customza7f3za791za71633z00);
BGL_BIND_STRING(BGl_string1619z00zz__customz00, BgL_bgl_string1619za700za7za7_1632za7);
BGL_BIND_STRING(BGl_string1618z00zz__customz00, BgL_bgl_string1618za700za7za7_1631za7);
BGL_BIND_STRING(BGl_string1617z00zz__customz00, BgL_bgl_string1617za700za7za7_1630za7);
BGL_BIND_STRING(BGl_string1616z00zz__customz00, BgL_bgl_string1616za700za7za7_1629za7);
BGL_BIND_STRING(BGl_string1615z00zz__customz00, BgL_bgl_string1615za700za7za7_1628za7);
BGL_BIND_STRING(BGl_string1614z00zz__customz00, BgL_bgl_string1614za700za7za7_1627za7);
BGL_BIND_STRING(BGl_string1613z00zz__customz00, BgL_bgl_string1613za700za7za7_1626za7);
BGL_BIND_PROCEDURE(BGl_customzd2identifierzd2envz00zz__customz00, BgL_bgl_za762customza7d2iden1625z00);
BGL_BIND_STRING(BGl_string1612z00zz__customz00, BgL_bgl_string1612za700za7za7_1624za7);
BGL_BIND_PROCEDURE(BGl_customzd2identifierzd2setz12zd2envzc0zz__customz00, BgL_bgl_za762customza7d2iden1623z00);
BGL_BIND_PROCEDURE(BGl_customzd2equalzf3zd2envzf3zz__customz00, BgL_bgl_za762customza7d2equa1622z00);
BGL_BIND_PROCEDURE(BGl_customzd2nilzd2envz00zz__customz00, BgL_bgl_za762customza7d2nilza71621za7);
}

/* GC roots registration */
static obj_t bgl_gc_roots_register() {
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
void *roots_min = (void*)ULONG_MAX, *roots_max = 0;
ADD_ROOT( (void *)(&BGl_requirezd2initializa7ationz75zz__customz00) );
#undef ADD_ROOT
if( roots_max > 0 ) GC_add_roots( roots_min, ((void **)roots_max) + 1 );
#endif
return BUNSPEC;
}



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__customz00(long BgL_checksumz00_1765, char * BgL_fromz00_1766)
{
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__customz00))
{ 
BGl_requirezd2initializa7ationz75zz__customz00 = 
BBOOL(((bool_t)0)); 
bgl_constant_bindings(); 
BGl_gczd2rootszd2initz00zz__customz00(); 
BGl_importedzd2moduleszd2initz00zz__customz00(); 
return 
BGl_methodzd2initzd2zz__customz00();}  else 
{ 
return BUNSPEC;} } 

}



/* gc-roots-init */
obj_t BGl_gczd2rootszd2initz00zz__customz00(void)
{
{ /* Llib/custom.scm 14 */
return 
bgl_gc_roots_register();} 

}



/* custom? */
BGL_EXPORTED_DEF bool_t BGl_customzf3zf3zz__customz00(obj_t BgL_objz00_3)
{
{ /* Llib/custom.scm 84 */
return 
CUSTOMP(BgL_objz00_3);} 

}



/* &custom? */
obj_t BGl_z62customzf3z91zz__customz00(obj_t BgL_envz00_1738, obj_t BgL_objz00_1739)
{
{ /* Llib/custom.scm 84 */
return 
BBOOL(
BGl_customzf3zf3zz__customz00(BgL_objz00_1739));} 

}



/* custom-nil */
BGL_EXPORTED_DEF obj_t BGl_customzd2nilzd2zz__customz00(void)
{
{ /* Llib/custom.scm 90 */
BGL_TAIL return 
bgl_custom_nil();} 

}



/* &custom-nil */
obj_t BGl_z62customzd2nilzb0zz__customz00(obj_t BgL_envz00_1740)
{
{ /* Llib/custom.scm 90 */
return 
BGl_customzd2nilzd2zz__customz00();} 

}



/* custom-equal? */
BGL_EXPORTED_DEF bool_t BGl_customzd2equalzf3z21zz__customz00(obj_t BgL_obj1z00_4, obj_t BgL_obj2z00_5)
{
{ /* Llib/custom.scm 96 */
return 
CUSTOM_CMP(BgL_obj1z00_4, BgL_obj2z00_5);} 

}



/* &custom-equal? */
obj_t BGl_z62customzd2equalzf3z43zz__customz00(obj_t BgL_envz00_1741, obj_t BgL_obj1z00_1742, obj_t BgL_obj2z00_1743)
{
{ /* Llib/custom.scm 96 */
{ /* Llib/custom.scm 97 */
 bool_t BgL_tmpz00_1781;
{ /* Llib/custom.scm 97 */
 obj_t BgL_auxz00_1789; obj_t BgL_auxz00_1782;
if(
CUSTOMP(BgL_obj2z00_1743))
{ /* Llib/custom.scm 97 */
BgL_auxz00_1789 = BgL_obj2z00_1743
; }  else 
{ 
 obj_t BgL_auxz00_1792;
BgL_auxz00_1792 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string1612z00zz__customz00, 
BINT(3593L), BGl_string1613z00zz__customz00, BGl_string1614z00zz__customz00, BgL_obj2z00_1743); 
FAILURE(BgL_auxz00_1792,BFALSE,BFALSE);} 
if(
CUSTOMP(BgL_obj1z00_1742))
{ /* Llib/custom.scm 97 */
BgL_auxz00_1782 = BgL_obj1z00_1742
; }  else 
{ 
 obj_t BgL_auxz00_1785;
BgL_auxz00_1785 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string1612z00zz__customz00, 
BINT(3593L), BGl_string1613z00zz__customz00, BGl_string1614z00zz__customz00, BgL_obj1z00_1742); 
FAILURE(BgL_auxz00_1785,BFALSE,BFALSE);} 
BgL_tmpz00_1781 = 
BGl_customzd2equalzf3z21zz__customz00(BgL_auxz00_1782, BgL_auxz00_1789); } 
return 
BBOOL(BgL_tmpz00_1781);} } 

}



/* custom-identifier */
BGL_EXPORTED_DEF char * BGl_customzd2identifierzd2zz__customz00(obj_t BgL_customz00_6)
{
{ /* Llib/custom.scm 102 */
return 
CUSTOM_IDENTIFIER(BgL_customz00_6);} 

}



/* &custom-identifier */
obj_t BGl_z62customzd2identifierzb0zz__customz00(obj_t BgL_envz00_1744, obj_t BgL_customz00_1745)
{
{ /* Llib/custom.scm 102 */
{ /* Llib/custom.scm 103 */
 char * BgL_tmpz00_1799;
{ /* Llib/custom.scm 103 */
 obj_t BgL_auxz00_1800;
if(
CUSTOMP(BgL_customz00_1745))
{ /* Llib/custom.scm 103 */
BgL_auxz00_1800 = BgL_customz00_1745
; }  else 
{ 
 obj_t BgL_auxz00_1803;
BgL_auxz00_1803 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string1612z00zz__customz00, 
BINT(3906L), BGl_string1615z00zz__customz00, BGl_string1614z00zz__customz00, BgL_customz00_1745); 
FAILURE(BgL_auxz00_1803,BFALSE,BFALSE);} 
BgL_tmpz00_1799 = 
BGl_customzd2identifierzd2zz__customz00(BgL_auxz00_1800); } 
return 
string_to_bstring(BgL_tmpz00_1799);} } 

}



/* custom-identifier-set! */
BGL_EXPORTED_DEF obj_t BGl_customzd2identifierzd2setz12z12zz__customz00(obj_t BgL_customz00_7, char * BgL_strz00_8)
{
{ /* Llib/custom.scm 108 */
return 
CUSTOM_IDENTIFIER_SET(BgL_customz00_7, BgL_strz00_8);} 

}



/* &custom-identifier-set! */
obj_t BGl_z62customzd2identifierzd2setz12z70zz__customz00(obj_t BgL_envz00_1746, obj_t BgL_customz00_1747, obj_t BgL_strz00_1748)
{
{ /* Llib/custom.scm 108 */
{ /* Llib/custom.scm 109 */
 char * BgL_auxz00_1817; obj_t BgL_auxz00_1810;
{ /* Llib/custom.scm 109 */
 obj_t BgL_tmpz00_1818;
if(
STRINGP(BgL_strz00_1748))
{ /* Llib/custom.scm 109 */
BgL_tmpz00_1818 = BgL_strz00_1748
; }  else 
{ 
 obj_t BgL_auxz00_1821;
BgL_auxz00_1821 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string1612z00zz__customz00, 
BINT(4229L), BGl_string1616z00zz__customz00, BGl_string1617z00zz__customz00, BgL_strz00_1748); 
FAILURE(BgL_auxz00_1821,BFALSE,BFALSE);} 
BgL_auxz00_1817 = 
BSTRING_TO_STRING(BgL_tmpz00_1818); } 
if(
CUSTOMP(BgL_customz00_1747))
{ /* Llib/custom.scm 109 */
BgL_auxz00_1810 = BgL_customz00_1747
; }  else 
{ 
 obj_t BgL_auxz00_1813;
BgL_auxz00_1813 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string1612z00zz__customz00, 
BINT(4229L), BGl_string1616z00zz__customz00, BGl_string1614z00zz__customz00, BgL_customz00_1747); 
FAILURE(BgL_auxz00_1813,BFALSE,BFALSE);} 
return 
BGl_customzd2identifierzd2setz12z12zz__customz00(BgL_auxz00_1810, BgL_auxz00_1817);} } 

}



/* custom-hash */
BGL_EXPORTED_DEF obj_t BGl_customzd2hashzd2zz__customz00(obj_t BgL_customz00_9, int BgL_modz00_10)
{
{ /* Llib/custom.scm 114 */
{ /* Llib/custom.scm 115 */
 int BgL_numz00_1524;
BgL_numz00_1524 = 
CUSTOM_HASH_NUMBER(BgL_customz00_9); 
{ /* Llib/custom.scm 116 */
 long BgL_n1z00_1525; long BgL_n2z00_1526;
BgL_n1z00_1525 = 
(long)(BgL_numz00_1524); 
BgL_n2z00_1526 = 
(long)(BgL_modz00_10); 
{ /* Llib/custom.scm 116 */
 bool_t BgL_test1642z00_1830;
{ /* Llib/custom.scm 116 */
 long BgL_arg1396z00_1528;
BgL_arg1396z00_1528 = 
(((BgL_n1z00_1525) | (BgL_n2z00_1526)) & -2147483648); 
BgL_test1642z00_1830 = 
(BgL_arg1396z00_1528==0L); } 
if(BgL_test1642z00_1830)
{ /* Llib/custom.scm 116 */
 int32_t BgL_arg1391z00_1529;
{ /* Llib/custom.scm 116 */
 int32_t BgL_arg1392z00_1530; int32_t BgL_arg1395z00_1531;
BgL_arg1392z00_1530 = 
(int32_t)(BgL_n1z00_1525); 
BgL_arg1395z00_1531 = 
(int32_t)(BgL_n2z00_1526); 
BgL_arg1391z00_1529 = 
(BgL_arg1392z00_1530%BgL_arg1395z00_1531); } 
{ /* Llib/custom.scm 116 */
 long BgL_arg1506z00_1536;
BgL_arg1506z00_1536 = 
(long)(BgL_arg1391z00_1529); 
return 
BINT(
(long)(BgL_arg1506z00_1536));} }  else 
{ /* Llib/custom.scm 116 */
return 
BINT(
(BgL_n1z00_1525%BgL_n2z00_1526));} } } } } 

}



/* &custom-hash */
obj_t BGl_z62customzd2hashzb0zz__customz00(obj_t BgL_envz00_1749, obj_t BgL_customz00_1750, obj_t BgL_modz00_1751)
{
{ /* Llib/custom.scm 114 */
{ /* Llib/custom.scm 115 */
 int BgL_auxz00_1848; obj_t BgL_auxz00_1841;
{ /* Llib/custom.scm 115 */
 obj_t BgL_tmpz00_1849;
if(
INTEGERP(BgL_modz00_1751))
{ /* Llib/custom.scm 115 */
BgL_tmpz00_1849 = BgL_modz00_1751
; }  else 
{ 
 obj_t BgL_auxz00_1852;
BgL_auxz00_1852 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string1612z00zz__customz00, 
BINT(4540L), BGl_string1618z00zz__customz00, BGl_string1619z00zz__customz00, BgL_modz00_1751); 
FAILURE(BgL_auxz00_1852,BFALSE,BFALSE);} 
BgL_auxz00_1848 = 
CINT(BgL_tmpz00_1849); } 
if(
CUSTOMP(BgL_customz00_1750))
{ /* Llib/custom.scm 115 */
BgL_auxz00_1841 = BgL_customz00_1750
; }  else 
{ 
 obj_t BgL_auxz00_1844;
BgL_auxz00_1844 = 
BGl_typezd2errorzd2zz__errorz00(BGl_string1612z00zz__customz00, 
BINT(4540L), BGl_string1618z00zz__customz00, BGl_string1614z00zz__customz00, BgL_customz00_1750); 
FAILURE(BgL_auxz00_1844,BFALSE,BFALSE);} 
return 
BGl_customzd2hashzd2zz__customz00(BgL_auxz00_1841, BgL_auxz00_1848);} } 

}



/* object-init */
obj_t BGl_objectzd2initzd2zz__customz00(void)
{
{ /* Llib/custom.scm 14 */
return BUNSPEC;} 

}



/* generic-init */
obj_t BGl_genericzd2initzd2zz__customz00(void)
{
{ /* Llib/custom.scm 14 */
return BUNSPEC;} 

}



/* method-init */
obj_t BGl_methodzd2initzd2zz__customz00(void)
{
{ /* Llib/custom.scm 14 */
return BUNSPEC;} 

}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__customz00(void)
{
{ /* Llib/custom.scm 14 */
return 
BGl_modulezd2initializa7ationz75zz__errorz00(88804785L, 
BSTRING_TO_STRING(BGl_string1620z00zz__customz00));} 

}

#ifdef __cplusplus
}
#endif
