Diff for /loncom/homework/caparesponse/capa.i between versions 1.4 and 1.6

version 1.4, 2004/03/13 00:23:27 version 1.6, 2004/11/16 23:37:40
Line 5 Line 5
   
 %typemap(perl5,in) char** reterror (char* cvalue) {  %typemap(perl5,in) char** reterror (char* cvalue) {
   SV* tempsv;    SV* tempsv;
     int len;
   if (!SvROK($source)) {    if (!SvROK($source)) {
     croak("expected a reference\n");      croak("expected a reference\n");
   }    }
Line 12 Line 13
   if ((!SvPOK(tempsv))) {    if ((!SvPOK(tempsv))) {
     croak("expected a double reference\n");      croak("expected a double reference\n");
   }    }
   int len;  
   cvalue = SvPV(tempsv,len);    cvalue = SvPV(tempsv,len);
   $target = &cvalue;    $target = &cvalue;
 }  }
Line 25 Line 25
     free(*$source);      free(*$source);
   }    }
 }  }
   
   %typemap(perl5,in) double* scaled {
     double *temp;
     if (!SvROK($source)) {
       croak("expected a reference\n");
     }
     SV* tempsv;
     tempsv = SvRV($source);
     if (!SvPOK(tempsv) && !SvIOK(tempsv) && !SvNOK(tempsv)) {
       croak("expected a single reference to a scalar\n");
     }
     temp = malloc(sizeof(double));
     *temp = SvNV(tempsv);
     $target = temp;
   }
   
   %typemap(perl5,argout) double* scaled {
     SV *tempsv;
     tempsv = SvRV($arg);
     sv_setnv(tempsv, *$source);
     free($source);
   }
   
   
 extern int caparesponse_capa_check_answer(char *response,char *correct,  extern int caparesponse_capa_check_answer(char *response,char *correct,
    int type,int tol_type,double tolerance,     int type,int tol_type,double tolerance,
    int sig_lbound,int sig_ubound,      int sig_lbound,int sig_ubound, 
    char *ans_fmt, char *unit_str,     char *ans_fmt, char *unit_str,
    int calc, char *id_list, char *pts_list,     int calc, char *id_list, char *pts_list,
    char *rndseed, char** reterror);     char *rndseed, char** reterror);
   
   extern int caparesponse_get_real_response(char* unit_str, char* answer,
     double* scaled);

Removed from v.1.4  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>