void Fsvref(CL_FORM *base) { if(CL_SMVEC_T_P(ARG(0))) { } else { COPY(SYMVAL(Slisp, 58), ARG(2)); /* WRONG_TYPE */ COPY(ARG(0), ARG(3)); LOAD_SYMBOL(SYMBOL(Slisp, 41), ARG(4)); /* SIMPLE-VECTOR */ Ferror(ARG(2), 3); } if(CL_FIXNUMP(ARG(1))) { LOAD_FIXNUM(ARG(2), 0, ARG(2)); COPY(ARG(1), ARG(3)); LOAD_FIXNUM(ARG(5), AR_SIZE(GET_FORM(ARG(0))), ARG(4)); F1minus(ARG(4)); Fle(ARG(2), 3); } else { goto ELSE1; } if(CL_TRUEP(ARG(2))) { } else { ELSE1:; COPY(SYMVAL(Slisp, 153), ARG(2)); /* OUT_OF_RANGE */ COPY(ARG(1), ARG(3)); LOAD_FIXNUM(ARG(5), AR_SIZE(GET_FORM(ARG(0))), ARG(4)); Ferror(ARG(2), 3); } COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), GET_FIXNUM(ARG(1))), ARG(0)); }
void Fcoerce(CL_FORM *base) { if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 28)) /* LIST */ { if(CL_LISTP(ARG(0))) { } else { LOAD_SYMBOL(SYMBOL(Slisp, 28), ARG(2)); /* LIST */ COPY(ARG(0), ARG(3)); Fconcatenate(ARG(2), 2); COPY(ARG(2), ARG(0)); } } else { if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 40)) /* SIMPLE-STRING */ { if(CL_SMSTRP(ARG(0))) { } else { LOAD_SYMBOL(SYMBOL(Slisp, 40), ARG(2)); /* SIMPLE-STRING */ COPY(ARG(0), ARG(3)); Fconcatenate(ARG(2), 2); COPY(ARG(2), ARG(0)); } } else { if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 44)) /* STRING */ { COPY(ARG(0), ARG(2)); Fstringp(ARG(2)); if(CL_TRUEP(ARG(2))) { } else { LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(2)); /* STRING */ COPY(ARG(0), ARG(3)); Fconcatenate(ARG(2), 2); COPY(ARG(2), ARG(0)); } } else { if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 41)) /* SIMPLE-VECTOR */ { if(CL_SMVEC_T_P(ARG(0))) { } else { LOAD_SYMBOL(SYMBOL(Slisp, 41), ARG(2)); /* SIMPLE-VECTOR */ COPY(ARG(0), ARG(3)); Fconcatenate(ARG(2), 2); COPY(ARG(2), ARG(0)); } } else { if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 47)) /* VECTOR */ { LOAD_BOOL(CL_SMVECP(ARG(0)), ARG(2)); if(CL_TRUEP(ARG(2))) { goto THEN1; } else { COPY(ARG(0), ARG(3)); LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(4)); /* COMPLEX-VECTOR */ rt_struct_typep(ARG(3)); } if(CL_TRUEP(ARG(3))) { THEN1:; } else { LOAD_SYMBOL(SYMBOL(Slisp, 47), ARG(2)); /* VECTOR */ COPY(ARG(0), ARG(3)); Fconcatenate(ARG(2), 2); COPY(ARG(2), ARG(0)); } } else { if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 18)) /* CHARACTER */ { Fcharacter(ARG(0)); } else { LOAD_BOOL(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 24), ARG(2)); /* FLOAT */ if(CL_TRUEP(ARG(2))) { goto THEN2; } else { LOAD_BOOL(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 37), ARG(3)); /* SHORT-FLOAT */ if(CL_TRUEP(ARG(3))) { goto THEN2; } else { LOAD_BOOL(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 42), ARG(4)); /* SINGLE-FLOAT */ if(CL_TRUEP(ARG(4))) { goto THEN2; } else { LOAD_BOOL(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 22), ARG(5)); /* DOUBLE-FLOAT */ if(CL_TRUEP(ARG(5))) { goto THEN2; } else { } /* LONG-FLOAT */ } } } if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 29)) { THEN2:; LOAD_NIL(ARG(1)); float1(ARG(0)); } else { if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 48)) /* T */ { } else { LOAD_SMSTR((CL_FORM *)&KClisp[112], ARG(0)); /* cannot coerce to ~S */ Ferror(ARG(0), 2); } } } } } } } } }