home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / gcl-1.000 / gcl-1 / gcl-1.0 / lsp / mislib.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-10  |  8.1 KB  |  407 lines

  1.  
  2. #include <cmpinclude.h>
  3. #include "mislib.h"
  4. init_mislib(){do_init(VV);}
  5. /*    macro definition for TIME    */
  6.  
  7. static L1()
  8. {register object *base=vs_base;
  9.     register object *sup=base+VM1; VC1
  10.     vs_reserve(VM1);
  11.     check_arg(2);
  12.     vs_top=sup;
  13.     {object V1=base[0]->c.c_cdr;
  14.     if(endp(V1))invalid_macro_call();
  15.     base[2]= (V1->c.c_car);
  16.     V1=V1->c.c_cdr;
  17.     if(!endp(V1))invalid_macro_call();}
  18.     base[3]= listA(6,VV[0],VV[1],VV[2],VV[3],list(3,VV[4],VV[5],list(2,VV[6],base[2])),VV[7]);
  19.     vs_top=(vs_base=base+3)+1;
  20.     return;
  21. }
  22. /*    local entry for function LEAP-YEAR-P    */
  23.  
  24. static object LI2(V3)
  25.  
  26. object V3;
  27. {     VMB2 VMS2 VMV2
  28. TTL:;
  29.     base[0]= (V3);
  30.     base[1]= small_fixnum(4);
  31.     vs_top=(vs_base=base+0)+2;
  32.     Lmod();
  33.     vs_top=sup;
  34.     V4= vs_base[0];
  35.     if(number_compare(small_fixnum(0),V4)==0){
  36.     goto T1;}
  37.     {object V5 = Cnil;
  38.     VMR2(V5)}
  39. T1:;
  40.     base[0]= (V3);
  41.     base[1]= small_fixnum(100);
  42.     vs_top=(vs_base=base+0)+2;
  43.     Lmod();
  44.     vs_top=sup;
  45.     V6= vs_base[0];
  46.     if(!(((number_compare(small_fixnum(0),V6)==0?Ct:Cnil))==Cnil)){
  47.     goto T6;}
  48.     {object V7 = Ct;
  49.     VMR2(V7)}
  50. T6:;
  51.     base[0]= (V3);
  52.     base[1]= small_fixnum(400);
  53.     vs_top=(vs_base=base+0)+2;
  54.     Lmod();
  55.     vs_top=sup;
  56.     V8= vs_base[0];
  57.     {object V9 = (number_compare(small_fixnum(0),V8)==0?Ct:Cnil);
  58.     VMR2(V9)}
  59. }
  60. /*    local entry for function NUMBER-OF-DAYS-FROM-1900    */
  61.  
  62. static object LI3(V11)
  63.  
  64. object V11;
  65. {     VMB3 VMS3 VMV3
  66. TTL:;
  67.     {object V12;
  68.     V12= one_minus((V11));
  69.     V13= number_minus((V11),VV[8]);
  70.     base[0]= number_times(/* INLINE-ARGS */V13,small_fixnum(365));
  71.     base[2]= (V12);
  72.     base[3]= small_fixnum(4);
  73.     vs_top=(vs_base=base+2)+2;
  74.     Lfloor();
  75.     vs_top=sup;
  76.     base[1]= vs_base[0];
  77.     base[3]= (V12);
  78.     base[4]= small_fixnum(100);
  79.     vs_top=(vs_base=base+3)+2;
  80.     Lfloor();
  81.     vs_top=sup;
  82.     V14= vs_base[0];
  83.     base[2]= number_negate(V14);
  84.     base[4]= (V12);
  85.     base[5]= small_fixnum(400);
  86.     vs_top=(vs_base=base+4)+2;
  87.     Lfloor();
  88.     vs_top=sup;
  89.     base[3]= vs_base[0];
  90.     base[4]= small_fixnum(-460);
  91.     vs_top=(vs_base=base+0)+5;
  92.     Lplus();
  93.     vs_top=sup;
  94.     {object V15 = vs_base[0];
  95.     VMR3(V15)}}
  96. }
  97. /*    function definition for DECODE-UNIVERSAL-TIME    */
  98.  
  99. static L4()
  100. {register object *base=vs_base;
  101.     register object *sup=base+VM4; VC4
  102.     vs_reserve(VM4);
  103.     {register object V16;
  104.     object V17;
  105.     if(vs_top-vs_base<1) too_few_arguments();
  106.     if(vs_top-vs_base>2) too_many_arguments();
  107.     V16=(base[0]);
  108.     vs_base=vs_base+1;
  109.     if(vs_base>=vs_top){vs_top=sup;goto T27;}
  110.     V17=(base[1]);
  111.     vs_top=sup;
  112.     goto T28;
  113. T27:;
  114.     V17= symbol_value(VV[9]);
  115. T28:;
  116.     {object V18;
  117.     object V19;
  118.     object V20;
  119.     register object V21;
  120.     register object V22;
  121.     register object V23;
  122.     object V24;
  123.     V18= Cnil;
  124.     V19= Cnil;
  125.     V20= Cnil;
  126.     V21= Cnil;
  127.     V22= Cnil;
  128.     V23= Cnil;
  129.     V24= Cnil;
  130.     V25= number_times((V17),VV[10]);
  131.     V16= number_minus((V16),/* INLINE-ARGS */V25);
  132.     base[2]= (V16);
  133.     base[3]= VV[11];
  134.     vs_top=(vs_base=base+2)+2;
  135.     Lfloor();
  136.     if(vs_base<vs_top){
  137.     V21= vs_base[0];
  138.     vs_base++;
  139.     }else{
  140.     V21= Cnil;}
  141.     if(vs_base<vs_top){
  142.     V16= vs_base[0];
  143.     }else{
  144.     V16= Cnil;}
  145.     vs_top=sup;
  146.     base[2]= (V21);
  147.     base[3]= small_fixnum(7);
  148.     vs_top=(vs_base=base+2)+2;
  149.     Lmod();
  150.     vs_top=sup;
  151.     V24= vs_base[0];
  152.     base[2]= (V16);
  153.     base[3]= VV[10];
  154.     vs_top=(vs_base=base+2)+2;
  155.     Lfloor();
  156.     if(vs_base<vs_top){
  157.     V20= vs_base[0];
  158.     vs_base++;
  159.     }else{
  160.     V20= Cnil;}
  161.     if(vs_base<vs_top){
  162.     V16= vs_base[0];
  163.     }else{
  164.     V16= Cnil;}
  165.     vs_top=sup;
  166.     base[2]= (V16);
  167.     base[3]= small_fixnum(60);
  168.     vs_top=(vs_base=base+2)+2;
  169.     Lfloor();
  170.     if(vs_base<vs_top){
  171.     V19= vs_base[0];
  172.     vs_base++;
  173.     }else{
  174.     V19= Cnil;}
  175.     if(vs_base<vs_top){
  176.     V18= vs_base[0];
  177.     }else{
  178.     V18= Cnil;}
  179.     vs_top=sup;
  180.     base[2]= (V21);
  181.     base[3]= small_fixnum(366);
  182.     vs_top=(vs_base=base+2)+2;
  183.     Lfloor();
  184.     vs_top=sup;
  185.     V26= vs_base[0];
  186.     V23= number_plus(VV[8],V26);
  187.     {register object V27;
  188.     V27= Cnil;
  189. T55:;
  190.     V28= (*(LnkLI13))((V23));
  191.     V27= number_minus((V21),/* INLINE-ARGS */V28);
  192.     if(((*(LnkLI14))((V23)))==Cnil){
  193.     goto T62;}
  194.     V29= small_fixnum(366);
  195.     goto T60;
  196. T62:;
  197.     V29= small_fixnum(365);
  198. T60:;
  199.     if(!(number_compare((V27),V29)<0)){
  200.     goto T56;}
  201.     V21= one_plus((V27));
  202.     goto T53;
  203. T56:;
  204.     V23= number_plus((V23),small_fixnum(1));
  205.     goto T55;}
  206. T53:;
  207.     if(((*(LnkLI14))((V23)))==Cnil){
  208.     goto T70;}
  209.     if(!(number_compare((V21),small_fixnum(60))==0)){
  210.     goto T73;}
  211.     base[2]= (V18);
  212.     base[3]= (V19);
  213.     base[4]= (V20);
  214.     base[5]= small_fixnum(29);
  215.     base[6]= small_fixnum(2);
  216.     base[7]= (V23);
  217.     base[8]= (V24);
  218.     base[9]= Cnil;
  219.     base[10]= (V17);
  220.     vs_top=(vs_base=base+2)+9;
  221.     return;
  222. T73:;
  223.     if(!(number_compare((V21),small_fixnum(60))>0)){
  224.     goto T70;}
  225.     V21= number_minus((V21),small_fixnum(1));
  226. T70:;
  227.     {register object V30;
  228.     V30= VV[12];
  229. T90:;
  230.     if(!(number_compare((V21),car((V30)))<=0)){
  231.     goto T91;}
  232.     { save_avma;
  233.     V31 = stoi(length((V30)));
  234.     V22= make_integer(subii(stoi(13),V31));restore_avma;}
  235.     goto T88;
  236. T91:;
  237.     V21= number_minus((V21),car((V30)));
  238.     V30= cdr((V30));
  239.     goto T90;}
  240. T88:;
  241.     base[2]= (V18);
  242.     base[3]= (V19);
  243.     base[4]= (V20);
  244.     base[5]= (V21);
  245.     base[6]= (V22);
  246.     base[7]= (V23);
  247.     base[8]= (V24);
  248.     base[9]= Cnil;
  249.     base[10]= (V17);
  250.     vs_top=(vs_base=base+2)+9;
  251.     return;}
  252.     }
  253. }
  254. /*    local entry for function ENCODE-UNIVERSAL-TIME    */
  255.  
  256. static object LI5(V37,V36,V35,V34,V33,V32,va_alist)
  257.     object V37,V36,V35,V34,V33,V32;
  258.     va_dcl 
  259. {    
  260.     va_list ap;
  261.     int narg = VFUN_NARGS; VMB5 VMS5 VMV5
  262.     {object V38;
  263.     object V39;
  264.     object V40;
  265.     object V41;
  266.     object V42;
  267.     register object V43;
  268.     object V44;
  269.     if(narg <6) too_few_arguments();
  270.     V38= V37;
  271.     V39= V36;
  272.     V40= V35;
  273.     V41= V34;
  274.     V42= V33;
  275.     V43= V32;
  276.     narg = narg - 6;
  277.     if (narg <= 0) goto T110;
  278.     else {
  279.     va_start(ap);
  280.     V44= va_arg(ap,object);}
  281.     --narg; goto T111;
  282. T110:;
  283.     V44= symbol_value(VV[9]);
  284. T111:;
  285.     V40= number_plus((V40),(V44));
  286.     base[0]= small_fixnum(0);
  287.     base[1]= (V43);
  288.     base[2]= small_fixnum(99);
  289.     vs_top=(vs_base=base+0)+3;
  290.     Lmonotonically_nondecreasing();
  291.     vs_top=sup;
  292.     if((vs_base[0])==Cnil){
  293.     goto T115;}
  294.     {object V45;
  295.     object V46;
  296.     object V47;
  297.     object V48;
  298.     object V49;
  299.     register object V50;
  300.     object V51;
  301.     object V52;
  302.     object V53;
  303.     vs_base=vs_top;
  304.     (void) (*Lnk15)();
  305.     if(vs_base>=vs_top){vs_top=sup;goto T122;}
  306.     V45= vs_base[0];
  307.     vs_base++;
  308.     if(vs_base>=vs_top){vs_top=sup;goto T123;}
  309.     V46= vs_base[0];
  310.     vs_base++;
  311.     if(vs_base>=vs_top){vs_top=sup;goto T124;}
  312.     V47= vs_base[0];
  313.     vs_base++;
  314.     if(vs_base>=vs_top){vs_top=sup;goto T125;}
  315.     V48= vs_base[0];
  316.     vs_base++;
  317.     if(vs_base>=vs_top){vs_top=sup;goto T126;}
  318.     V49= vs_base[0];
  319.     vs_base++;
  320.     if(vs_base>=vs_top){vs_top=sup;goto T127;}
  321.     V50= vs_base[0];
  322.     vs_base++;
  323.     if(vs_base>=vs_top){vs_top=sup;goto T128;}
  324.     V51= vs_base[0];
  325.     vs_base++;
  326.     if(vs_base>=vs_top){vs_top=sup;goto T129;}
  327.     V52= vs_base[0];
  328.     vs_base++;
  329.     if(vs_base>=vs_top){vs_top=sup;goto T130;}
  330.     V53= vs_base[0];
  331.     vs_top=sup;
  332.     goto T131;
  333. T122:;
  334.     V45= Cnil;
  335. T123:;
  336.     V46= Cnil;
  337. T124:;
  338.     V47= Cnil;
  339. T125:;
  340.     V48= Cnil;
  341. T126:;
  342.     V49= Cnil;
  343. T127:;
  344.     V50= Cnil;
  345. T128:;
  346.     V51= Cnil;
  347. T129:;
  348.     V52= Cnil;
  349. T130:;
  350.     V53= Cnil;
  351. T131:;
  352.     base[0]= (V50);
  353.     base[1]= small_fixnum(100);
  354.     vs_top=(vs_base=base+0)+2;
  355.     Lmod();
  356.     vs_top=sup;
  357.     V54= vs_base[0];
  358.     V55= number_minus((V50),V54);
  359.     V43= number_plus((V43),/* INLINE-ARGS */V55);
  360.     V56= number_minus((V43),(V50));
  361.     if(!(number_compare(/* INLINE-ARGS */V56,small_fixnum(-50))<0)){
  362.     goto T138;}
  363.     V43= number_plus((V43),small_fixnum(100));
  364.     goto T115;
  365. T138:;
  366.     V57= number_minus((V43),(V50));
  367.     if(!(number_compare(/* INLINE-ARGS */V57,small_fixnum(50))>=0)){
  368.     goto T115;}
  369.     V43= number_minus((V43),small_fixnum(100));}
  370. T115:;
  371.     if(((*(LnkLI14))((V43)))==Cnil){
  372.     goto T145;}
  373.     if(number_compare((V42),small_fixnum(2))>0){
  374.     goto T144;}
  375. T145:;
  376.     V41= number_minus((V41),small_fixnum(1));
  377. T144:;
  378.     base[1]= (V41);
  379.     base[2]= (*(LnkLI13))((V43));
  380.     {object V59;
  381.     base[3]= VV[12];
  382.     base[4]= number_minus(small_fixnum(13),(V42));
  383.     vs_top=(vs_base=base+3)+2;
  384.     Lbutlast();
  385.     vs_top=sup;
  386.     V59= vs_base[0];
  387.      vs_top=base+3;
  388.      while(!endp(V59))
  389.      {vs_push(car(V59));V59=cdr(V59);}
  390.     vs_base=base+1;}
  391.     Lplus();
  392.     vs_top=sup;
  393.     V58= vs_base[0];
  394.     base[0]= number_times(V58,VV[11]);
  395.     base[1]= number_times((V40),VV[10]);
  396.     base[2]= number_times((V39),small_fixnum(60));
  397.     base[3]= (V38);
  398.     vs_top=(vs_base=base+0)+4;
  399.     Lplus();
  400.     vs_top=sup;
  401.     {object V60 = vs_base[0];
  402.     VMR5(V60)}}
  403.     }
  404. static LnkT15(){ call_or_link(VV[15],&Lnk15);} /* GET-DECODED-TIME */
  405. static object  LnkTLI14(va_alist)va_dcl{va_list ap;va_start(ap);return(object )call_proc(VV[14],&LnkLI14,1,ap);} /* LEAP-YEAR-P */
  406. static object  LnkTLI13(va_alist)va_dcl{va_list ap;va_start(ap);return(object )call_proc(VV[13],&LnkLI13,1,ap);} /* NUMBER-OF-DAYS-FROM-1900 */
  407.