void FFI_c_float(CL_FORM *base) { if(CL_FLOATP(ARG(0))) { rt_make_c_float(ARG(0)); } else { COPY(ARG(0), ARG(1)); c_floating_p(ARG(1)); if(CL_TRUEP(ARG(1))) { rt_cast_c_float(ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[18], ARG(1)); /* C-FLOAT */ COPY(SYMVAL(Slisp, 714), ARG(2)); /* NO-FLOAT */ COPY(ARG(0), ARG(3)); error_in(ARG(1), 3); } } }
void FFI_c_float(CL_FORM *base) { if(CL_FLOATP(ARG(0))) { rt_make_c_float(ARG(0)); } else { COPY(ARG(0), ARG(1)); FFI_c_float_p(ARG(1)); if(CL_TRUEP(ARG(1))) { rt_cast_c_float(ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[30], ARG(1)); /* C-FLOAT */ LOAD_SMSTR((CL_FORM *)&KClisp[28], ARG(2)); /* The evaluated value ~S is not of type float. */ COPY(ARG(0), ARG(3)); error_in(ARG(1), 3); } } }