File:
[LON-CAPA] /
loncom /
homework /
caparesponse /
capa.i
Revision
1.6:
download - view:
text,
annotated -
select for diffs
Tue Nov 16 23:37:40 2004 UTC (20 years, 5 months ago) by
albertel
Branches:
MAIN
CVS tags:
version_2_9_X,
version_2_9_99_0,
version_2_9_1,
version_2_9_0,
version_2_8_X,
version_2_8_99_1,
version_2_8_99_0,
version_2_8_2,
version_2_8_1,
version_2_8_0,
version_2_7_X,
version_2_7_99_1,
version_2_7_99_0,
version_2_7_1,
version_2_7_0,
version_2_6_X,
version_2_6_99_1,
version_2_6_99_0,
version_2_6_3,
version_2_6_2,
version_2_6_1,
version_2_6_0,
version_2_5_X,
version_2_5_99_1,
version_2_5_99_0,
version_2_5_2,
version_2_5_1,
version_2_5_0,
version_2_4_X,
version_2_4_99_0,
version_2_4_2,
version_2_4_1,
version_2_4_0,
version_2_3_X,
version_2_3_99_0,
version_2_3_2,
version_2_3_1,
version_2_3_0,
version_2_2_X,
version_2_2_99_1,
version_2_2_99_0,
version_2_2_2,
version_2_2_1,
version_2_2_0,
version_2_1_X,
version_2_1_99_3,
version_2_1_99_2,
version_2_1_99_1,
version_2_1_99_0,
version_2_1_3,
version_2_1_2,
version_2_1_1,
version_2_1_0,
version_2_11_4_uiuc,
version_2_11_4_msu,
version_2_11_4,
version_2_11_3_uiuc,
version_2_11_3_msu,
version_2_11_3,
version_2_11_2_uiuc,
version_2_11_2_msu,
version_2_11_2_educog,
version_2_11_2,
version_2_11_1,
version_2_11_0_RC3,
version_2_11_0_RC2,
version_2_11_0_RC1,
version_2_11_0,
version_2_10_X,
version_2_10_1,
version_2_10_0_RC2,
version_2_10_0_RC1,
version_2_10_0,
version_2_0_X,
version_2_0_99_1,
version_2_0_2,
version_2_0_1,
version_2_0_0,
version_1_99_3,
version_1_99_2,
version_1_99_1_tmcc,
version_1_99_1,
version_1_99_0_tmcc,
version_1_99_0,
version_1_3_X,
version_1_3_3,
version_1_3_2,
version_1_3_1,
version_1_3_0,
version_1_2_99_1,
version_1_2_99_0,
loncapaMITrelate_1,
language_hyphenation_merge,
language_hyphenation,
bz6209-base,
bz6209,
bz5969,
bz2851,
PRINT_INCOMPLETE_base,
PRINT_INCOMPLETE,
HEAD,
GCI_3,
GCI_2,
GCI_1,
BZ5971-printing-apage,
BZ5434-fox,
BZ4492-merge,
BZ4492-feature_horizontal_radioresponse,
BZ4492-feature_Support_horizontal_radioresponse,
BZ4492-Support_horizontal_radioresponse
- BUG#2826 $result=capa::caparesponse_get_real_response($correct_unit,$student_answer,\$scaled_answer);
- given a unit, and a student answer, $scaled_answer will be set to the floating point number that is what capa would use to compare to the 'correct answer'
- $result is an interger return code check capaCommon.h for possible values
%module capa
%{
%}
%typemap(perl5,in) char** reterror (char* cvalue) {
SV* tempsv;
int len;
if (!SvROK($source)) {
croak("expected a reference\n");
}
tempsv = SvRV($source);
if ((!SvPOK(tempsv))) {
croak("expected a double reference\n");
}
cvalue = SvPV(tempsv,len);
$target = &cvalue;
}
%typemap(perl5,argout) char ** reterror {
SV *tempsv;
tempsv = SvRV($arg);
if (($source!=NULL) && (*$source!=NULL)) {
sv_setpv(tempsv, *$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,
int type,int tol_type,double tolerance,
int sig_lbound,int sig_ubound,
char *ans_fmt, char *unit_str,
int calc, char *id_list, char *pts_list,
char *rndseed, char** reterror);
extern int caparesponse_get_real_response(char* unit_str, char* answer,
double* scaled);
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>