You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(486) |
Jul
(201) |
Aug
(194) |
Sep
(87) |
Oct
(72) |
Nov
(72) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(6) |
Feb
(41) |
Mar
(22) |
Apr
(4) |
May
(12) |
Jun
|
Jul
|
Aug
(42) |
Sep
(21) |
Oct
(14) |
Nov
(10) |
Dec
|
2007 |
Jan
(14) |
Feb
(34) |
Mar
(61) |
Apr
(54) |
May
(140) |
Jun
(184) |
Jul
(164) |
Aug
(130) |
Sep
(241) |
Oct
(175) |
Nov
(148) |
Dec
(96) |
2008 |
Jan
(5) |
Feb
(38) |
Mar
(30) |
Apr
(46) |
May
(25) |
Jun
(22) |
Jul
(5) |
Aug
(17) |
Sep
(2) |
Oct
(100) |
Nov
(83) |
Dec
(33) |
2009 |
Jan
(127) |
Feb
(43) |
Mar
(86) |
Apr
(34) |
May
(50) |
Jun
(168) |
Jul
(48) |
Aug
(66) |
Sep
(38) |
Oct
(75) |
Nov
(113) |
Dec
(72) |
2010 |
Jan
(123) |
Feb
(68) |
Mar
(26) |
Apr
(11) |
May
(39) |
Jun
(131) |
Jul
(56) |
Aug
(79) |
Sep
(69) |
Oct
(17) |
Nov
(166) |
Dec
(32) |
2011 |
Jan
(21) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(8) |
Dec
|
2012 |
Jan
(2) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
Update of /cvsroot/stack/stack-1-0/api In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17465/api Removed Files: blank.html classtrees_Stack.html classtrees_data.html classtrees_default.html classtrees_documentation.html classtrees_frontend.html classtrees_install.html classtrees_lib.html classtrees_maxima.html classtrees_scripts.html classtrees_stackRQP.html classtrees_stackunix.html elementindex.html elementindex_Stack.html elementindex_data.html elementindex_default.html elementindex_documentation.html elementindex_frontend.html elementindex_install.html elementindex_lib.html elementindex_maxima.html elementindex_scripts.html elementindex_stackRQP.html elementindex_stackunix.html errors.html index.html li_Stack.html li_data.html li_default.html li_documentation.html li_frontend.html li_install.html li_lib.html li_maxima.html li_scripts.html li_stackRQP.html li_stackunix.html packages.html Log Message: --- li_Stack.html DELETED --- --- elementindex.html DELETED --- --- li_frontend.html DELETED --- --- elementindex_scripts.html DELETED --- --- classtrees_documentation.html DELETED --- --- classtrees_default.html DELETED --- --- elementindex_data.html DELETED --- --- classtrees_data.html DELETED --- --- classtrees_scripts.html DELETED --- --- elementindex_Stack.html DELETED --- --- li_default.html DELETED --- --- classtrees_stackunix.html DELETED --- --- blank.html DELETED --- --- li_documentation.html DELETED --- --- classtrees_stackRQP.html DELETED --- --- li_stackRQP.html DELETED --- --- classtrees_lib.html DELETED --- --- li_scripts.html DELETED --- --- elementindex_maxima.html DELETED --- --- li_maxima.html DELETED --- --- li_data.html DELETED --- --- elementindex_default.html DELETED --- --- index.html DELETED --- --- classtrees_frontend.html DELETED --- --- elementindex_stackunix.html DELETED --- --- elementindex_stackRQP.html DELETED --- --- classtrees_maxima.html DELETED --- --- elementindex_lib.html DELETED --- --- errors.html DELETED --- --- elementindex_frontend.html DELETED --- --- elementindex_documentation.html DELETED --- --- li_install.html DELETED --- --- elementindex_install.html DELETED --- --- li_lib.html DELETED --- --- li_stackunix.html DELETED --- --- classtrees_install.html DELETED --- --- packages.html DELETED --- --- classtrees_Stack.html DELETED --- |
From: Chris S. <san...@us...> - 2005-07-14 16:53:39
|
Update of /cvsroot/stack/stack-1-0/api/Stack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17465/api/Stack Removed Files: _index_php.html Log Message: --- _index_php.html DELETED --- |
From: Chris S. <san...@us...> - 2005-07-14 16:18:28
|
Update of /cvsroot/stack/stack-1-0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8501 Modified Files: rqp_client.php Log Message: Index: rqp_client.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/rqp_client.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** rqp_client.php 8 Apr 2005 15:10:29 -0000 1.4 --- rqp_client.php 14 Jul 2005 16:18:18 -0000 1.5 *************** *** 14,18 **** $wsdl = "http://localhost/stack/rqp_server.php?wsdl"; //$wsdl = "http://eee595.bham.ac.uk/~stack/rqp_server.php?wsdl"; ! $wsdl = "http://stack.bham.ac.uk/rqp_server.php?wsdl"; //$wsdl = "http://mat185.bham.ac.uk/~stack/rqp_server.php?wsdl"; --- 14,18 ---- $wsdl = "http://localhost/stack/rqp_server.php?wsdl"; //$wsdl = "http://eee595.bham.ac.uk/~stack/rqp_server.php?wsdl"; ! //$wsdl = "http://stack.bham.ac.uk/rqp_server.php?wsdl"; //$wsdl = "http://mat185.bham.ac.uk/~stack/rqp_server.php?wsdl"; |
From: Chris S. <san...@us...> - 2005-07-14 16:18:28
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8501/scripts Modified Files: stackQuestion.php Log Message: Index: stackQuestion.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackQuestion.php,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** stackQuestion.php 14 Jul 2005 12:53:41 -0000 1.23 --- stackQuestion.php 14 Jul 2005 16:18:19 -0000 1.24 *************** *** 1255,1260 **** } ! // Now check that something has been returned. ! return($this_attempt); } --- 1255,1268 ---- } ! // If no mark has been assigned then ! if (!array_key_exists('RawMark',$this_attempt)) { ! $this_attempt['RawMark'] = 0; ! if (array_key_exists('Result',$this_attempt) ) { ! if ($this_attempt['Result']) { ! $this_attempt['RawMark'] = 1; ! } ! } ! } ! return($this_attempt); } *************** *** 1461,1471 **** $this_PRattempt = stack_apply_answertest($sa,$ta,$answertest[$prn],$answertestopt[$prn],$disp,$errors); - //show_array( $this_PRattempt); - if (array_key_exists('error', $this_PRattempt['Ans'] )) { ! $NoErrors = FALSE; ! $this_attempt['Ans']['error'] = $this_PRattempt['Ans']['error']; ! ! } $this_attempt['AnswerNote'] .= ' '.stack_castext_to_display($this_PRattempt['AnswerNote'],$all_locs_Inst,$options,$errors); --- 1469,1476 ---- $this_PRattempt = stack_apply_answertest($sa,$ta,$answertest[$prn],$answertestopt[$prn],$disp,$errors); if (array_key_exists('error', $this_PRattempt['Ans'] )) { ! $NoErrors = FALSE; ! $this_attempt['Ans']['error'] = $this_PRattempt['Ans']['error']; ! } $this_attempt['AnswerNote'] .= ' '.stack_castext_to_display($this_PRattempt['AnswerNote'],$all_locs_Inst,$options,$errors); *************** *** 1567,1581 **** } } ! ! // If no mark has been assigned then ! if (!array_key_exists('RawMark',$this_attempt)) { ! $this_attempt['RawMark'] = 0; ! if (array_key_exists('Result',$this_attempt) ) { ! if ($this_attempt['Result']) { ! $this_attempt['RawMark'] = 1; ! } ! } ! } ! // Add penalty in this simple setting. if ($this_attempt['RawMark'] < 1.0) { --- 1572,1576 ---- } } ! // Add penalty in this simple setting. if ($this_attempt['RawMark'] < 1.0) { |
From: Chris S. <san...@us...> - 2005-07-14 16:18:28
|
Update of /cvsroot/stack/stack-1-0/scripts/maxima In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8501/scripts/maxima Modified Files: stackmaxima.mac Log Message: Index: stackmaxima.mac =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/maxima/stackmaxima.mac,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** stackmaxima.mac 14 Jul 2005 12:53:41 -0000 1.19 --- stackmaxima.mac 14 Jul 2005 16:18:19 -0000 1.20 *************** *** 306,326 **** */ Stack_Test(SA,SB) := ! BLOCK([KEEPFLOAT,DEMOIVRE,TRIGEXPAND,LOGEXPAND,exp], ! DEMOIVRE:TRUE, /* See pg 24 */ TRIGEXPAND:TRUE, /* See pg 80 */ LOGEXPAND:SUPER, KEEPFLOAT:TRUE, /* See pg 23 */ ! exp:trigreduce(SA-SB), ! if floatnump(exp) then RETURN(FALSE), ! exp:trigsimp(exp), ! if fullratsimp(exp)=0 then RETURN(TRUE) else RETURN(FALSE) )$ /* An answer test based on Stack_Test for the a> flag. */ ATAlgEquiv(SA,SB) := ! BLOCK([KEEPFLOAT,DEMOIVRE,TRIGEXPAND,RawMark,FeedBack,AnswerNote,str], RawMark:0, FeedBack:"", AnswerNote:"", KEEPFLOAT:TRUE, /* See pg 23 */ - DEMOIVRE:TRUE, /* See pg 24 */ /* Are we dealing with matrices? */ if matrixp(SB) then --- 306,324 ---- */ Stack_Test(SA,SB) := ! BLOCK([KEEPFLOAT,TRIGEXPAND,LOGEXPAND,ex], TRIGEXPAND:TRUE, /* See pg 80 */ LOGEXPAND:SUPER, KEEPFLOAT:TRUE, /* See pg 23 */ ! ex:trigreduce(trigexpand(trigrat(SA-SB))), ! if floatnump(ex) then RETURN(FALSE), ! exp:trigsimp(ex), ! if fullratsimp(ex)=0 then RETURN(TRUE) else RETURN(FALSE) )$ /* An answer test based on Stack_Test for the a> flag. */ ATAlgEquiv(SA,SB) := ! BLOCK([KEEPFLOAT,RawMark,FeedBack,AnswerNote,str], RawMark:0, FeedBack:"", AnswerNote:"", KEEPFLOAT:TRUE, /* See pg 23 */ /* Are we dealing with matrices? */ if matrixp(SB) then *************** *** 342,351 **** return(ATSet(SA,SB)), /* Otherwise */ - exp:trigreduce(SA-SB), - if exp=0.0 then AnswerNote:", Floating point zero found", if Stack_Test(SA,SB) then ! (RawMark:1, AnswerNote:CONCAT(AnswerNote,"Correct")) ! else ! AnswerNote:CONCAT("Incorrect",AnswerNote), str:StackReturnOb("true",STRING(RawMark),AnswerNote,FeedBack), RETURN(str) --- 340,345 ---- return(ATSet(SA,SB)), /* Otherwise */ if Stack_Test(SA,SB) then ! RawMark:1, str:StackReturnOb("true",STRING(RawMark),AnswerNote,FeedBack), RETURN(str) *************** *** 353,362 **** Stack_Matrix_Test(SA,SB) := ! BLOCK([KEEPFLOAT,DEMOIVRE,TRIGEXPAND,SAr,SAc,SBr,SBc,ZM], SAr : length(SA), SAc : length(SA[1]), SBr : length(SB), SBc : length(SB[1]), - DEMOIVRE:TRUE, /* See pg 24 */ TRIGEXPAND:TRUE, /* See pg 80 */ LOGEXPAND:SUPER, --- 347,355 ---- Stack_Matrix_Test(SA,SB) := ! BLOCK([KEEPFLOAT,TRIGEXPAND,SAr,SAc,SBr,SBc,ZM], SAr : length(SA), SAc : length(SA[1]), SBr : length(SB), SBc : length(SB[1]), TRIGEXPAND:TRUE, /* See pg 80 */ LOGEXPAND:SUPER, *************** *** 395,399 **** /* An answer test based on two matrices for SA and SB */ ATMatrix(SA,SB):= ! BLOCK([KEEPFLOAT,DEMOIVRE,TRIGEXPAND,RawMark,FeedBack,AnswerNote,str,SAr,SAc,SBr,SBc,ZM], RawMark:1, FeedBack:"", AnswerNote:"", /* Get sizes of matrices */ --- 388,392 ---- /* An answer test based on two matrices for SA and SB */ ATMatrix(SA,SB):= ! BLOCK([RawMark,FeedBack,AnswerNote,str,SAr,SAc,SBr,SBc,ZM], RawMark:1, FeedBack:"", AnswerNote:"", /* Get sizes of matrices */ *************** *** 422,426 **** /* An answer test based on two lists for SA and SB */ ATSet(SA,SB):= ! BLOCK([KEEPFLOAT,DEMOIVRE,TRIGEXPAND,RawMark,FeedBack,AnswerNote,str,SAl,SBl,ZM], RawMark:1, FeedBack:"", AnswerNote:"", /* Get sizes of matrices */ --- 415,419 ---- /* An answer test based on two lists for SA and SB */ ATSet(SA,SB):= ! BLOCK([RawMark,FeedBack,AnswerNote,str,SAl,SBl,ZM], RawMark:1, FeedBack:"", AnswerNote:"", /* Get sizes of matrices */ *************** *** 444,451 **** /* An answer test based on the Maxima's notion of equals. */ ATCASEqual(SA,SB) := ! BLOCK([KEEPFLOAT,DEMOIVRE,TRIGEXPAND,RawMark,FeedBack,AnswerNote,str], RawMark:0, FeedBack:"", AnswerNote:"", KEEPFLOAT:TRUE, /* See pg 23 */ - DEMOIVRE:TRUE, /* See pg 24 */ if SA=SB then (RawMark:1, AnswerNote:"Correct" ) --- 437,443 ---- /* An answer test based on the Maxima's notion of equals. */ ATCASEqual(SA,SB) := ! BLOCK([KEEPFLOAT,RawMark,FeedBack,AnswerNote,str], RawMark:0, FeedBack:"", AnswerNote:"", KEEPFLOAT:TRUE, /* See pg 23 */ if SA=SB then (RawMark:1, AnswerNote:"Correct" ) *************** *** 567,574 **** /* An answer test based expandp(sa). */ ATExpanded(SA) := ! BLOCK([KEEPFLOAT,DEMOIVRE,TRIGEXPAND,RawMark,FeedBack,AnswerNote,str], RawMark:0, FeedBack:"", AnswerNote:"", KEEPFLOAT:TRUE, /* See pg 23 */ - DEMOIVRE:TRUE, /* See pg 24 */ if expandp(SA) then RETURN(StackReturnOb("true","1","Correct","")) --- 559,565 ---- /* An answer test based expandp(sa). */ ATExpanded(SA) := ! BLOCK([KEEPFLOAT,RawMark,FeedBack,AnswerNote,str], RawMark:0, FeedBack:"", AnswerNote:"", KEEPFLOAT:TRUE, /* See pg 23 */ if expandp(SA) then RETURN(StackReturnOb("true","1","Correct","")) *************** *** 584,588 **** /* SBL is a list: the teacher's answer, the variable, and whether formative feedback is to be provided. */ if listp(SBL) then (SB:SBL[1], v:SBL[2], quiet:SBL[3]) else ! RETURN(StackReturnOb("false","0","ATFacForm_error_list",StackAddFeedback("","ATFacForm_error_list"))), /* If we don't have an atom as the teacher's variable, then we need to make a substitution */ if atom(v)#TRUE then (SA:subst(facdum,v,SA),SB:subst(facdum,v,SB),v:facdum), --- 575,579 ---- /* SBL is a list: the teacher's answer, the variable, and whether formative feedback is to be provided. */ if listp(SBL) then (SB:SBL[1], v:SBL[2], quiet:SBL[3]) else ! RETURN(StackReturnOb("false","0","ATFacForm_error_list",StackAddFeedback("","ATPartFrac_error_list"))), /* If we don't have an atom as the teacher's variable, then we need to make a substitution */ if atom(v)#TRUE then (SA:subst(facdum,v,SA),SB:subst(facdum,v,SB),v:facdum), *************** *** 601,605 **** /* sa is the students' ansewer, sbl is a list consisting of (1) the integrand, and (2) the variable */ ATInt(sa,sbl) := ! BLOCK([KEEPFLOAT,DEMOIVRE,RawMark,FeedBack,AnswerNote,str,da,db,dd,dc,sb,var,cont,ans], RawMark:0, FeedBack:"", AnswerNote:"", /* SBL is a list: the teacher's answer, the variable, and whether formative feedback is to be provided. */ --- 592,596 ---- /* sa is the students' ansewer, sbl is a list consisting of (1) the integrand, and (2) the variable */ ATInt(sa,sbl) := ! BLOCK([KEEPFLOAT,RawMark,FeedBack,AnswerNote,str,da,db,dd,dc,sb,var,cont,ans,ex], RawMark:0, FeedBack:"", AnswerNote:"", /* SBL is a list: the teacher's answer, the variable, and whether formative feedback is to be provided. */ *************** *** 607,616 **** ( cont:FALSE, FeedBack:StackAddFeedback("","ATInt_error_list"), AnswerNote:"ATInt_error_list"), KEEPFLOAT:TRUE, /* See pg 23 */ - DEMOIVRE:TRUE, /* See pg 24 */ if cont then (ans : int(sb,var), da:diff(sa,var), db:diff(sb,var), ! dd:float(fullratsimp(sa-ans)), dc:numberp(dd) and dd#0.0, if Stack_Test(da,sb) then --- 598,607 ---- ( cont:FALSE, FeedBack:StackAddFeedback("","ATInt_error_list"), AnswerNote:"ATInt_error_list"), KEEPFLOAT:TRUE, /* See pg 23 */ if cont then (ans : int(sb,var), da:diff(sa,var), db:diff(sb,var), ! ex:trigreduce(trigexpand(trigrat(sa-ans))), ! dd:float(ex), dc:numberp(dd) and dd#0.0, if Stack_Test(da,sb) then *************** *** 634,638 **** /* sa is the students' ansewer, sbl is a list consisting of (1) the integrand, and (2) the variable */ ATDiff(sa,sbl) := ! BLOCK([KEEPFLOAT,DEMOIVRE,TRIGEXPAND,RawMark,FeedBack,AnswerNote,str,da,db,dd,dc,sb,var,cont], RawMark:0, FeedBack:"", AnswerNote:"", /* SBL is a list: the teacher's answer, the variable, and whether formative feedback is to be provided. */ --- 625,629 ---- /* sa is the students' ansewer, sbl is a list consisting of (1) the integrand, and (2) the variable */ ATDiff(sa,sbl) := ! BLOCK([KEEPFLOAT,RawMark,FeedBack,AnswerNote,str,da,db,dd,dc,sb,var,cont], RawMark:0, FeedBack:"", AnswerNote:"", /* SBL is a list: the teacher's answer, the variable, and whether formative feedback is to be provided. */ *************** *** 640,644 **** ( cont:FALSE, FeedBack:StackAddFeedback("","ATDiff_error_list"), AnswerNote:"ATDiff_error_list"), KEEPFLOAT:TRUE, /* See pg 23 */ - DEMOIVRE:TRUE, /* See pg 24 */ if cont then ( --- 631,634 ---- |
From: Chris S. <san...@us...> - 2005-07-14 16:18:27
|
Update of /cvsroot/stack/stack-1-0/lang/en In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8501/lang/en Modified Files: stack.php Log Message: Index: stack.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/stack.php,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** stack.php 14 Jul 2005 12:53:40 -0000 1.10 --- stack.php 14 Jul 2005 16:18:18 -0000 1.11 *************** *** 308,311 **** --- 308,313 ---- $string['ATFacForm_notalgequiv'] = 'Note that your answer is not algebarically equivalent to the correct answer. You must have done something wrong. '; // needs a space at the end. + $string['ATPartFrac_error_list'] = $string['ATFacForm_error_list']; + $string['ATInt_error_list'] = $string['ATFacForm_error_list']; $string['ATInt_const_int'] = 'You need to add a constant of integration. This should be an arbitrary constant, not a number.'; |
From: Chris S. <san...@us...> - 2005-07-14 16:18:26
|
Update of /cvsroot/stack/stack-1-0/lang/en/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8501/lang/en/doc Modified Files: author_testsuite.php Log Message: Index: author_testsuite.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/author_testsuite.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** author_testsuite.php 14 Jul 2005 11:37:07 -0000 1.2 --- author_testsuite.php 14 Jul 2005 16:18:17 -0000 1.3 *************** *** 51,58 **** $testsuite[] = stack_testsuite_construct('AlgEquiv','matrix([1,2],[2,3])','matrix([1,2],[2,5])',0,'',''); // Integration test $testsuite[] = stack_testsuite_construct('Int','1/0','x^2-2*x+1',0,'',''); - $testsuite[] = stack_testsuite_construct('Int','1/0','x^2-2*x+1',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','x^3/3','x^3/3',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','x^3/3+1','x^3/3',0,'x',''); --- 51,73 ---- $testsuite[] = stack_testsuite_construct('AlgEquiv','matrix([1,2],[2,3])','matrix([1,2],[2,5])',0,'',''); + // AlgEquiv Answer tests. + + $testsuite[] = stack_testsuite_construct('CASEqual','1/0','x^2-2*x+1',0,'',''); + $testsuite[] = stack_testsuite_construct('CASEqual','4^(-1/2)','1/2',1,'','Numbers'); + $testsuite[] = stack_testsuite_construct('CASEqual','0.5','1/2',0,'','Mix of floats and rational numbers'); + $testsuite[] = stack_testsuite_construct('CASEqual','x^(1/2)','sqrt(x)',1,'',''); + $testsuite[] = stack_testsuite_construct('CASEqual','abs(x)','sqrt(x^2)',1,'',''); + $testsuite[] = stack_testsuite_construct('CASEqual','x-1','(x^2-1)/(x+1)',1,'',''); + $testsuite[] = stack_testsuite_construct('CASEqual','(x-1)^2','x^2-2*x+1',1,'','Polynomials and rational function'); + $testsuite[] = stack_testsuite_construct('CASEqual','(x-1)^(-2)','1/(x^2-2*x+1)',1,'',''); + $testsuite[] = stack_testsuite_construct('CASEqual','1/n-1/(n+1)','1/(n*(n+1))',1,'x',''); + $testsuite[] = stack_testsuite_construct('CASEqual','cos(x)','cos(-x)',1,'','Trig functions'); + $testsuite[] = stack_testsuite_construct('CASEqual','cos(x)^2+sin(x)^2','1',1,'',''); + $testsuite[] = stack_testsuite_construct('CASEqual','2*cos(x)^2-1','cos(2*x)',1,'',''); + + // Integration test $testsuite[] = stack_testsuite_construct('Int','1/0','x^2-2*x+1',0,'',''); $testsuite[] = stack_testsuite_construct('Int','x^3/3','x^3/3',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','x^3/3+1','x^3/3',0,'x',''); *************** *** 62,68 **** $testsuite[] = stack_testsuite_construct('Int','(t-1)^5/5+c','(t-1)^5/5',1,'t',''); $testsuite[] = stack_testsuite_construct('Int','2*sin(x)*cos(x)','sin(2*x)+c',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','-2*COS(3*x)/3-3*COS(2*x)/2','-2*COS(3*x)/3-3*COS(2*x)/2+c',0,'x',''); ! //$testsuite[] = stack_testsuite_construct('Int','-2*COS(3*x)/3-3*COS(2*x)/2+1','-2*COS(3*x)/3-3*COS(2*x)/2+c',0,'x',''); ! //$testsuite[] = stack_testsuite_construct('Int','-2*COS(3*x)/3-3*COS(2*x)/2+c','-2*COS(3*x)/3-3*COS(2*x)/2+c',1,'x',''); // Differentiation test --- 77,87 ---- $testsuite[] = stack_testsuite_construct('Int','(t-1)^5/5+c','(t-1)^5/5',1,'t',''); $testsuite[] = stack_testsuite_construct('Int','2*sin(x)*cos(x)','sin(2*x)+c',0,'x',''); + $testsuite[] = stack_testsuite_construct('Int','2*sin(x)*cos(x)+k','sin(2*x)+c',1,'x',''); $testsuite[] = stack_testsuite_construct('Int','-2*COS(3*x)/3-3*COS(2*x)/2','-2*COS(3*x)/3-3*COS(2*x)/2+c',0,'x',''); ! $testsuite[] = stack_testsuite_construct('Int','-2*COS(3*x)/3-3*COS(2*x)/2+1','-2*COS(3*x)/3-3*COS(2*x)/2+c',0,'x',''); ! $testsuite[] = stack_testsuite_construct('Int','-2*COS(3*x)/3-3*COS(2*x)/2+c','-2*COS(3*x)/3-3*COS(2*x)/2+c',1,'x',''); ! $testsuite[] = stack_testsuite_construct('Int','(TAN(2*t)-2*t)/2','-(t*SIN(4*t)^2-SIN(4*t)+t*COS(4*t)^2+2*t*COS(4*t)+t)/(SIN(4*t)^2+COS(4*t)^2+2*COS(4*t)+1)',0,'t',''); ! $testsuite[] = stack_testsuite_construct('Int','(TAN(2*t)-2*t)/2+1','-(t*SIN(4*t)^2-SIN(4*t)+t*COS(4*t)^2+2*t*COS(4*t)+t)/(SIN(4*t)^2+COS(4*t)^2+2*COS(4*t)+1)',0,'t',''); ! $testsuite[] = stack_testsuite_construct('Int','(TAN(2*t)-2*t)/2+c','-(t*SIN(4*t)^2-SIN(4*t)+t*COS(4*t)^2+2*t*COS(4*t)+t)/(SIN(4*t)^2+COS(4*t)^2+2*COS(4*t)+1)',1,'t',''); // Differentiation test *************** *** 123,126 **** --- 142,154 ---- $testsuite[] = stack_testsuite_construct('SA_expanded','(x-1)*(x+1)','0',0,'',''); + $testsuite[] = stack_testsuite_construct('String','Hello','hello',0,'',''); + $testsuite[] = stack_testsuite_construct('String','hello','hello',1,'',''); + + $testsuite[] = stack_testsuite_construct('StringSloppy','hello','Hello',1,'',''); + $testsuite[] = stack_testsuite_construct('StringSloppy','hel lo','Hello',1,'',''); + + $testsuite[] = stack_testsuite_construct('RegExp','3.1415927','3.1415927',1,'[0-9]*\.[0-9]*',''); + $testsuite[] = stack_testsuite_construct('RegExp','cxcxcz','3.1415927',0,'[0-9]*\.[0-9]*',''); + /* ********************************************************** */ |
From: Chris S. <san...@us...> - 2005-07-14 14:13:53
|
Update of /cvsroot/stack/stack-1-0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12942 Modified Files: question_bank.php Log Message: Index: question_bank.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/question_bank.php,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** question_bank.php 14 Jul 2005 07:27:03 -0000 1.5 --- question_bank.php 14 Jul 2005 14:13:45 -0000 1.6 *************** *** 211,217 **** echo '<font color="red">Question ID '.$questionID.' has been deleted, it was used in the following quiz(zes)'; echo stack_db_question_quiz_list_printquizname($questionID)."</font>\n"; } ! stack_db_question_drop($questionID); ! } $action = 'questionbank_screen'; break; --- 211,217 ---- echo '<font color="red">Question ID '.$questionID.' has been deleted, it was used in the following quiz(zes)'; echo stack_db_question_quiz_list_printquizname($questionID)."</font>\n"; + stack_db_question_drop($questionID); } ! } $action = 'questionbank_screen'; break; |
From: Chris S. <san...@us...> - 2005-07-14 12:54:34
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28296/scripts Modified Files: stackQuestion.php Log Message: PartFrac test added. Index: stackQuestion.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackQuestion.php,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** stackQuestion.php 14 Jul 2005 07:27:03 -0000 1.22 --- stackQuestion.php 14 Jul 2005 12:53:41 -0000 1.23 *************** *** 403,406 **** --- 403,407 ---- $stackAnswerTest['SA_factored']['imp'] = 'cas'; $stackAnswerTest['SA_expanded']['imp'] = 'cas'; + $stackAnswerTest['PartFrac']['imp'] = 'cas'; $stackAnswerTest['Diff']['imp'] = 'cas'; $stackAnswerTest['Int']['imp'] = 'cas'; *************** *** 1095,1098 **** --- 1096,1100 ---- OR 'FacForm' == $atest OR 'SA_factored' == $atest + OR 'PartFrac' == $atest OR 'Diff' == $atest OR 'Int' == $atest) { *************** *** 1105,1113 **** } if ( 'FacForm' == $atest OR 'SA_factored' == $atest OR 'Diff' == $atest OR 'Int' == $atest) { - // These tests need a list of two items, the $ta and $atest_ops $errs = validate_casstring($atest_ops); if ('' == $errs && '' != $atest_ops ) { --- 1107,1116 ---- } + // These tests need a list of two items, the $ta and $atest_ops if ( 'FacForm' == $atest OR 'SA_factored' == $atest + OR 'PartFrac' == $atest OR 'Diff' == $atest OR 'Int' == $atest) { $errs = validate_casstring($atest_ops); if ('' == $errs && '' != $atest_ops ) { |
From: Chris S. <san...@us...> - 2005-07-14 12:54:34
|
Update of /cvsroot/stack/stack-1-0/lang/en In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28296/lang/en Modified Files: stack.php Log Message: PartFrac test added. Index: stack.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/stack.php,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** stack.php 14 Jul 2005 11:28:14 -0000 1.9 --- stack.php 14 Jul 2005 12:53:40 -0000 1.10 *************** *** 279,282 **** --- 279,284 ---- //////////////////////////////////// + $string['AT_NOTIMPLEMENTED'] = 'This answer test has not been implemented.'; + $string['ATAlgEquiv_SA_notmatrix'] = 'Your answer should be a matrix, but is not.'; $string['ATAlgEquiv_SA_notlist'] = 'Your answer should be a list, but is not. Note that the syntax to enter a list is to enclose the comma separated values with square brackets.'; |
From: Chris S. <san...@us...> - 2005-07-14 12:54:34
|
Update of /cvsroot/stack/stack-1-0/scripts/CASpool In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28296/scripts/CASpool Modified Files: stackCAS.php Log Message: PartFrac test added. Index: stackCAS.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/CASpool/stackCAS.php,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** stackCAS.php 20 Jun 2005 15:42:54 -0000 1.5 --- stackCAS.php 14 Jul 2005 12:53:40 -0000 1.6 *************** *** 461,464 **** --- 461,467 ---- $cas_cmd .= " str:ATExpanded(ans), print(str), RETURN(true)); \n"; break; + case 'PartFrac'; + $cas_cmd .= " str:ATPartFrac(ans,$exp2), print(str), RETURN(true)); \n"; + break; case 'Int'; $cas_cmd .= " str:ATInt(ans,$exp2), print(str), RETURN(true)); \n"; |
From: Chris S. <san...@us...> - 2005-07-14 12:54:29
|
Update of /cvsroot/stack/stack-1-0/lang/en/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28296/lang/en/doc Modified Files: en_doc.php Log Message: PartFrac test added. Index: en_doc.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/en_doc.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** en_doc.php 14 Jul 2005 08:46:53 -0000 1.1 --- en_doc.php 14 Jul 2005 12:53:40 -0000 1.2 *************** *** 326,329 **** --- 326,331 ---- Literally in Maxima, is <tt>expand(SA)=SA</tt>?"; + $stackAnswerTest['PartFrac']['doc']="This test has not yet been implemented."; + $stackAnswerTest['Diff']['doc']="This test is a general differentiation test. The first argument is the student's answer. The answer test options needs to be the variable."; |
From: Chris S. <san...@us...> - 2005-07-14 12:54:29
|
Update of /cvsroot/stack/stack-1-0/scripts/maxima In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28296/scripts/maxima Modified Files: stackmaxima.mac Log Message: PartFrac test added. Index: stackmaxima.mac =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/maxima/stackmaxima.mac,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** stackmaxima.mac 14 Jul 2005 11:28:14 -0000 1.18 --- stackmaxima.mac 14 Jul 2005 12:53:41 -0000 1.19 *************** *** 577,580 **** --- 577,597 ---- )$ + + /* This is a partial Fractions answer test. */ + ATPartFrac(SA,SBL) := BLOCK([NEGDISTRIB,Valid,RawMark,FeedBack,AnswerNote,SB,v,quiet,facdum], + NEGDISTRIB:FALSE, + Valid:"", RawMark:1, FeedBack:StackAddFeedback("","AT_NOTIMPLEMENTED"), AnswerNote:"", + /* SBL is a list: the teacher's answer, the variable, and whether formative feedback is to be provided. */ + if listp(SBL) then (SB:SBL[1], v:SBL[2], quiet:SBL[3]) else + RETURN(StackReturnOb("false","0","ATFacForm_error_list",StackAddFeedback("","ATFacForm_error_list"))), + /* If we don't have an atom as the teacher's variable, then we need to make a substitution */ + if atom(v)#TRUE then (SA:subst(facdum,v,SA),SB:subst(facdum,v,SB),v:facdum), + /* */ + /* Harry - your code could go here */ + /* */ + if (quiet) then FeedBack:"", + RETURN(StackReturnOb("false",STRING(RawMark),AnswerNote,FeedBack)) + )$ + /*********************/ /* Calculus question */ |
From: Chris S. <san...@us...> - 2005-07-14 11:45:04
|
Update of /cvsroot/stack/stack-1-0/lang/en/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15008/lang/en/doc Modified Files: author_factsformula.php author_gettingstarted.php Log Message: Index: author_factsformula.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/author_factsformula.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** author_factsformula.php 14 Jul 2005 11:28:14 -0000 1.2 --- author_factsformula.php 14 Jul 2005 11:44:55 -0000 1.3 *************** *** 24,35 **** in any of the CAS-text fields, eg a worked solution.</p> ! <p>For example, the CAS-text <?php $fac_ex = 'The chain rule <hint>calc_chain_rule</hint> can be used ....'; - - echo '<pre>'.$fac_ex.'</pre> Is displayed as follows.'; - $locals = array(); $errors = ''; --- 24,34 ---- in any of the CAS-text fields, eg a worked solution.</p> ! <p>For example, the CAS-text</p> ! ! <p><tt>The chain rule <hint>calc_chain_rule</hint> can be used ....</tt></p> <?php $fac_ex = 'The chain rule <hint>calc_chain_rule</hint> can be used ....'; $locals = array(); $errors = ''; Index: author_gettingstarted.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/author_gettingstarted.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** author_gettingstarted.php 14 Jul 2005 08:46:53 -0000 1.1 --- author_gettingstarted.php 14 Jul 2005 11:44:55 -0000 1.2 *************** *** 154,158 **** <li>To get a displayed equation centered on a line of its own, use either <tt>$$@ stuff @$$</tt>, <tt>\[@ stuff @\]</tt>,as in LaTeX.</li> ! <li> Anything between <tt>< html> stuff < html></tt> structures is kept as HTML, and not interpreted as LaTeX. This enables URL's to be included in the text, as well as external images etc. </li> </ul></p> --- 154,158 ---- <li>To get a displayed equation centered on a line of its own, use either <tt>$$@ stuff @$$</tt>, <tt>\[@ stuff @\]</tt>,as in LaTeX.</li> ! <li> Anything between <tt><html> stuff </html></tt> structures is kept as HTML, and not interpreted as LaTeX. This enables URL's to be included in the text, as well as external images etc. </li> </ul></p> |
From: Chris S. <san...@us...> - 2005-07-14 11:37:16
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13325/scripts Modified Files: stackUnix.php Log Message: Index: stackUnix.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackUnix.php,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** stackUnix.php 14 Jul 2005 08:46:53 -0000 1.14 --- stackUnix.php 14 Jul 2005 11:37:08 -0000 1.15 *************** *** 30,34 **** 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), ! 2 => array('file', $stack_logfiles."/tex_errors.txt", 'a')); $TeXProcess = proc_open($stack_latex['command'],$descriptors, $pipes); --- 30,34 ---- 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), ! 2 => array('pipe', 'w')); $TeXProcess = proc_open($stack_latex['command'],$descriptors, $pipes); *************** *** 48,55 **** fclose($pipes[1]); } ! $ret = trim($ret); ! return $ret; } --- 48,68 ---- fclose($pipes[1]); + + // Error trapping + $err = ''; + while (!feof($pipes[2])) { + $err .= fgets($pipes[2], 1024); + } + fclose($pipes[2]); + } ! if ($errstr = strstr($err,'Error')) { ! $ret = "<p>TtH error: <font color='orange'><tt>$errstr</tt></font></p>"; ! } else { ! $ret = trim($ret); ! } ! ! return $ret; } *************** *** 131,141 **** $ret .=' The CAS timed out. ] ] ] ]'; } ! ! // Error trapping ! $err = ''; ! while (!feof($pipes[2])) { ! $err .= fgets($pipes[2], 1024); ! } ! fclose($pipes[2]); } else { --- 144,148 ---- $ret .=' The CAS timed out. ] ] ] ]'; } ! } else { *************** *** 145,155 **** } ! if ($errstr = strstr($err,'Error')) { ! $ret = "<p>TtH error: <font color='orange'><tt>$errstr</tt></font></p>"; ! } else { ! $ret = trim($ret); ! } ! ! return $ret; } --- 152,156 ---- } ! return $ret; } |
From: Chris S. <san...@us...> - 2005-07-14 11:37:16
|
Update of /cvsroot/stack/stack-1-0/lang/en/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13325/lang/en/doc Modified Files: author_testsuite.php Log Message: Index: author_testsuite.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/author_testsuite.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** author_testsuite.php 14 Jul 2005 11:28:14 -0000 1.1 --- author_testsuite.php 14 Jul 2005 11:37:07 -0000 1.2 *************** *** 149,153 **** echo "</form>"; ! if ('' == $AnsTest) { die(); } --- 149,153 ---- echo "</form>"; ! if ('' == $AnsTest OR 'default' == $AnsTest) { die(); } |
From: Chris S. <san...@us...> - 2005-07-14 11:28:28
|
Update of /cvsroot/stack/stack-1-0/lang/en/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11575/lang/en/doc Modified Files: author_factsformula.php Added Files: author_testsuite.php Removed Files: help_popup.php Log Message: Index: author_factsformula.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/author_factsformula.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** author_factsformula.php 14 Jul 2005 08:46:53 -0000 1.1 --- author_factsformula.php 14 Jul 2005 11:28:14 -0000 1.2 *************** *** 45,49 **** <?php ! $file_name = $stack_root.'/lang/'.$options['Language'].'/doc/student_factsformula.php'; require_once($file_name); --- 45,49 ---- <?php ! $file_name = stack_lang_filename($options,'doc/student_factsformula.php'); require_once($file_name); --- NEW FILE: author_testsuite.php --- <?php /** * This file runs a testsuite against a particular answer test. * */ require_once($stack_root.'/scripts/stackAuthor.php'); $docs = stack_lang_filename($options,'/doc/en_doc.php'); include($docs); /** * Construct a test suite array object. */ function stack_testsuite_construct($at,$sa,$ta,$mark,$atops='',$notes=''){ $ts = array('AnswerTest'=>$at, 'SAns'=>$sa, 'TAns'=>$ta, 'AnsTestOpt'=>$atops, 'ExpectedScore'=> $mark, 'Notes' =>$notes,); return $ts; } // AlgEquiv Answer tests. $testsuite[] = stack_testsuite_construct('AlgEquiv','1/0','x^2-2*x+1',0,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','4^(-1/2)','1/2',1,'','Numbers'); $testsuite[] = stack_testsuite_construct('AlgEquiv','4^(1/2)','sqrt(4)',1,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','0.5','1/2',0,'','Mix of floats and rational numbers'); $testsuite[] = stack_testsuite_construct('AlgEquiv','0.333333333333333','1/3',0,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','SQRT(-1)','%I',1,'','Powers and roots'); $testsuite[] = stack_testsuite_construct('AlgEquiv','x^(1/2)','sqrt(x)',1,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','x','sqrt(x^2)',0,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','abs(x)','sqrt(x^2)',1,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','x-1','(x^2-1)/(x+1)',1,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','(x-1)^2','x^2-2*x+1',1,'','Polynomials and rational function'); $testsuite[] = stack_testsuite_construct('AlgEquiv','(x-1)*(x^2+x+1)','x^3-1',1,'x',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','(x-1)^(-2)','1/(x^2-2*x+1)',1,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','1/n-1/(n+1)','1/(n*(n+1))',1,'x',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','cos(x)','cos(-x)',1,'','Trig functions'); $testsuite[] = stack_testsuite_construct('AlgEquiv','cos(x)^2+sin(x)^2','1',1,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','2*cos(x)^2-1','cos(2*x)',1,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','EXP(%i*%pi)','-1',1,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','LOG(a^2*b)','2*LOG(a)+LOG(b)',1,'','Logarithms'); $testsuite[] = stack_testsuite_construct('AlgEquiv','x','[1,2,3]',0,'','Lists'); $testsuite[] = stack_testsuite_construct('AlgEquiv','[1,2]','[1,2,3]',0,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','[1,2,4]','[1,2,3]',0,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','x','{1,2,3}',0,'','Sets'); $testsuite[] = stack_testsuite_construct('AlgEquiv','{1,2}','{1,2,3}',0,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','[1,2,4]','[1,2,3]',0,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','matrix([1,2],[2,3])','matrix([1,2],[2,3])',1,'','Matrices'); $testsuite[] = stack_testsuite_construct('AlgEquiv','matrix([1,2],[2,3])','matrix([1,2,3],[2,3,3])',0,'',''); $testsuite[] = stack_testsuite_construct('AlgEquiv','matrix([1,2],[2,3])','matrix([1,2],[2,5])',0,'',''); // Integration test $testsuite[] = stack_testsuite_construct('Int','1/0','x^2-2*x+1',0,'',''); $testsuite[] = stack_testsuite_construct('Int','1/0','x^2-2*x+1',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','x^3/3','x^3/3',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','x^3/3+1','x^3/3',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','x^3/3+c','x^3/3',1,'x',''); $testsuite[] = stack_testsuite_construct('Int','2*x','x^3/3',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','sin(2*x)','x^3/3',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','(t-1)^5/5+c','(t-1)^5/5',1,'t',''); $testsuite[] = stack_testsuite_construct('Int','2*sin(x)*cos(x)','sin(2*x)+c',0,'x',''); $testsuite[] = stack_testsuite_construct('Int','-2*COS(3*x)/3-3*COS(2*x)/2','-2*COS(3*x)/3-3*COS(2*x)/2+c',0,'x',''); //$testsuite[] = stack_testsuite_construct('Int','-2*COS(3*x)/3-3*COS(2*x)/2+1','-2*COS(3*x)/3-3*COS(2*x)/2+c',0,'x',''); //$testsuite[] = stack_testsuite_construct('Int','-2*COS(3*x)/3-3*COS(2*x)/2+c','-2*COS(3*x)/3-3*COS(2*x)/2+c',1,'x',''); // Differentiation test $testsuite[] = stack_testsuite_construct('Diff','1/0','3*x^2',0,'',''); $testsuite[] = stack_testsuite_construct('Diff','1/0','3*x^2',0,'x',''); $testsuite[] = stack_testsuite_construct('Diff','3*x^2','3*x^2',1,'x',''); $testsuite[] = stack_testsuite_construct('Diff','x^4/4','3*x^2',0,'x',''); $testsuite[] = stack_testsuite_construct('Diff','x^4/4+1','3*x^2',0,'x',''); $testsuite[] = stack_testsuite_construct('Diff','x^4/4+c','3*x^2',0,'x',''); // Factored form $testsuite[] = stack_testsuite_construct('FacForm','1/0','x^2-2*x+1',0,'',''); $testsuite[] = stack_testsuite_construct('FacForm','1/0','x^2-2*x+1',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','2*(x-1)','2*x-2',1,'x','Linear integer factors'); $testsuite[] = stack_testsuite_construct('FacForm','2*x-2','2*x-2',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','2*(x+1)','2*x-2',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','2*x+2','2*x-2',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','2*(x+0.5)','2*x+1',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','t*(2*x+1)','t*(2*x+1)',1,'x','Linear factors'); $testsuite[] = stack_testsuite_construct('FacForm','t*x+t','t*(x+1)',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','2*x*(x-3)','2*x^2-6*x',1,'x','Quadratic, with no const'); $testsuite[] = stack_testsuite_construct('FacForm','2*(x^2-3*x)','2*x*(x-3)',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','x*(2*x-6)','2*x*(x-3)',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','(x+2)*(x+3)','(x+2)*(x+3)',1,'x','Quadratic'); $testsuite[] = stack_testsuite_construct('FacForm','(x+2)*(2*x+6)','2*(x+2)*(x+3)',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','(z*x+z)*(2*x+6)','2*z*(x+1)*(x+3)',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','(x+t)*(x-t)','x^2-t^2',1,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','t^2-1','(t-1)*(t+1)',0,'t',''); $testsuite[] = stack_testsuite_construct('FacForm','(2-x)*(3-x)','(x-2)*(x-3)',1,'x','These are delicate cases!'); $testsuite[] = stack_testsuite_construct('FacForm','(1-x)^2','(x-1)^2',1,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','-(1-x)^2','-(x-1)^2',1,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','4*(1-x/2)^2','(x-2)^2',1,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','(x-1)*(x^2+x+1)','x^3-1',1,'x','Cubics'); $testsuite[] = stack_testsuite_construct('FacForm','(1-x)*(2-x)*(3-x)','-x^3+6*x^2-11*x+6',1,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','(x^2-3*x+2)*(3-x)','-x^3+6*x^2-11*x+6',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','(sin(x)+1)*(sin(x)-1)','sin(x)^2-1',1,'sin(x)','Not polynomials in a variable'); $testsuite[] = stack_testsuite_construct('FacForm','(cos(t)-sqrt(2))^2','cos(t)^2-2*sqrt(2)*cos(t)+2',1,'cos(t)',''); $testsuite[] = stack_testsuite_construct('FacForm','7','7',1,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','24*(x-1/4)','24*x-6',1,'x','Factors over other fields'); $testsuite[] = stack_testsuite_construct('FacForm','(x-sqrt(2))*(x+sqrt(2))','x^2-2',1,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','(%i*x-2*%i)','%i*(x-2)',0,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','%i*(x-2)','(%i*x-2*%i)',1,'x',''); $testsuite[] = stack_testsuite_construct('FacForm','(x-%i)*(x+%i)','x^2+1',1,'x',''); //$testsuite[] = stack_testsuite_construct('FacForm','(x-1)*(x+(1+sqrt(3)*%i)/2)*(x+(1-sqrt(3)*%i)/2)','x^3-1',1,'x',''); $testsuite[] = stack_testsuite_construct('SA_factored','1/0','0',0,'x',''); $testsuite[] = stack_testsuite_construct('SA_factored','2*(x-2)','0',1,'x','Linear integer factors'); $testsuite[] = stack_testsuite_construct('SA_factored','2*x-2','0',0,'x',''); $testsuite[] = stack_testsuite_construct('SA_factored','2*(x+0.5)','0',0,'x',''); $testsuite[] = stack_testsuite_construct('SA_factored','(2-x)*(3-x)','0',1,'x','These are delicate cases!'); $testsuite[] = stack_testsuite_construct('SA_factored','(1-x)^2','(x-1)^2',1,'x',''); $testsuite[] = stack_testsuite_construct('SA_expanded','1/0','0',1,'',''); $testsuite[] = stack_testsuite_construct('SA_expanded','x^2-1','0',1,'',''); $testsuite[] = stack_testsuite_construct('SA_expanded','(x-1)*(x+1)','0',0,'',''); /* ********************************************************** */ /* Get incoming data, process this, print the form and set up */ /* all options in order to choose one test suite. */ /* ********************************************************** */ // Now perform the tests, and display the results. $disp = 'LaTeX'; $errors = array(); $AnsTest = ''; if (array_key_exists('AnsTest',$_POST)) { $AnsTest = $_POST['AnsTest']; } // echo "<h2>Please choose an answer test.</h2>"; echo "<form name=\"ChooseAnsTest\" action=\"\" method=\"POST\">\n"; echo stack_question_edit_option_form('AnsTest','AnsTest',$AnsTest,''); echo '<input type="submit" value="Submit" />'; echo "</form>"; if ('' == $AnsTest) { die(); } echo "<hr /><h1>Test suite for $AnsTest</h1>\n"; echo $stackAnswerTest[$AnsTest]['doc']; $all_passed = TRUE; echo "<p><table border='1' cellpadding='2'>\n\n"; // (4) Sort out and display the output echo "<tr> <th> pass? </th> <th> TAns </th> <th> SAns </th> <th> Ans </th> <th> Errors </th> <th> RawMark </th> <th> Expected </th> <th> FeedBack </th> <th> AnswerNote </th></tr>"; foreach ($testsuite as $ts) { // (0) Check this is the required AnswerTest. if ($ts['AnswerTest'] == $AnsTest) { $err = ''; // (1) Apply the AnswerTest $this_attempt = stack_apply_answertest($ts['SAns'],$ts['TAns'],$ts['AnswerTest'],$ts['AnsTestOpt'],$disp,$err); // (2) Process $this_attempt $dispans = ''; $errans = ''; if (array_key_exists('Ans',$this_attempt)) { if (array_key_exists('display',$this_attempt['Ans'])) { $dispans=$this_attempt['Ans']['display']; } if (array_key_exists('error',$this_attempt['Ans'])) { $errans='<font color="red">'.$this_attempt['Ans']['error'].'</font>'; } } if (array_key_exists('Valid',$this_attempt)) { if ('false' == $this_attempt['Valid']) { $errans .= ' <font color="red">[invalid]</font>'; } } if (''!=$dispans) { $locs = array(); $dispans = stack_castext_to_display('$$'.$dispans.'$$', $locs , $disp,$errors); // Remove <br clear="all" /> from the beginning. if ('<br clear="all" />'==substr($dispans,0,18)) { $dispans = substr($dispans,18); } } $feedback = ''; if (array_key_exists('FeedBack',$this_attempt)) { $locs = array(); $feedback = stack_castext_to_display($this_attempt['FeedBack'], $locs , $disp,$errors); } if (array_key_exists('RawMark',$this_attempt)) { $rawmark = $this_attempt['RawMark']; } else { $rawmark = NULL; } if ( $ts['ExpectedScore'] == $rawmark ) { $outcome = '<font color="green">pass</font>'; } else { $all_passed = FALSE; $outcome = '<font color="red">fail</font>'; } // (3) Echo notes. echo "<tr>\n"; echo " <td colspan = \"9\">{$ts['Notes']}</td>\n"; echo "</tr>\n"; // (4) Construct the row. echo " <td> $outcome </td>\n"; echo " <td nowrap=\"nowrap\">".stack_s($ts['TAns'])." </td>\n "; echo " <td nowrap=\"nowrap\">".stack_s($ts['SAns'])." </td>\n "; echo " <td> $dispans </td>\n "; echo " <td> $errans </td>\n "; echo " <td> $rawmark </td>\n "; echo " <td> {$ts['ExpectedScore']} </td>\n"; echo " <td> $feedback </td>\n "; if (array_key_exists('AnswerNote',$this_attempt)) { echo " <td> {$this_attempt['AnswerNote']} </td>\n "; } else { echo " <td>   </td>\n "; } echo "</tr>\n"; } // End of check for which AnswerTest this is. } echo "</table></p>\n\n"; // (7) Overall, did all the tests pass if ( $all_passed ) { echo '<h2><font color="green">All tests passed!</font></h2>'; } else { echo '<h2><font color="red">Not all tests passed!</font></h2>'; } echo "<hr />\n"; ?> --- help_popup.php DELETED --- |
From: Chris S. <san...@us...> - 2005-07-14 11:28:28
|
Update of /cvsroot/stack/stack-1-0/scripts/maxima In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11575/scripts/maxima Modified Files: stackmaxima.mac Log Message: Index: stackmaxima.mac =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/maxima/stackmaxima.mac,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** stackmaxima.mac 8 Jul 2005 14:14:28 -0000 1.17 --- stackmaxima.mac 14 Jul 2005 11:28:14 -0000 1.18 *************** *** 184,190 **** )$ ! /* ********************************** */ ! /* A return object string */ ! /* ********************************** */ StackReturnOb(val,rawmk,ansnote,fb):=BLOCK([str], --- 184,194 ---- )$ ! /* ******************************************* */ ! /* A return object string */ ! /* */ ! /* val should be either "true" or "false" */ ! /* rawmk should be a float/int between 0 and 1 */ ! /* amswernote, is for teacher stats */ ! /* ******************************************* */ StackReturnOb(val,rawmk,ansnote,fb):=BLOCK([str], |
From: Chris S. <san...@us...> - 2005-07-14 11:28:28
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11575/scripts Modified Files: stackUtility.php Log Message: Index: stackUtility.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackUtility.php,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** stackUtility.php 14 Jul 2005 08:46:53 -0000 1.26 --- stackUtility.php 14 Jul 2005 11:28:14 -0000 1.27 *************** *** 175,179 **** /** ! * Translates a string from Maxima. * * This function takes a variable number of arguments, the first of which is assumed to be the identifier --- 175,203 ---- /** ! * Create the a filename, given the current options. ! * ! */ ! function stack_lang_filename($options,$fn) { ! global $stack_root; ! ! if (array_key_exists('Language',$options)) { ! $lang = $options['Language']; ! } else { ! $lang = 'en'; ! } ! ! $filename = $stack_root."/lang/$lang/$fn"; ! ! if (!file_exists($filename)) { ! // The file has not been translated - so give them the English instead. ! $filename = $stack_root.'/lang/en/'.$fn; ! } ! ! return $filename; ! ! } ! ! /** ! * Translates a string taken as output from Maxima. * * This function takes a variable number of arguments, the first of which is assumed to be the identifier |
From: Chris S. <san...@us...> - 2005-07-14 11:28:28
|
Update of /cvsroot/stack/stack-1-0/scripts/install In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11575/scripts/install Removed Files: testsuite.php Log Message: --- testsuite.php DELETED --- |
From: Chris S. <san...@us...> - 2005-07-14 11:28:28
|
Update of /cvsroot/stack/stack-1-0/lang/en In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11575/lang/en Modified Files: stack.php Log Message: Index: stack.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/stack.php,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** stack.php 14 Jul 2005 08:46:53 -0000 1.8 --- stack.php 14 Jul 2005 11:28:14 -0000 1.9 *************** *** 224,227 **** --- 224,228 ---- $string['menu_Options'] = 'Options'; $string['menu_AnswerT'] = 'Answer tests'; + $string['menu_TestSuite'] = 'Test suite'; $string['menu_FAQ'] = 'FAQ'; $string['menu_FAF'] = 'Fact sheet'; |
From: Chris S. <san...@us...> - 2005-07-14 11:28:26
|
Update of /cvsroot/stack/stack-1-0/html In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11575/html Modified Files: admin-menu.txt helpform.php Added Files: help_popup.php Log Message: Index: helpform.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/html/helpform.php,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** helpform.php 20 Jun 2005 15:42:53 -0000 1.5 --- helpform.php 14 Jul 2005 11:28:14 -0000 1.6 *************** *** 18,22 **** */ ! echo "<form name=\"stackquestionhelpform\" action=\"{$stack_web_url}doc/help_popup.php\" method=\"POST\">"; ?> <input type="hidden" name="field" value="" /> <input type="hidden" name="variable" value="" /> --- 18,22 ---- */ ! echo "<form name=\"stackquestionhelpform\" action=\"{$stack_web_url}html/help_popup.php\" method=\"POST\">"; ?> <input type="hidden" name="field" value="" /> <input type="hidden" name="variable" value="" /> Index: admin-menu.txt =================================================================== RCS file: /cvsroot/stack/stack-1-0/html/admin-menu.txt,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** admin-menu.txt 14 Jul 2005 08:46:52 -0000 1.12 --- admin-menu.txt 14 Jul 2005 11:28:14 -0000 1.13 *************** *** 16,19 **** --- 16,20 ---- ..menu_Options|documentation.php?action=author_options ..menu_AnswerT|documentation.php?action=author_answertest + ..menu_TestSuite|documentation.php?action=author_testsuite ..menu_PR|documentation.php?action=author_potresp ..menu_FAF|documentation.php?action=author_factsformula --- NEW FILE: help_popup.php --- <?php /** * Generates help files. * This file is used in the help popup windows, for individual fields. * * This is used by both the student and teacher. * * @package documentation * @subpackage Stack */ ?> <head> <title>Stack help!</title> <style type="text/css"> @import url(stack.css); </style> <script type="text/javascript"> window.focus(); </script> <?php include('../stackstd.php'); // HACK for now. $options = stack_options_set(array()); $filename = stack_lang_filename($options,'doc/en_doc.php'); include($filename); include("{$stack_root}/html/htmlstyle.html"); // HACK! $lang = 'en'; $disp_opt = 'LaTeX'; ?> </head> <body> <?php $field = $_POST['field']; $variable = $_POST['variable']; if (array_key_exists('field',$_GET)) { $field = $_GET['field']; } if (array_key_exists('variable',$_GET)) { $variable = $_GET['variable']; } //show_array($_POST); //echo $variable; if ('student' == $field) { include('student_input.php'); } else if('fact' == $variable) { //<a href="javascript:HelpPopup('calc_product_rule','fact');">A fact!</a> // These allow the student to ask for help in the popup window. $fn = $stack_root.'/lang/'.$lang.'/doc/student_factsformula.php'; include($fn); if (array_key_exists($field,$stackFact)) { $name = $stackFact[$field]['name']; $fact = $stackFact[$field]['fact']; $strout = stack_latex_to_html($fact); echo "<h2><img src='$stack_web_url/pics/logo_sm.png' /> $name</h2><p>$strout</p>"; } } else if('all' == $field) { // Then we would like a lot of documentation. // This needs to come after 'fact' $filename=$variable.'.php'; include($filename); } else { if ('stackQuestion' == $variable) { $q_field = $stackQuestion[$field]; $fn = 'stackQuestion_'.$field;} else if ('stackOptions' == $variable) { $q_field = $stackOptions[$field]; $fn = 'stackOptions_'.$field; } else if ('stackQuestionPotResp' == $variable) { $q_field = $stackQuestionPotResp[$field]; $fn = 'stackQuestion_PR_'.$field; } $fd = get_string($fn,'stack',''); echo "<h3>$fd</h3>"; echo $q_field['doc']; echo "<p>"; echo "Name of field: <font color=orange><tt>$field</tt></font>. Type of field: <font color=orange><tt>{$q_field['type']}</tt></font>."; if (array_key_exists('required',$q_field)) { echo " Required: <font color=orange><tt>{$q_field['required']}</tt></font>."; } } ?> </body></html> |
From: Chris S. <san...@us...> - 2005-07-14 11:28:26
|
Update of /cvsroot/stack/stack-1-0 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11575 Modified Files: documentation.php Log Message: Index: documentation.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/documentation.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** documentation.php 14 Jul 2005 08:46:52 -0000 1.4 --- documentation.php 14 Jul 2005 11:28:13 -0000 1.5 *************** *** 47,51 **** include($stack_root.'/maximadocs/functions.php'); } else if ('' != $action) { // Other documentation ! $file_name = $stack_root.'/lang/'.$options['Language']."/doc/{$action}.php"; include($file_name); } --- 47,51 ---- include($stack_root.'/maximadocs/functions.php'); } else if ('' != $action) { // Other documentation ! $file_name = stack_lang_filename($options,"/doc/{$action}.php"); include($file_name); } |
Update of /cvsroot/stack/stack-1-0/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15328/doc Removed Files: about_develop.php about_general.php about_install.php author_answertest.php author_commonsyntax.php author_faq.php author_gettingstarted.php author_maxima.php author_options.php author_potresp.php author_questionfields.php en_doc.php help_popup.php stackcvs.png student_assessmentmode.php student_forbidden.php student_input.php student_overview.php student_practicemode.php student_understandingoutput.php Log Message: Moved the documentation --- about_install.php DELETED --- --- author_faq.php DELETED --- --- author_maxima.php DELETED --- --- student_input.php DELETED --- --- student_forbidden.php DELETED --- --- author_options.php DELETED --- --- help_popup.php DELETED --- --- author_commonsyntax.php DELETED --- --- author_answertest.php DELETED --- --- student_understandingoutput.php DELETED --- --- about_general.php DELETED --- --- author_potresp.php DELETED --- --- about_develop.php DELETED --- --- author_questionfields.php DELETED --- --- author_gettingstarted.php DELETED --- --- student_assessmentmode.php DELETED --- --- student_practicemode.php DELETED --- --- stackcvs.png DELETED --- --- en_doc.php DELETED --- --- student_overview.php DELETED --- |
From: Chris S. <san...@us...> - 2005-07-14 08:47:05
|
Update of /cvsroot/stack/stack-1-0/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15328/scripts Modified Files: stackUnix.php stackUtility.php stackWin.php Log Message: Moved the documentation Index: stackUnix.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackUnix.php,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** stackUnix.php 14 Jul 2005 07:34:56 -0000 1.13 --- stackUnix.php 14 Jul 2005 08:46:53 -0000 1.14 *************** *** 75,79 **** 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), ! 2 => array('file', $stack_logfiles."cas_errors.txt", 'a')); $CASProcess = proc_open($stack_cas['command'],$descriptors, $pipes); --- 75,79 ---- 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), ! 2 => array('pipe', 'w')); $CASProcess = proc_open($stack_cas['command'],$descriptors, $pipes); *************** *** 131,134 **** --- 131,141 ---- $ret .=' The CAS timed out. ] ] ] ]'; } + + // Error trapping + $err = ''; + while (!feof($pipes[2])) { + $err .= fgets($pipes[2], 1024); + } + fclose($pipes[2]); } else { *************** *** 138,142 **** } ! $ret = trim($ret); return $ret; --- 145,153 ---- } ! if ($errstr = strstr($err,'Error')) { ! $ret = "<p>TtH error: <font color='orange'><tt>$errstr</tt></font></p>"; ! } else { ! $ret = trim($ret); ! } return $ret; Index: stackUtility.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackUtility.php,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** stackUtility.php 14 Jul 2005 07:27:04 -0000 1.25 --- stackUtility.php 14 Jul 2005 08:46:53 -0000 1.26 *************** *** 750,754 **** $html =''; ! if (substr('<hint>',$strin)) { // We have something to do. preg_match_all('|<hint>(.*)</hint>|U',$strin,$html_match); --- 750,754 ---- $html =''; ! if (strstr($strin,'<hint>')) { // We have something to do. preg_match_all('|<hint>(.*)</hint>|U',$strin,$html_match); *************** *** 767,771 **** $html =''; $html_no = 0; ! if (substr('<html>',$strin)) { // We have something to do. preg_match_all('|<html>(.*)</html>|U',$strin,$html_match); --- 767,771 ---- $html =''; $html_no = 0; ! if (strstr($strin,'<html>')) { // We have something to do. preg_match_all('|<html>(.*)</html>|U',$strin,$html_match); Index: stackWin.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/scripts/stackWin.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** stackWin.php 14 Jul 2005 07:27:04 -0000 1.4 --- stackWin.php 14 Jul 2005 08:46:53 -0000 1.5 *************** *** 30,34 **** 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), ! 2 => array('file', $stack_logfiles."/tex_errors.txt", 'a')); $TeXProcess = proc_open($stack_latex['command'],$descriptors, $pipes); --- 30,34 ---- 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), ! 2 => array('pipe', 'w')); $TeXProcess = proc_open($stack_latex['command'],$descriptors, $pipes); *************** *** 46,54 **** $ret .= fgets($pipes[1], 1024); } - fclose($pipes[1]); - } ! $ret = trim($ret); //$ret = '<pre>'.$strin."</pre>\n"; --- 46,64 ---- $ret .= fgets($pipes[1], 1024); } fclose($pipes[1]); ! $err = ''; ! while (!feof($pipes[2])) { ! $err .= fgets($pipes[2], 1024); ! } ! fclose($pipes[2]); ! ! } ! ! if ($errstr = strstr($err,'Error')) { ! $ret = "<p>TtH error: <font color='orange'><tt>$errstr</tt></font></p>"; ! } else { ! $ret = trim($ret); ! } //$ret = '<pre>'.$strin."</pre>\n"; |