/*===========================================================================*/
/*   (Llib/i18n.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-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/4.7a/lib/bigloo/4.7a +rm -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Llib/i18n.scm -indent -o objs/obj_u/Llib/i18n.c) */
/* GC selection */
#define THE_GC BOEHM_GC

/* unsafe mode */
#define BIGLOO_UNSAFE 1

/* 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___I18N_TYPE_DEFINITIONS
#define BGL___I18N_TYPE_DEFINITIONS
#endif													// BGL___I18N_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_requirezd2initializa7ationz75zz__i18nz00 = BUNSPEC;
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__i18nz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	extern obj_t bgl_utf8_string_locale_capitalize(obj_t);
	extern obj_t bgl_utf8_string_locale_upcase(obj_t);
	static obj_t BGl_z62utf8zd2stringzd2localezd2downcasezb0zz__i18nz00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2stringzd2localezd2upcasezb0zz__i18nz00(obj_t,
		obj_t);
	static obj_t BGl_genericzd2initzd2zz__i18nz00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zz__i18nz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__i18nz00(void);
	static obj_t BGl_objectzd2initzd2zz__i18nz00(void);
	BGL_EXPORTED_DECL int
		BGl_utf8zd2stringzd2localezd2compare3zd2zz__i18nz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2stringzd2localezd2capitaliza7ez75zz__i18nz00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2stringzd2localezd2upcasezd2zz__i18nz00(obj_t);
	static obj_t BGl_methodzd2initzd2zz__i18nz00(void);
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2stringzd2localezd2downcasezd2zz__i18nz00(obj_t);
	static obj_t BGl_z62utf8zd2stringzd2localezd2capitaliza7ez17zz__i18nz00(obj_t,
		obj_t);
	extern obj_t bgl_utf8_string_locale_downcase(obj_t);
	static obj_t BGl_z62utf8zd2stringzd2localezd2compare3zb0zz__i18nz00(obj_t,
		obj_t, obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2localezd2upcasezd2envz00zz__i18nz00,
		BgL_bgl_za762utf8za7d2string1626z00,
		BGl_z62utf8zd2stringzd2localezd2upcasezb0zz__i18nz00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2localezd2compare3zd2envz00zz__i18nz00,
		BgL_bgl_za762utf8za7d2string1627z00,
		BGl_z62utf8zd2stringzd2localezd2compare3zb0zz__i18nz00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2localezd2capitaliza7ezd2envza7zz__i18nz00,
		BgL_bgl_za762utf8za7d2string1628z00,
		BGl_z62utf8zd2stringzd2localezd2capitaliza7ez17zz__i18nz00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1619z00zz__i18nz00,
		BgL_bgl_string1619za700za7za7_1629za7, "/tmp/bigloo/runtime/Llib/i18n.scm",
		33);
	      BGL_DEFINE_STRING(BGl_string1620z00zz__i18nz00,
		BgL_bgl_string1620za700za7za7_1630za7, "&utf8-string-locale-compare3", 28);
	      BGL_DEFINE_STRING(BGl_string1621z00zz__i18nz00,
		BgL_bgl_string1621za700za7za7_1631za7, "bstring", 7);
	      BGL_DEFINE_STRING(BGl_string1622z00zz__i18nz00,
		BgL_bgl_string1622za700za7za7_1632za7, "&utf8-string-locale-upcase", 26);
	      BGL_DEFINE_STRING(BGl_string1623z00zz__i18nz00,
		BgL_bgl_string1623za700za7za7_1633za7, "&utf8-string-locale-downcase", 28);
	      BGL_DEFINE_STRING(BGl_string1624z00zz__i18nz00,
		BgL_bgl_string1624za700za7za7_1634za7, "&utf8-string-locale-capitalize",
		30);
	      BGL_DEFINE_STRING(BGl_string1625z00zz__i18nz00,
		BgL_bgl_string1625za700za7za7_1635za7, "__i18n", 6);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2localezd2downcasezd2envz00zz__i18nz00,
		BgL_bgl_za762utf8za7d2string1636z00,
		BGl_z62utf8zd2stringzd2localezd2downcasezb0zz__i18nz00, 0L, BUNSPEC, 1);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_PROCEDURE
			(BGl_utf8zd2stringzd2localezd2downcasezd2envz00zz__i18nz00,
			BgL_bgl_za762utf8za7d2string1636z00);
		BGL_BIND_STRING(BGl_string1625z00zz__i18nz00,
			BgL_bgl_string1625za700za7za7_1635za7);
		BGL_BIND_STRING(BGl_string1624z00zz__i18nz00,
			BgL_bgl_string1624za700za7za7_1634za7);
		BGL_BIND_STRING(BGl_string1623z00zz__i18nz00,
			BgL_bgl_string1623za700za7za7_1633za7);
		BGL_BIND_STRING(BGl_string1622z00zz__i18nz00,
			BgL_bgl_string1622za700za7za7_1632za7);
		BGL_BIND_STRING(BGl_string1621z00zz__i18nz00,
			BgL_bgl_string1621za700za7za7_1631za7);
		BGL_BIND_STRING(BGl_string1620z00zz__i18nz00,
			BgL_bgl_string1620za700za7za7_1630za7);
		BGL_BIND_STRING(BGl_string1619z00zz__i18nz00,
			BgL_bgl_string1619za700za7za7_1629za7);
		BGL_BIND_PROCEDURE
			(BGl_utf8zd2stringzd2localezd2capitaliza7ezd2envza7zz__i18nz00,
			BgL_bgl_za762utf8za7d2string1628z00);
		BGL_BIND_PROCEDURE
			(BGl_utf8zd2stringzd2localezd2compare3zd2envz00zz__i18nz00,
			BgL_bgl_za762utf8za7d2string1627z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2stringzd2localezd2upcasezd2envz00zz__i18nz00,
			BgL_bgl_za762utf8za7d2string1626z00);
	}

/* 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__i18nz00));
#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__i18nz00(long
		BgL_checksumz00_1729, char *BgL_fromz00_1730)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__i18nz00))
				{
					BGl_requirezd2initializa7ationz75zz__i18nz00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__i18nz00();
					BGl_importedzd2moduleszd2initz00zz__i18nz00();
					return BGl_methodzd2initzd2zz__i18nz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__i18nz00(void)
	{
		{	/* Llib/i18n.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* utf8-string-locale-compare3 */
	BGL_EXPORTED_DEF int BGl_utf8zd2stringzd2localezd2compare3zd2zz__i18nz00(obj_t
		BgL_leftz00_3, obj_t BgL_rightz00_4)
	{
		{	/* Llib/i18n.scm 77 */
			return BGL_UTF8_STRING_LOCALE_COMPARE3(BgL_leftz00_3, BgL_rightz00_4);
		}

	}



/* &utf8-string-locale-compare3 */
	obj_t BGl_z62utf8zd2stringzd2localezd2compare3zb0zz__i18nz00(obj_t
		BgL_envz00_1710, obj_t BgL_leftz00_1711, obj_t BgL_rightz00_1712)
	{
		{	/* Llib/i18n.scm 77 */
			{	/* Llib/i18n.scm 78 */
				int BgL_tmpz00_1740;

				{	/* Llib/i18n.scm 78 */
					obj_t BgL_auxz00_1748;
					obj_t BgL_auxz00_1741;

					if (STRINGP(BgL_rightz00_1712))
						{	/* Llib/i18n.scm 78 */
							BgL_auxz00_1748 = BgL_rightz00_1712;
						}
					else
						{
							obj_t BgL_auxz00_1751;

							BgL_auxz00_1751 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1619z00zz__i18nz00,
								BINT(2946L), BGl_string1620z00zz__i18nz00,
								BGl_string1621z00zz__i18nz00, BgL_rightz00_1712);
							FAILURE(BgL_auxz00_1751, BFALSE, BFALSE);
						}
					if (STRINGP(BgL_leftz00_1711))
						{	/* Llib/i18n.scm 78 */
							BgL_auxz00_1741 = BgL_leftz00_1711;
						}
					else
						{
							obj_t BgL_auxz00_1744;

							BgL_auxz00_1744 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1619z00zz__i18nz00,
								BINT(2946L), BGl_string1620z00zz__i18nz00,
								BGl_string1621z00zz__i18nz00, BgL_leftz00_1711);
							FAILURE(BgL_auxz00_1744, BFALSE, BFALSE);
						}
					BgL_tmpz00_1740 =
						BGl_utf8zd2stringzd2localezd2compare3zd2zz__i18nz00(BgL_auxz00_1741,
						BgL_auxz00_1748);
				}
				return BINT(BgL_tmpz00_1740);
			}
		}

	}



/* utf8-string-locale-upcase */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2stringzd2localezd2upcasezd2zz__i18nz00(obj_t
		BgL_strz00_5)
	{
		{	/* Llib/i18n.scm 83 */
			BGL_TAIL return bgl_utf8_string_locale_upcase(BgL_strz00_5);
		}

	}



/* &utf8-string-locale-upcase */
	obj_t BGl_z62utf8zd2stringzd2localezd2upcasezb0zz__i18nz00(obj_t
		BgL_envz00_1713, obj_t BgL_strz00_1714)
	{
		{	/* Llib/i18n.scm 83 */
			{	/* Llib/i18n.scm 86 */
				obj_t BgL_auxz00_1758;

				if (STRINGP(BgL_strz00_1714))
					{	/* Llib/i18n.scm 86 */
						BgL_auxz00_1758 = BgL_strz00_1714;
					}
				else
					{
						obj_t BgL_auxz00_1761;

						BgL_auxz00_1761 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1619z00zz__i18nz00,
							BINT(3326L), BGl_string1622z00zz__i18nz00,
							BGl_string1621z00zz__i18nz00, BgL_strz00_1714);
						FAILURE(BgL_auxz00_1761, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2localezd2upcasezd2zz__i18nz00(BgL_auxz00_1758);
			}
		}

	}



/* utf8-string-locale-downcase */
	BGL_EXPORTED_DEF obj_t
		BGl_utf8zd2stringzd2localezd2downcasezd2zz__i18nz00(obj_t BgL_strz00_6)
	{
		{	/* Llib/i18n.scm 91 */
			BGL_TAIL return bgl_utf8_string_locale_downcase(BgL_strz00_6);
		}

	}



/* &utf8-string-locale-downcase */
	obj_t BGl_z62utf8zd2stringzd2localezd2downcasezb0zz__i18nz00(obj_t
		BgL_envz00_1715, obj_t BgL_strz00_1716)
	{
		{	/* Llib/i18n.scm 91 */
			{	/* Llib/i18n.scm 94 */
				obj_t BgL_auxz00_1767;

				if (STRINGP(BgL_strz00_1716))
					{	/* Llib/i18n.scm 94 */
						BgL_auxz00_1767 = BgL_strz00_1716;
					}
				else
					{
						obj_t BgL_auxz00_1770;

						BgL_auxz00_1770 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1619z00zz__i18nz00,
							BINT(3703L), BGl_string1623z00zz__i18nz00,
							BGl_string1621z00zz__i18nz00, BgL_strz00_1716);
						FAILURE(BgL_auxz00_1770, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2localezd2downcasezd2zz__i18nz00(BgL_auxz00_1767);
			}
		}

	}



/* utf8-string-locale-capitalize */
	BGL_EXPORTED_DEF obj_t
		BGl_utf8zd2stringzd2localezd2capitaliza7ez75zz__i18nz00(obj_t BgL_strz00_7)
	{
		{	/* Llib/i18n.scm 99 */
			BGL_TAIL return bgl_utf8_string_locale_capitalize(BgL_strz00_7);
		}

	}



/* &utf8-string-locale-capitalize */
	obj_t BGl_z62utf8zd2stringzd2localezd2capitaliza7ez17zz__i18nz00(obj_t
		BgL_envz00_1717, obj_t BgL_strz00_1718)
	{
		{	/* Llib/i18n.scm 99 */
			{	/* Llib/i18n.scm 102 */
				obj_t BgL_auxz00_1776;

				if (STRINGP(BgL_strz00_1718))
					{	/* Llib/i18n.scm 102 */
						BgL_auxz00_1776 = BgL_strz00_1718;
					}
				else
					{
						obj_t BgL_auxz00_1779;

						BgL_auxz00_1779 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1619z00zz__i18nz00,
							BINT(4086L), BGl_string1624z00zz__i18nz00,
							BGl_string1621z00zz__i18nz00, BgL_strz00_1718);
						FAILURE(BgL_auxz00_1779, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2localezd2capitaliza7ez75zz__i18nz00
					(BgL_auxz00_1776);
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__i18nz00(void)
	{
		{	/* Llib/i18n.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__i18nz00(void)
	{
		{	/* Llib/i18n.scm 15 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__i18nz00(void)
	{
		{	/* Llib/i18n.scm 15 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__i18nz00(void)
	{
		{	/* Llib/i18n.scm 15 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string1625z00zz__i18nz00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string1625z00zz__i18nz00));
			BGl_modulezd2initializa7ationz75zz__bexitz00(443005284L,
				BSTRING_TO_STRING(BGl_string1625z00zz__i18nz00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string1625z00zz__i18nz00));
			return
				BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string1625z00zz__i18nz00));
		}

	}

#ifdef __cplusplus
}
#endif
