home *** CD-ROM | disk | FTP | other *** search
-
- /* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
- #include <cmpinclude.h>
- #include "arraylib.h"
- init_arraylib(start,size,data)char *start;int size;object data;
- { register object *base=vs_top;register object *sup=base+VM2;vs_top=sup;vs_check;
- Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
- base[0]= VV[0];
- (void)simple_symlispcall_no_event(VV[20],base+0,1);
- MF(VV[21],L2,start,size,data);
- MF(VV[22],L3,start,size,data);
- MF(VV[23],L4,start,size,data);
- MF(VV[24],L5,start,size,data);
- MF(VV[25],L6,start,size,data);
- MF(VV[26],L7,start,size,data);
- MF(VV[27],L8,start,size,data);
- MF(VV[28],L9,start,size,data);
- MF(VV[29],L10,start,size,data);
- MF(VV[30],L11,start,size,data);
- MF(VV[31],L12,start,size,data);
- MF(VV[32],L13,start,size,data);
- MF(VV[33],L14,start,size,data);
- MF(VV[34],L15,start,size,data);
- MF(VV[35],L16,start,size,data);
- MF(VV[36],L17,start,size,data);
- MF(VV[37],L18,start,size,data);
- MF(VV[38],L19,start,size,data);
- MF(VV[39],L20,start,size,data);
- MF(VV[40],L21,start,size,data);
- MF(VV[41],L22,start,size,data);
- MF(VV[42],L23,start,size,data);
- MF(VV[43],L24,start,size,data);
- MF(VV[44],L25,start,size,data);
- vs_top=vs_base=base;
- }
- /* function definition for MAKE-ARRAY */
-
- static L2()
- { register object *base=vs_base;
- register object *sup=base+VM3;
- vs_reserve(VM3);
- if(vs_top-vs_base<1) too_few_arguments();
- parse_key(vs_base+1,FALSE,FALSE,8,VV[4],VV[3],VV[5],VV[19],VV[17],VV[45],VV[46],VV[47]);
- vs_top=sup;
- if(base[9]==Cnil){
- base[1]= Ct;
- }else{}
- if(base[15]==Cnil){
- base[7]= VV[1];
- }else{}
- if(!(type_of(base[0])==t_fixnum||type_of(base[0])==t_bignum)){
- goto T5;}
- base[0]= make_cons(base[0],Cnil);
- T5:;
- if(!((length(base[0]))==(1))){
- goto T10;}
- base[18]= base[1];
- base[19]= car(base[0]);
- base[20]= base[4];
- base[21]= base[5];
- base[22]= base[6];
- base[23]= base[7];
- base[24]= base[8];
- vs_top=(vs_base=base+18)+7;
- siLmake_vector();
- vs_top=sup;
- base[17]= vs_base[0];
- if((base[10])==Cnil){
- goto T20;}
- {int V1;
- int V2;
- V1= fix(car(base[0]));
- V2= 0;
- T26:;
- if(!((V2)>=(V1))){
- goto T27;}
- goto T20;
- T27:;
- (void)(aset1(base[17],V2,base[2]));
- V2= (V2)+1;
- goto T26;}
- T20:;
- if((base[11])==Cnil){
- goto T35;}
- {int V3;
- int V4;
- V3= fix(car(base[0]));
- V4= 0;
- T41:;
- if(!((V4)>=(V3))){
- goto T42;}
- goto T35;
- T42:;
- base[18]= elt(base[3],V4);
- (void)(aset1(base[17],V4,base[18]));
- V4= (V4)+1;
- goto T41;}
- T35:;
- vs_top=(vs_base=base+17)+1;
- return;
- T10:;
- base[18]= base[1];
- base[19]= base[4];
- base[20]= base[6];
- base[21]= base[7];
- base[22]= base[8];
- {object V5;
- V5= base[0];
- vs_top=base+23;
- while(!endp(V5))
- {vs_push(car(V5));V5=cdr(V5);}
- vs_base=base+18;}
- siLmake_pure_array();
- vs_top=sup;
- base[17]= vs_base[0];
- if((base[10])==Cnil){
- goto T57;}
- base[19]= make_fixnum(length(base[0]));
- base[20]= VV[3];
- base[21]= VV[1];
- vs_top=(vs_base=base+19)+3;
- Lmake_list();
- vs_top=sup;
- base[18]= vs_base[0];
- T65:;
- base[19]= base[17];
- base[20]= base[2];
- base[21]= base[18];
- (void)simple_symlispcall_no_event(VV[48],base+19,3);
- base[19]= base[18];
- base[20]= base[0];
- vs_top=(vs_base=base+19)+2;
- L3();
- vs_top=sup;
- if((vs_base[0])==Cnil){
- goto T72;}
- goto T57;
- T72:;
- goto T65;
- T57:;
- if((base[11])==Cnil){
- goto T79;}
- base[19]= make_fixnum(length(base[0]));
- base[20]= VV[3];
- base[21]= VV[1];
- vs_top=(vs_base=base+19)+3;
- Lmake_list();
- vs_top=sup;
- base[18]= vs_base[0];
- T87:;
- base[19]=symbol_function(VV[48]);
- base[20]= base[17];
- base[22]= base[3];
- base[23]= base[18];
- vs_top=(vs_base=base+22)+2;
- L4();
- vs_top=sup;
- base[21]= vs_base[0];
- base[22]= base[18];
- (void)simple_lispcall_no_event(base+19,3);
- base[19]= base[18];
- base[20]= base[0];
- vs_top=(vs_base=base+19)+2;
- L3();
- vs_top=sup;
- if((vs_base[0])==Cnil){
- goto T96;}
- goto T79;
- T96:;
- goto T87;
- T79:;
- vs_top=(vs_base=base+17)+1;
- return;
- }
- /* function definition for INCREMENT-CURSOR */
-
- static L3()
- { register object *base=vs_base;
- register object *sup=base+VM4;
- vs_reserve(VM4);
- check_arg(2);
- vs_top=sup;
- TTL:;
- if((base[0])!=Cnil){
- goto T104;}
- base[2]= Ct;
- vs_top=(vs_base=base+2)+1;
- return;
- T104:;
- base[3]= cdr(base[0]);
- base[4]= cdr(base[1]);
- vs_top=(vs_base=base+3)+2;
- L3();
- vs_top=sup;
- base[2]= vs_base[0];
- if((base[2])==Cnil){
- goto T110;}
- if(!(((fix(car(base[0])))+1)>=(fix(car(base[1]))))){
- goto T113;}
- if(type_of(base[0])!=t_cons)FEwrong_type_argument(Scons,base[0]);
- (base[0])->c.c_car = VV[1];
- base[3]= Ct;
- vs_top=(vs_base=base+3)+1;
- return;
- T113:;
- base[3]= make_fixnum((fix(car(base[0])))+1);
- if(type_of(base[0])!=t_cons)FEwrong_type_argument(Scons,base[0]);
- (base[0])->c.c_car = base[3];
- base[3]= Cnil;
- vs_top=(vs_base=base+3)+1;
- return;
- T110:;
- base[3]= Cnil;
- vs_top=(vs_base=base+3)+1;
- return;
- }
- /* function definition for SEQUENCE-CURSOR */
-
- static L4()
- { register object *base=vs_base;
- register object *sup=base+VM5;
- vs_reserve(VM5);
- check_arg(2);
- vs_top=sup;
- TTL:;
- if((base[1])!=Cnil){
- goto T118;}
- vs_top=(vs_base=base+0)+1;
- return;
- T118:;
- base[0]= elt(base[0],fix(car(base[1])));
- base[1]= cdr(base[1]);
- goto TTL;
- }
- /* function definition for VECTOR */
-
- static L5()
- { register object *base=vs_base;
- register object *sup=base+VM6;
- vs_reserve(VM6);
- vs_top[0]=Cnil;
- {object *p=vs_top;
- for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);}
- vs_top=sup;
- base[2]= make_fixnum(length(base[0]));
- base[1]= make_cons(base[2],Cnil);
- base[2]= VV[4];
- base[3]= Ct;
- base[4]= VV[5];
- base[5]= base[0];
- vs_top=(vs_base=base+1)+5;
- L2();
- return;
- }
- /* function definition for ARRAY-DIMENSIONS */
-
- static L6()
- { register object *base=vs_base;
- register object *sup=base+VM7;
- vs_reserve(VM7);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[3]= base[0];
- vs_top=(vs_base=base+3)+1;
- Larray_rank();
- vs_top=sup;
- base[1]= vs_base[0];
- base[2]= Cnil;
- T131:;
- if(!(number_compare(base[1],VV[1])==0)){
- goto T132;}
- vs_top=(vs_base=base+2)+1;
- return;
- T132:;
- base[1]= one_minus(base[1]);
- base[4]= base[0];
- base[5]= base[1];
- vs_top=(vs_base=base+4)+2;
- Larray_dimension();
- vs_top=sup;
- base[3]= vs_base[0];
- base[2]= make_cons(base[3],base[2]);
- goto T131;
- }
- /* function definition for ARRAY-IN-BOUNDS-P */
-
- static L7()
- { register object *base=vs_base;
- register object *sup=base+VM8;
- vs_reserve(VM8);
- if(vs_top-vs_base<1) too_few_arguments();
- vs_base=vs_base+1;
- vs_top[0]=Cnil;
- {object *p=vs_top;
- for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);}
- vs_top=sup;
- base[3]= base[0];
- vs_top=(vs_base=base+3)+1;
- Larray_rank();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= make_fixnum(length(base[1]));
- if(!(number_compare(base[2],base[3])!=0)){
- goto T147;}
- base[3]= VV[6];
- base[4]= base[2];
- base[5]= make_fixnum(length(base[1]));
- vs_top=(vs_base=base+3)+3;
- Lerror();
- vs_top=sup;
- T147:;
- base[3]= VV[1];
- base[4]= base[1];
- T154:;
- if(!(number_compare(base[3],base[2])>=0)){
- goto T155;}
- base[5]= Ct;
- vs_top=(vs_base=base+5)+1;
- return;
- T155:;
- if(number_compare(car(base[4]),VV[1])<0){
- goto T160;}
- {object V6= car(base[4]);
- base[6]= base[0];
- base[7]= base[3];
- vs_top=(vs_base=base+6)+2;
- Larray_dimension();
- vs_top=sup;
- base[5]= vs_base[0];
- if(!(number_compare(V6,base[5])>=0)){
- goto T159;}}
- T160:;
- base[5]= Cnil;
- vs_top=(vs_base=base+5)+1;
- return;
- T159:;
- base[3]= one_plus(base[3]);
- base[4]= cdr(base[4]);
- goto T154;
- }
- /* function definition for ARRAY-ROW-MAJOR-INDEX */
-
- static L8()
- { register object *base=vs_base;
- register object *sup=base+VM9;
- vs_reserve(VM9);
- if(vs_top-vs_base<1) too_few_arguments();
- vs_base=vs_base+1;
- vs_top[0]=Cnil;
- {object *p=vs_top;
- for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);}
- vs_top=sup;
- base[2]= VV[1];
- base[3]= VV[1];
- base[4]= base[1];
- T172:;
- if((base[4])!=Cnil){
- goto T173;}
- vs_top=(vs_base=base+3)+1;
- return;
- T173:;
- base[5]= one_plus(base[2]);
- base[7]= base[0];
- base[8]= base[2];
- vs_top=(vs_base=base+7)+2;
- Larray_dimension();
- vs_top=sup;
- base[6]= vs_base[0];
- base[7]= number_times(base[3],base[6]);
- base[3]= number_plus(base[7],car(base[4]));
- base[4]= cdr(base[4]);
- base[2]= base[5];
- goto T172;
- }
- /* function definition for BIT */
-
- static L9()
- { register object *base=vs_base;
- register object *sup=base+VM10;
- vs_reserve(VM10);
- if(vs_top-vs_base<1) too_few_arguments();
- vs_base=vs_base+1;
- vs_top[0]=Cnil;
- {object *p=vs_top;
- for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);}
- vs_top=sup;
- base[2]= base[0];
- {object V7;
- V7= base[1];
- vs_top=base+3;
- while(!endp(V7))
- {vs_push(car(V7));V7=cdr(V7);}
- vs_base=base+2;}
- Laref();
- return;
- }
- /* function definition for SBIT */
-
- static L10()
- { register object *base=vs_base;
- register object *sup=base+VM11;
- vs_reserve(VM11);
- if(vs_top-vs_base<1) too_few_arguments();
- vs_base=vs_base+1;
- vs_top[0]=Cnil;
- {object *p=vs_top;
- for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);}
- vs_top=sup;
- base[2]= base[0];
- {object V8;
- V8= base[1];
- vs_top=base+3;
- while(!endp(V8))
- {vs_push(car(V8));V8=cdr(V8);}
- vs_base=base+2;}
- Laref();
- return;
- }
- /* function definition for BIT-AND */
-
- static L11()
- { register object *base=vs_base;
- register object *sup=base+VM12;
- vs_reserve(VM12);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T189;}
- vs_top=sup;
- goto T190;
- T189:;
- base[2]= Cnil;
- T190:;
- base[3]= VV[2];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-IOR */
-
- static L12()
- { register object *base=vs_base;
- register object *sup=base+VM13;
- vs_reserve(VM13);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T196;}
- vs_top=sup;
- goto T197;
- T196:;
- base[2]= Cnil;
- T197:;
- base[3]= VV[7];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-XOR */
-
- static L13()
- { register object *base=vs_base;
- register object *sup=base+VM14;
- vs_reserve(VM14);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T203;}
- vs_top=sup;
- goto T204;
- T203:;
- base[2]= Cnil;
- T204:;
- base[3]= VV[8];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-EQV */
-
- static L14()
- { register object *base=vs_base;
- register object *sup=base+VM15;
- vs_reserve(VM15);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T210;}
- vs_top=sup;
- goto T211;
- T210:;
- base[2]= Cnil;
- T211:;
- base[3]= VV[9];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-NAND */
-
- static L15()
- { register object *base=vs_base;
- register object *sup=base+VM16;
- vs_reserve(VM16);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T217;}
- vs_top=sup;
- goto T218;
- T217:;
- base[2]= Cnil;
- T218:;
- base[3]= VV[10];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-NOR */
-
- static L16()
- { register object *base=vs_base;
- register object *sup=base+VM17;
- vs_reserve(VM17);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T224;}
- vs_top=sup;
- goto T225;
- T224:;
- base[2]= Cnil;
- T225:;
- base[3]= VV[11];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-ANDC1 */
-
- static L17()
- { register object *base=vs_base;
- register object *sup=base+VM18;
- vs_reserve(VM18);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T231;}
- vs_top=sup;
- goto T232;
- T231:;
- base[2]= Cnil;
- T232:;
- base[3]= VV[12];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-ANDC2 */
-
- static L18()
- { register object *base=vs_base;
- register object *sup=base+VM19;
- vs_reserve(VM19);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T238;}
- vs_top=sup;
- goto T239;
- T238:;
- base[2]= Cnil;
- T239:;
- base[3]= VV[13];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-ORC1 */
-
- static L19()
- { register object *base=vs_base;
- register object *sup=base+VM20;
- vs_reserve(VM20);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T245;}
- vs_top=sup;
- goto T246;
- T245:;
- base[2]= Cnil;
- T246:;
- base[3]= VV[14];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-ORC2 */
-
- static L20()
- { register object *base=vs_base;
- register object *sup=base+VM21;
- vs_reserve(VM21);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T252;}
- vs_top=sup;
- goto T253;
- T252:;
- base[2]= Cnil;
- T253:;
- base[3]= VV[15];
- base[4]= base[0];
- base[5]= base[1];
- base[6]= base[2];
- symlispcall_no_event(VV[49],base+3,4);
- return;
- }
- /* function definition for BIT-NOT */
-
- static L21()
- { register object *base=vs_base;
- register object *sup=base+VM22;
- vs_reserve(VM22);
- if(vs_top-vs_base<1) too_few_arguments();
- if(vs_top-vs_base>2) too_many_arguments();
- vs_base=vs_base+1;
- if(vs_base>=vs_top){vs_top=sup;goto T259;}
- vs_top=sup;
- goto T260;
- T259:;
- base[1]= Cnil;
- T260:;
- base[2]= VV[16];
- base[3]= base[0];
- base[4]= base[0];
- base[5]= base[1];
- symlispcall_no_event(VV[49],base+2,4);
- return;
- }
- /* function definition for VECTOR-PUSH */
-
- static L22()
- { register object *base=vs_base;
- register object *sup=base+VM23;
- vs_reserve(VM23);
- check_arg(2);
- vs_top=sup;
- TTL:;
- {int V9;
- base[2]= base[1];
- vs_top=(vs_base=base+2)+1;
- Lfill_pointer();
- vs_top=sup;
- V9= fix(vs_base[0]);
- base[3]= base[1];
- base[4]= VV[1];
- vs_top=(vs_base=base+3)+2;
- Larray_dimension();
- vs_top=sup;
- base[2]= vs_base[0];
- if(!((V9)<(fix(base[2])))){
- goto T269;}
- (void)(aset1(base[1],V9,base[0]));
- base[2]= base[1];
- base[3]= make_fixnum((V9)+1);
- vs_top=(vs_base=base+2)+2;
- siLfill_pointer_set();
- vs_top=sup;
- base[2]= make_fixnum(V9);
- vs_top=(vs_base=base+2)+1;
- return;
- T269:;
- base[2]= Cnil;
- vs_top=(vs_base=base+2)+1;
- return;}
- }
- /* function definition for VECTOR-PUSH-EXTEND */
-
- static L23()
- { register object *base=vs_base;
- register object *sup=base+VM24;
- vs_reserve(VM24);
- if(vs_top-vs_base<2) too_few_arguments();
- if(vs_top-vs_base>3) too_many_arguments();
- vs_base=vs_base+2;
- if(vs_base>=vs_top){vs_top=sup;goto T278;}
- vs_top=sup;
- goto T279;
- T278:;
- base[3]= base[1];
- base[4]= VV[1];
- vs_top=(vs_base=base+3)+2;
- Larray_dimension();
- vs_top=sup;
- base[2]= vs_base[0];
- T279:;
- {int V10;
- base[3]= base[1];
- vs_top=(vs_base=base+3)+1;
- Lfill_pointer();
- vs_top=sup;
- V10= fix(vs_base[0]);
- base[4]= base[1];
- base[5]= VV[1];
- vs_top=(vs_base=base+4)+2;
- Larray_dimension();
- vs_top=sup;
- base[3]= vs_base[0];
- if(!((V10)<(fix(base[3])))){
- goto T286;}
- (void)(aset1(base[1],V10,base[0]));
- base[3]= base[1];
- base[4]= make_fixnum((V10)+1);
- vs_top=(vs_base=base+3)+2;
- siLfill_pointer_set();
- vs_top=sup;
- base[3]= make_fixnum(V10);
- vs_top=(vs_base=base+3)+1;
- return;
- T286:;
- base[3]= base[1];
- base[6]= base[1];
- base[7]= VV[1];
- vs_top=(vs_base=base+6)+2;
- Larray_dimension();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= number_plus(base[5],base[2]);
- base[4]= make_cons(base[6],Cnil);
- base[5]= VV[4];
- base[7]= base[1];
- vs_top=(vs_base=base+7)+1;
- Larray_element_type();
- vs_top=sup;
- base[6]= vs_base[0];
- base[7]= VV[17];
- base[8]= make_fixnum(V10);
- vs_top=(vs_base=base+3)+6;
- L25();
- vs_top=sup;
- (void)(aset1(base[1],V10,base[0]));
- base[3]= base[1];
- base[4]= make_fixnum((V10)+1);
- vs_top=(vs_base=base+3)+2;
- siLfill_pointer_set();
- vs_top=sup;
- base[3]= make_fixnum(V10);
- vs_top=(vs_base=base+3)+1;
- return;}
- }
- /* function definition for VECTOR-POP */
-
- static L24()
- { register object *base=vs_base;
- register object *sup=base+VM25;
- vs_reserve(VM25);
- check_arg(1);
- vs_top=sup;
- TTL:;
- {int V11;
- base[1]= base[0];
- vs_top=(vs_base=base+1)+1;
- Lfill_pointer();
- vs_top=sup;
- V11= fix(vs_base[0]);
- if(!((V11)==(0))){
- goto T312;}
- base[1]= VV[18];
- base[2]= base[0];
- vs_top=(vs_base=base+1)+2;
- Lerror();
- vs_top=sup;
- T312:;
- base[1]= base[0];
- base[2]= make_fixnum((V11)-1);
- vs_top=(vs_base=base+1)+2;
- siLfill_pointer_set();
- vs_top=sup;
- base[1]= aref1(base[0],(V11)-1);
- vs_top=(vs_base=base+1)+1;
- return;}
- }
- /* function definition for ADJUST-ARRAY */
-
- static L25()
- { register object *base=vs_base;
- register object *sup=base+VM26;
- vs_reserve(VM26);
- if(vs_top-vs_base<2) too_few_arguments();
- parse_key(vs_base+2,TRUE,FALSE,7,VV[4],VV[3],VV[5],VV[17],VV[45],VV[46],VV[47]);
- vs_top=sup;
- if(!(type_of(base[1])==t_fixnum||type_of(base[1])==t_bignum)){
- goto T320;}
- base[1]= make_cons(base[1],Cnil);
- T320:;
- base[18]= base[0];
- vs_top=(vs_base=base+18)+1;
- Larray_element_type();
- vs_top=sup;
- base[17]= vs_base[0];
- if(base[17]==Ct){
- goto T324;}
- base[2]= make_cons(base[17],base[2]);
- base[2]= make_cons(VV[4],base[2]);
- T324:;
- base[18]= base[1];
- base[19]= VV[19];
- base[20]= Ct;
- {object V12;
- V12= base[2];
- vs_top=base+21;
- while(!endp(V12))
- {vs_push(car(V12));V12=cdr(V12);}
- vs_base=base+18;}
- L2();
- vs_top=sup;
- base[17]= vs_base[0];
- base[19]= make_fixnum(length(base[1]));
- base[20]= VV[3];
- base[21]= VV[1];
- vs_top=(vs_base=base+19)+3;
- Lmake_list();
- vs_top=sup;
- base[18]= vs_base[0];
- T343:;
- base[19]= base[0];
- {object V13;
- V13= base[18];
- vs_top=base+20;
- while(!endp(V13))
- {vs_push(car(V13));V13=cdr(V13);}
- vs_base=base+19;}
- L7();
- vs_top=sup;
- if((vs_base[0])==Cnil){
- goto T346;}
- base[19]=symbol_function(VV[48]);
- base[20]= base[17];
- base[22]= base[0];
- {object V14;
- V14= base[18];
- vs_top=base+23;
- while(!endp(V14))
- {vs_push(car(V14));V14=cdr(V14);}
- vs_base=base+22;}
- Laref();
- vs_top=sup;
- base[21]= vs_base[0];
- base[22]= base[18];
- (void)simple_lispcall_no_event(base+19,3);
- T346:;
- base[19]= base[18];
- base[20]= base[1];
- vs_top=(vs_base=base+19)+2;
- L3();
- vs_top=sup;
- if((vs_base[0])==Cnil){
- goto T356;}
- goto T337;
- T356:;
- goto T343;
- T337:;
- base[18]= base[0];
- base[19]= base[17];
- vs_top=(vs_base=base+18)+2;
- siLreplace_array();
- return;
- }
-