/*
 * $Id: p_init,v 1.13 2000/11/28 04:48:02 keiko Exp $
 */

void
Init_dcl()
{
/* for Num::DCl **
    mNum = rb_define_module("Num");
    mDCL = rb_define_module_under(mNum, "DCL");
*/
    mDCL = rb_define_module("DCL");

  /*** grph2 ***/
    /* grpack */
    rb_define_module_function(mDCL, "gropn", dcl_gropn, 1);
    rb_define_module_function(mDCL, "grcls", dcl_grcls, 0);
    rb_define_module_function(mDCL, "grfrm", dcl_grfrm, 0);
    rb_define_module_function(mDCL, "grswnd", dcl_grswnd, 4);
    rb_define_module_function(mDCL, "grsvpt", dcl_grsvpt, 4);
    rb_define_module_function(mDCL, "grstrn", dcl_grstrn, 1);
    rb_define_module_function(mDCL, "grstrf", dcl_grstrf, 0);
    rb_define_module_function(mDCL, "grfig", dcl_grfig, 0);
    rb_define_module_function(mDCL, "grsmpl", dcl_grsmpl, 3);
    rb_define_module_function(mDCL, "grssim", dcl_grssim, 3);
    rb_define_module_function(mDCL, "grstxy", dcl_grstxy, 4);
    /* ucpack */
    rb_define_module_function(mDCL, "ucxacl", dcl_ucxacl, 3);
    rb_define_module_function(mDCL, "ucxady", dcl_ucxady, 3);
    rb_define_module_function(mDCL, "ucxamn", dcl_ucxamn, 3);
    rb_define_module_function(mDCL, "ucxayr", dcl_ucxayr, 3);
    rb_define_module_function(mDCL, "ucyacl", dcl_ucyacl, 3);
    rb_define_module_function(mDCL, "ucyady", dcl_ucyady, 3);
    rb_define_module_function(mDCL, "ucyamn", dcl_ucyamn, 3);
    rb_define_module_function(mDCL, "ucyayr", dcl_ucyayr, 3);
    /* udpack */
    rb_define_module_function(mDCL, "udcntr", dcl_udcntr, 4);
    rb_define_module_function(mDCL, "udsfmt", dcl_udsfmt, 1);
    rb_define_module_function(mDCL, "uddclv", dcl_uddclv, 1);
    rb_define_module_function(mDCL, "udgcla", dcl_udgcla, 3);
    rb_define_module_function(mDCL, "udgclb", dcl_udgclb, 5);
    rb_define_module_function(mDCL, "udsclv", dcl_udsclv, 5);
    rb_define_module_function(mDCL, "udiset", dcl_udiset, 2);
    rb_define_module_function(mDCL, "udlset", dcl_udlset, 2);
    rb_define_module_function(mDCL, "udrset", dcl_udrset, 2);
    /* uepack */
    rb_define_module_function(mDCL, "ueitlv", dcl_ueitlv, 0);
    rb_define_module_function(mDCL, "uestlv", dcl_uestlv, 3);
    rb_define_module_function(mDCL, "uestln", dcl_uestln, 3);
    rb_define_module_function(mDCL, "uetone", dcl_uetone, 4);
    rb_define_module_function(mDCL, "uetonf", dcl_uetonf, 4);
    /* ugpack */
    rb_define_module_function(mDCL, "ugvect", dcl_ugvect, 6);
    rb_define_module_function(mDCL, "uglset", dcl_uglset, 2);
    rb_define_module_function(mDCL, "ugrset", dcl_ugrset, 2);
    rb_define_module_function(mDCL, "ugsut", dcl_ugsut, 2);
    /* uhpack */
    rb_define_module_function(mDCL, "uhbra", dcl_uhbra, 4);
    rb_define_module_function(mDCL, "uhbrf", dcl_uhbrf, 4);
    rb_define_module_function(mDCL, "uhbrl", dcl_uhbrl, 3);
    rb_define_module_function(mDCL, "uhbxa", dcl_uhbxa, 4);
    rb_define_module_function(mDCL, "uhbxf", dcl_uhbxf, 4);
    rb_define_module_function(mDCL, "uhbxl", dcl_uhbxl, 3);
    rb_define_module_function(mDCL, "uhdif", dcl_uhdif, 4);
    rb_define_module_function(mDCL, "uherb", dcl_uherb, 4);
    /* ulpack */
    rb_define_module_function(mDCL, "uliset", dcl_uliset, 2);
    rb_define_module_function(mDCL, "ulsxbl", dcl_ulsxbl, 2);
    rb_define_module_function(mDCL, "ulsybl", dcl_ulsybl, 2);
    rb_define_module_function(mDCL, "ulxlog", dcl_ulxlog, 3);
    rb_define_module_function(mDCL, "ulxsfm", dcl_ulxsfm, 1);
    rb_define_module_function(mDCL, "ulylog", dcl_ulylog, 3);
    rb_define_module_function(mDCL, "ulysfm", dcl_ulysfm, 1);
    /* umpack */
    rb_define_module_function(mDCL, "umpmap", dcl_umpmap, 1);
    rb_define_module_function(mDCL, "umpgrd", dcl_umpgrd, 0);
    rb_define_module_function(mDCL, "umpglb", dcl_umpglb, 0);
    rb_define_module_function(mDCL, "umpfit", dcl_umpfit, 0);
    rb_define_module_function(mDCL, "umplim", dcl_umplim, 0);
    rb_define_module_function(mDCL, "umiset", dcl_umiset, 2);
    rb_define_module_function(mDCL, "umlset", dcl_umlset, 2);
    rb_define_module_function(mDCL, "umrset", dcl_umrset, 2);
    /* uspack */
    rb_define_module_function(mDCL, "ussttl", dcl_ussttl, 4);
    rb_define_module_function(mDCL, "usgrph", dcl_usgrph, 3);
    rb_define_module_function(mDCL, "usspnt", dcl_usspnt, 3);
    rb_define_module_function(mDCL, "uspfit", dcl_uspfit, 0);
    rb_define_module_function(mDCL, "usdaxs", dcl_usdaxs, 0);
    rb_define_module_function(mDCL, "uscset", dcl_uscset, 2);
    rb_define_module_function(mDCL, "uslset", dcl_uslset, 2);
    rb_define_module_function(mDCL, "usrset", dcl_usrset, 2);
    rb_define_module_function(mDCL, "usyaxs", dcl_usyaxs, 1);
    /* uupack */
    rb_define_module_function(mDCL, "uulin", dcl_uulin, 3);
    rb_define_module_function(mDCL, "uulinz", dcl_uulinz, 5);
    rb_define_module_function(mDCL, "uuslni", dcl_uuslni, 1);
    rb_define_module_function(mDCL, "uuslnt", dcl_uuslnt, 1);
    rb_define_module_function(mDCL, "uumrk", dcl_uumrk, 3);
    rb_define_module_function(mDCL, "uumrkz", dcl_uumrkz, 6);
    rb_define_module_function(mDCL, "uusmki", dcl_uusmki, 1);
    rb_define_module_function(mDCL, "uusmks", dcl_uusmks, 1);
    rb_define_module_function(mDCL, "uusmkt", dcl_uusmkt, 1);
    rb_define_module_function(mDCL, "uusebi", dcl_uusebi, 1);
    rb_define_module_function(mDCL, "uusebt", dcl_uusebt, 1);
    rb_define_module_function(mDCL, "uusarp", dcl_uusarp, 2);
    rb_define_module_function(mDCL, "uusbrs", dcl_uusbrs, 1);
    rb_define_module_function(mDCL, "uusidv", dcl_uusidv, 2);
    /* uvpack */
    rb_define_module_function(mDCL, "uvbra", dcl_uvbra, 4);
    rb_define_module_function(mDCL, "uvbrf", dcl_uvbrf, 4);
    rb_define_module_function(mDCL, "uvbrl", dcl_uvbrl, 3);
    rb_define_module_function(mDCL, "uvbxa", dcl_uvbxa, 4);
    rb_define_module_function(mDCL, "uvbxf", dcl_uvbxf, 4);
    rb_define_module_function(mDCL, "uvbxl", dcl_uvbxl, 3);
    rb_define_module_function(mDCL, "uvdif", dcl_uvdif, 4);
    rb_define_module_function(mDCL, "uverb", dcl_uverb, 4);
    /* uwpack */
    rb_define_module_function(mDCL, "uwsgxb", dcl_uwsgxb, 3);
    rb_define_module_function(mDCL, "uwsgya", dcl_uwsgya, 2);
    /* uxpack */
    rb_define_module_function(mDCL, "uxaxdv", dcl_uxaxdv, 3);
    rb_define_module_function(mDCL, "uxaxlb", dcl_uxaxlb, 7);
    rb_define_module_function(mDCL, "uxsaxs", dcl_uxsaxs, 1);
    rb_define_module_function(mDCL, "uxmttl", dcl_uxmttl, 3);
    rb_define_module_function(mDCL, "uxsttl", dcl_uxsttl, 3);
    rb_define_module_function(mDCL, "uxsfmt", dcl_uxsfmt, 1);
    /* uypack */
    rb_define_module_function(mDCL, "uyaxdv", dcl_uyaxdv, 3);
    rb_define_module_function(mDCL, "uyaxlb", dcl_uyaxlb, 7);
    rb_define_module_function(mDCL, "uysaxs", dcl_uysaxs, 1);
    rb_define_module_function(mDCL, "uysttl", dcl_uysttl, 3);
    rb_define_module_function(mDCL, "uysfmt", dcl_uysfmt, 1);
    /* uzpack */
    rb_define_module_function(mDCL, "uzfact", dcl_uzfact, 1);
    rb_define_module_function(mDCL, "uzinit", dcl_uzinit, 0);
    rb_define_module_function(mDCL, "uziset", dcl_uziset, 2);
    rb_define_module_function(mDCL, "uzlset", dcl_uzlset, 2);
    rb_define_module_function(mDCL, "uzrset", dcl_uzrset, 2);
  /*** grph1 ***/
    /* csgi   */
    rb_define_module_function(mDCL, "csgi", dcl_csgi, 1);
    /* scpack */
    rb_define_module_function(mDCL, "scsvpt", dcl_scsvpt, 6);
    rb_define_module_function(mDCL, "scswnd", dcl_scswnd, 6);
    rb_define_module_function(mDCL, "scstrn", dcl_scstrn, 1);
    rb_define_module_function(mDCL, "scstrf", dcl_scstrf, 0);
    rb_define_module_function(mDCL, "scseye", dcl_scseye, 3);
    rb_define_module_function(mDCL, "scslog", dcl_scslog, 3);
    rb_define_module_function(mDCL, "scsorg", dcl_scsorg, 4);
    rb_define_module_function(mDCL, "scsobj", dcl_scsobj, 3);
    rb_define_module_function(mDCL, "scsprj", dcl_scsprj, 0);
    rb_define_module_function(mDCL, "scplu", dcl_scplu, 4);
    rb_define_module_function(mDCL, "scspli", dcl_scspli, 1);
    rb_define_module_function(mDCL, "scspln", dcl_scspln, 3);
    rb_define_module_function(mDCL, "scpmu", dcl_scpmu, 4);
    rb_define_module_function(mDCL, "scspmi", dcl_scspmi, 1);
    rb_define_module_function(mDCL, "scspms", dcl_scspms, 1);
    rb_define_module_function(mDCL, "scspmt", dcl_scspmt, 1);
    rb_define_module_function(mDCL, "sctnu", dcl_sctnu, 3);
    rb_define_module_function(mDCL, "scstnp", dcl_scstnp, 2);
    /* sgpack */
    rb_define_module_function(mDCL, "sgopn", dcl_sgopn, 1);
    rb_define_module_function(mDCL, "sgcls", dcl_sgcls, 0);
    rb_define_module_function(mDCL, "sgfrm", dcl_sgfrm, 0);
    rb_define_module_function(mDCL, "sgpwsn", dcl_sgpwsn, 0);
    rb_define_module_function(mDCL, "sgiset", dcl_sgiset, 2);
    rb_define_module_function(mDCL, "sglset", dcl_sglset, 2);
    rb_define_module_function(mDCL, "sgrset", dcl_sgrset, 2);
    rb_define_module_function(mDCL, "sgqwnd", dcl_sgqwnd, 0);
    rb_define_module_function(mDCL, "sgswnd", dcl_sgswnd, 4);
    rb_define_module_function(mDCL, "sgsvpt", dcl_sgsvpt, 4);
    rb_define_module_function(mDCL, "sgstrn", dcl_sgstrn, 1);
    rb_define_module_function(mDCL, "sgstrf", dcl_sgstrf, 0);
    rb_define_module_function(mDCL, "sglau", dcl_sglau, 4);
    rb_define_module_function(mDCL, "sglav", dcl_sglav, 4);
    rb_define_module_function(mDCL, "sglazu", dcl_sglazu, 6);
    rb_define_module_function(mDCL, "sgslai", dcl_sgslai, 1);
    rb_define_module_function(mDCL, "sgslat", dcl_sgslat, 1);
    rb_define_module_function(mDCL, "sglnu", dcl_sglnu, 4);
    rb_define_module_function(mDCL, "sglnv", dcl_sglnv, 4);
    rb_define_module_function(mDCL, "sglnzu", dcl_sglnzu, 5);
    rb_define_module_function(mDCL, "sglnzv", dcl_sglnzv, 5);
    rb_define_module_function(mDCL, "sgslni", dcl_sgslni, 1);
    rb_define_module_function(mDCL, "sgplu", dcl_sgplu, 3);  
    rb_define_module_function(mDCL, "sgplv", dcl_sgplv, 3);  
    rb_define_module_function(mDCL, "sgplzu", dcl_sgplzu, 5);  
    rb_define_module_function(mDCL, "sgplzv", dcl_sgplzv, 5);  
    rb_define_module_function(mDCL, "sgnplc", dcl_sgnplc, 0);  
    rb_define_module_function(mDCL, "sgsplc", dcl_sgsplc, 1);  
    rb_define_module_function(mDCL, "sgspli", dcl_sgspli, 1);  
    rb_define_module_function(mDCL, "sgspls", dcl_sgspls, 1);  
    rb_define_module_function(mDCL, "sgsplt", dcl_sgsplt, 1);  
    rb_define_module_function(mDCL, "sgpmu", dcl_sgpmu, 3);
    rb_define_module_function(mDCL, "sgpmv", dcl_sgpmv, 3);
    rb_define_module_function(mDCL, "sgpmzu", dcl_sgpmzu, 6);
    rb_define_module_function(mDCL, "sgpmzv", dcl_sgpmzv, 6);
    rb_define_module_function(mDCL, "sgspmi", dcl_sgspmi, 1);
    rb_define_module_function(mDCL, "sgspmt", dcl_sgspmt, 1);
    rb_define_module_function(mDCL, "sgspms", dcl_sgspms, 1);
    rb_define_module_function(mDCL, "sgtnu", dcl_sgtnu, 3); 
    rb_define_module_function(mDCL, "sgtnv", dcl_sgtnv, 3); 
    rb_define_module_function(mDCL, "sgtnzu", dcl_sgtnzu, 4); 
    rb_define_module_function(mDCL, "sgstnp", dcl_sgstnp, 1); 
    rb_define_module_function(mDCL, "sgtxr", dcl_sgtxr, 3);
    rb_define_module_function(mDCL, "sgtxu", dcl_sgtxu, 3);
    rb_define_module_function(mDCL, "sgtxv", dcl_sgtxv, 3);
    rb_define_module_function(mDCL, "sgtxzr", dcl_sgtxzr, 7);
    rb_define_module_function(mDCL, "sgtxzu", dcl_sgtxzu, 7);
    rb_define_module_function(mDCL, "sgtxzv", dcl_sgtxzv, 7);
    rb_define_module_function(mDCL, "sgstxc", dcl_sgstxc, 1);
    rb_define_module_function(mDCL, "sgstxi", dcl_sgstxi, 1);
    rb_define_module_function(mDCL, "sgstxr", dcl_sgstxr, 1);
    rb_define_module_function(mDCL, "sgstxs", dcl_sgstxs, 1);
    rb_define_module_function(mDCL, "sgstxy", dcl_sgstxy, 4);
    rb_define_module_function(mDCL, "sgssim", dcl_sgssim, 3);
    rb_define_module_function(mDCL, "sgsmpl", dcl_sgsmpl, 3);
    rb_define_module_function(mDCL, "sgtrnl", dcl_sgtrnl, 1);
    rb_define_module_function(mDCL, "isgtrc", dcl_isgtrc, 1);
    /* slpack */
    rb_define_module_function(mDCL, "sldiv", dcl_sldiv, 3);
    rb_define_module_function(mDCL, "slmgn", dcl_slmgn, 4);
    rb_define_module_function(mDCL, "slform", dcl_slform, 2);
    rb_define_module_function(mDCL, "slrat", dcl_slrat, 2);
    rb_define_module_function(mDCL, "slsttl", dcl_slsttl, 6);
    rb_define_module_function(mDCL, "slpvpr", dcl_slpvpr, 1);
    rb_define_module_function(mDCL, "slpwwr", dcl_slpwwr, 1);
    /* stpack */
    rb_define_module_function(mDCL, "stftrf", dcl_stftrf, 2);
    /* swpack */
    rb_define_module_function(mDCL, "swistx", dcl_swistx, 2);
    rb_define_module_function(mDCL, "swlstx", dcl_swlstx, 2);
    /* szpack */
/* kuro for test **
    rb_define_module_function(mDCL, "szl3op", dcl_szl3op, 1);
    rb_define_module_function(mDCL, "szl3cl", dcl_szl3cl, 0);
    rb_define_module_function(mDCL, "szl3zu", dcl_szl3zu, 4);
    rb_define_module_function(mDCL, "szl3zv", dcl_szl3zv, 4);
    rb_define_module_function(mDCL, "szt3op", dcl_szt3op, 2);
    rb_define_module_function(mDCL, "szt3cl", dcl_szt3cl, 0);
    rb_define_module_function(mDCL, "szt3zu", dcl_szt3zu, 3);
    rb_define_module_function(mDCL, "szt3zv", dcl_szt3zv, 3);
    rb_define_module_function(mDCL, "szopl3", dcl_szopl3, 0);
    rb_define_module_function(mDCL, "szcll3", dcl_szcll3, 0);
    rb_define_module_function(mDCL, "szmvl3", dcl_szmvl3, 3);
    rb_define_module_function(mDCL, "szpll3", dcl_szpll3, 3);
** kuro for test */
  /*** math2 ***/
    /* fftlib */
    rb_define_module_function(mDCL, "ezffti", dcl_ezffti, 1);
    rb_define_module_function(mDCL, "ezfftf", dcl_ezfftf, 3);
    rb_define_module_function(mDCL, "ezfftb", dcl_ezfftb, 5);
    rb_define_module_function(mDCL, "rffti", dcl_rffti, 1);
    rb_define_module_function(mDCL, "rfftf", dcl_rfftf, 3);
    rb_define_module_function(mDCL, "rfftb", dcl_rfftb, 3);
    /* intrlib */
    rb_define_module_function(mDCL, "vrintr", dcl_vrintr, 3);
    /* rnmlib */
    rb_define_module_function(mDCL, "vrrnm", dcl_vrrnm, 5);
    /* vstlib */
    rb_define_module_function(mDCL, "vs1int", dcl_vs1int, 1);
    rb_define_module_function(mDCL, "vs1din", dcl_vs1din, 4);
    rb_define_module_function(mDCL, "vs1out", dcl_vs1out, 3);
    rb_define_module_function(mDCL, "vs2int", dcl_vs2int, 2);
    rb_define_module_function(mDCL, "vs2din", dcl_vs2din, 6);
    rb_define_module_function(mDCL, "vs2out", dcl_vs2out, 4);
  /*** math1 ***/
    /* blklib */
    rb_define_module_function(mDCL, "iblkgt", dcl_iblkgt, 3);
    rb_define_module_function(mDCL, "iblkge", dcl_iblkge, 3);
    rb_define_module_function(mDCL, "iblklt", dcl_iblklt, 3);
    rb_define_module_function(mDCL, "iblkle", dcl_iblkle, 3);
    /* chrlib */
    rb_define_module_function(mDCL, "cladj", dcl_cladj, 1);
    rb_define_module_function(mDCL, "cradj", dcl_cradj, 1);
    rb_define_module_function(mDCL, "crvrs", dcl_crvrs, 1);
    rb_define_module_function(mDCL, "lenb", dcl_lenb, 1);
    rb_define_module_function(mDCL, "lenc", dcl_lenc, 1);
    rb_define_module_function(mDCL, "leny", dcl_leny, 1);
    rb_define_module_function(mDCL, "lenz", dcl_lenz, 1);
    /* fnclib */
    rb_define_module_function(mDCL, "igus", dcl_igus, 1);
    rb_define_module_function(mDCL, "imod", dcl_imod, 2);
    rb_define_module_function(mDCL, "rd2r", dcl_rd2r, 1);
    rb_define_module_function(mDCL, "rr2d", dcl_rr2d, 1);
    rb_define_module_function(mDCL, "rexp", dcl_rexp, 3);
    rb_define_module_function(mDCL, "rfpi", dcl_rfpi, 0);
    rb_define_module_function(mDCL, "rmod", dcl_rmod, 2);
    /* gnmlib */
    rb_define_module_function(mDCL, "gnlt", dcl_gnlt, 1);
    rb_define_module_function(mDCL, "gnle", dcl_gnle, 1);
    rb_define_module_function(mDCL, "gngt", dcl_gngt, 1);
    rb_define_module_function(mDCL, "gnge", dcl_gnge, 1);
    rb_define_module_function(mDCL, "rgnlt", dcl_rgnlt, 1);
    rb_define_module_function(mDCL, "rgnle", dcl_rgnle, 1);
    rb_define_module_function(mDCL, "rgngt", dcl_rgngt, 1);
    rb_define_module_function(mDCL, "rgnge", dcl_rgnge, 1);
    /* ifalib */
    rb_define_module_function(mDCL, "imax", dcl_imax, 3);
    rb_define_module_function(mDCL, "imin", dcl_imin, 3);
    rb_define_module_function(mDCL, "isum", dcl_isum, 3);
    /* indxlib */
    rb_define_module_function(mDCL, "indxif", dcl_indxif, 4);
    rb_define_module_function(mDCL, "indxil", dcl_indxil, 4);
    rb_define_module_function(mDCL, "nindxi", dcl_nindxi, 4);
    rb_define_module_function(mDCL, "indxrf", dcl_indxrf, 4);
    rb_define_module_function(mDCL, "indxrl", dcl_indxrl, 4);
    rb_define_module_function(mDCL, "nindxr", dcl_nindxr, 4);
    rb_define_module_function(mDCL, "indxcf", dcl_indxcf, 4);
    rb_define_module_function(mDCL, "indxcl", dcl_indxcl, 4);
    rb_define_module_function(mDCL, "nindxc", dcl_nindxc, 4);
    rb_define_module_function(mDCL, "indxmf", dcl_indxmf, 4);
    rb_define_module_function(mDCL, "indxml", dcl_indxml, 4);
    rb_define_module_function(mDCL, "nindxm", dcl_nindxm, 4);
    /* intlib */
    rb_define_module_function(mDCL, "irlt", dcl_irlt, 1);
    rb_define_module_function(mDCL, "irle", dcl_irle, 1);
    rb_define_module_function(mDCL, "irgt", dcl_irgt, 1);
    rb_define_module_function(mDCL, "irge", dcl_irge, 1);
    /* lrllib */
    rb_define_module_function(mDCL, "lreq", dcl_lreq, 2);
    rb_define_module_function(mDCL, "lrne", dcl_lrne, 2);
    rb_define_module_function(mDCL, "lrlt", dcl_lrlt, 2);
    rb_define_module_function(mDCL, "lrle", dcl_lrle, 2);
    rb_define_module_function(mDCL, "lrgt", dcl_lrgt, 2);
    rb_define_module_function(mDCL, "lrge", dcl_lrge, 2);
    rb_define_module_function(mDCL, "lreqa", dcl_lreqa, 3);
    rb_define_module_function(mDCL, "lrnea", dcl_lrnea, 3);
    rb_define_module_function(mDCL, "lrlta", dcl_lrlta, 3);
    rb_define_module_function(mDCL, "lrlea", dcl_lrlea, 3);
    rb_define_module_function(mDCL, "lrgta", dcl_lrgta, 3);
    rb_define_module_function(mDCL, "lrgea", dcl_lrgea, 3);
    /* rfalib */
    rb_define_module_function(mDCL, "rmax", dcl_rmax, 3);
    rb_define_module_function(mDCL, "rmin", dcl_rmin, 3);
    rb_define_module_function(mDCL, "rsum", dcl_rsum, 3);
    rb_define_module_function(mDCL, "rave", dcl_rave, 3);
    rb_define_module_function(mDCL, "rvar", dcl_rvar, 3);
    rb_define_module_function(mDCL, "rstd", dcl_rstd, 3);
    rb_define_module_function(mDCL, "rrms", dcl_rrms, 3);
    rb_define_module_function(mDCL, "ramp", dcl_ramp, 3);
    rb_define_module_function(mDCL, "rmlt0", dcl_rmlt0, 4);
    /* rfblib */
    rb_define_module_function(mDCL, "rprd", dcl_rprd, 5);
    rb_define_module_function(mDCL, "rcov", dcl_rcov, 5);
    rb_define_module_function(mDCL, "rcor", dcl_rcor, 5);
    /* sublib */
    rb_define_module_function(mDCL, "vignn", dcl_vignn, 2);
    rb_define_module_function(mDCL, "vrgnn", dcl_vrgnn, 2);
    /* syslib */
    rb_define_module_function(mDCL, "gliget", dcl_gliget, 1);
    rb_define_module_function(mDCL, "gliset", dcl_gliset, 2);
    rb_define_module_function(mDCL, "glistx", dcl_glistx, 2);
    rb_define_module_function(mDCL, "gllget", dcl_gllget, 1);
    rb_define_module_function(mDCL, "gllset", dcl_gllset, 2);
    rb_define_module_function(mDCL, "gllstx", dcl_gllstx, 2);
    rb_define_module_function(mDCL, "glrget", dcl_glrget, 1);
    rb_define_module_function(mDCL, "glrset", dcl_glrset, 2);
    rb_define_module_function(mDCL, "glrstx", dcl_glrstx, 2);
    rb_define_module_function(mDCL, "msgdmp", dcl_msgdmp, 3);
    /* vialib */
    rb_define_module_function(mDCL, "viset", dcl_viset, 4);
    rb_define_module_function(mDCL, "viinc", dcl_viinc, 5);
    rb_define_module_function(mDCL, "vifct", dcl_vifct, 5);
    rb_define_module_function(mDCL, "vicon", dcl_vicon, 5);
    rb_define_module_function(mDCL, "iadd", dcl_iadd, 4);
    rb_define_module_function(mDCL, "imlt", dcl_imlt, 4);
    rb_define_module_function(mDCL, "iset", dcl_iset, 4);
    /* viblib */
    rb_define_module_function(mDCL, "viadd", dcl_viadd, 6);
    rb_define_module_function(mDCL, "visub", dcl_visub, 6);
    rb_define_module_function(mDCL, "vimlt", dcl_vimlt, 6);
    rb_define_module_function(mDCL, "vidiv", dcl_vidiv, 6);
    /* vralib */
    rb_define_module_function(mDCL, "vrset", dcl_vrset, 4);
    rb_define_module_function(mDCL, "vrinc", dcl_vrinc, 5);
    rb_define_module_function(mDCL, "vrfct", dcl_vrfct, 5);
    rb_define_module_function(mDCL, "vrcon", dcl_vrcon, 5);
    rb_define_module_function(mDCL, "radd", dcl_radd, 4);
    rb_define_module_function(mDCL, "rmlt", dcl_rmlt, 4);
    rb_define_module_function(mDCL, "rset", dcl_rset, 4);
    /* vrblib */
    rb_define_module_function(mDCL, "vradd", dcl_vradd, 6);
    rb_define_module_function(mDCL, "vrsub", dcl_vrsub, 6);
    rb_define_module_function(mDCL, "vrmlt", dcl_vrmlt, 6);
    rb_define_module_function(mDCL, "vrdiv", dcl_vrdiv, 6);
  /*** misc1 ***/
    /* datelib */
    rb_define_module_function(mDCL, "date12", dcl_date12, 1);
    rb_define_module_function(mDCL, "date21", dcl_date21, 2);
    rb_define_module_function(mDCL, "date13", dcl_date13, 1);
    rb_define_module_function(mDCL, "date31", dcl_date31, 3);
    rb_define_module_function(mDCL, "date32", dcl_date32, 3);
    rb_define_module_function(mDCL, "datef1", dcl_datef1, 2);
    rb_define_module_function(mDCL, "dateg1", dcl_dateg1, 2);
    rb_define_module_function(mDCL, "datef2", dcl_datef2, 3);
    rb_define_module_function(mDCL, "dateg2", dcl_dateg2, 4);
    rb_define_module_function(mDCL, "datef3", dcl_datef3, 4);
    rb_define_module_function(mDCL, "dateg3", dcl_dateg3, 6);
    rb_define_module_function(mDCL, "dateq1", dcl_dateq1, 0);
    rb_define_module_function(mDCL, "datec1", dcl_datec1, 2);
    rb_define_module_function(mDCL, "dateq2", dcl_dateq2, 0);
    rb_define_module_function(mDCL, "datec2", dcl_datec2, 3);
    rb_define_module_function(mDCL, "datec3", dcl_datec3, 4);
    rb_define_module_function(mDCL, "cweek", dcl_cweek, 1);
    rb_define_module_function(mDCL, "iweek1", dcl_iweek1, 1);
    rb_define_module_function(mDCL, "iweek2", dcl_iweek2, 2);
    rb_define_module_function(mDCL, "iweek3", dcl_iweek3, 3);

}

