Log of /trunk/pg/macros
Directory Listing
Revision
5076 -
Directory Listing
Modified
Fri Jun 29 02:02:41 2007 UTC (12 years, 5 months ago) by
dpvc
Renamed the MultiPart object as the MultiAnswer object. The MultiPart
object now issues a warning indicating that change so that problem
authors will be encouraged to change their code.
Revision
5075 -
Directory Listing
Modified
Thu Jun 28 23:53:40 2007 UTC (12 years, 5 months ago) by
dpvc
Use new context methods.
Revision
5074 -
Directory Listing
Modified
Thu Jun 28 23:44:45 2007 UTC (12 years, 5 months ago) by
dpvc
Updated to use new context methods.
Revision
5073 -
Directory Listing
Modified
Thu Jun 28 23:42:18 2007 UTC (12 years, 5 months ago) by
dpvc
Use new context methods.
Revision
5071 -
Directory Listing
Modified
Thu Jun 28 23:19:00 2007 UTC (12 years, 5 months ago) by
dpvc
Correct and expand some documentation.
Revision
5070 -
Directory Listing
Modified
Thu Jun 28 22:49:38 2007 UTC (12 years, 5 months ago) by
dpvc
Fixed up some comments and spacing.
Revision
5069 -
Directory Listing
Modified
Thu Jun 28 22:48:41 2007 UTC (12 years, 5 months ago) by
dpvc
Use the new context methods, and restructure the saving/restoring of contexts.
Revision
5066 -
Directory Listing
Modified
Thu Jun 28 22:31:59 2007 UTC (12 years, 5 months ago) by
dpvc
Updated to use the new context methods.
Revision
5061 -
Directory Listing
Modified
Thu Jun 28 20:44:17 2007 UTC (12 years, 5 months ago) by
dpvc
Update to use new context methods.
Revision
5059 -
Directory Listing
Modified
Thu Jun 28 20:17:12 2007 UTC (12 years, 5 months ago) by
dpvc
Updated to use new context methods.
Revision
5055 -
Directory Listing
Modified
Thu Jun 28 02:28:20 2007 UTC (12 years, 5 months ago) by
dpvc
Update to use new context methods.
Revision
5054 -
Directory Listing
Modified
Thu Jun 28 02:26:44 2007 UTC (12 years, 5 months ago) by
dpvc
Updated to use new package method to look up the Formula package name.
Revision
5053 -
Directory Listing
Modified
Thu Jun 28 02:23:21 2007 UTC (12 years, 5 months ago) by
dpvc
Change documentation for how to copy a context.
Revision
5052 -
Directory Listing
Modified
Thu Jun 28 02:21:32 2007 UTC (12 years, 5 months ago) by
dpvc
Use new package method to find the Function package name.
Revision
5051 -
Directory Listing
Modified
Thu Jun 28 02:20:00 2007 UTC (12 years, 5 months ago) by
dpvc
Use new context methods.
Revision
5050 -
Directory Listing
Modified
Thu Jun 28 02:17:32 2007 UTC (12 years, 5 months ago) by
dpvc
Updated context method calls.
Revision
5049 -
Directory Listing
Modified
Thu Jun 28 02:14:33 2007 UTC (12 years, 5 months ago) by
dpvc
Use the new context copying method, and copy the Point context not the
Vector context.
Revision
5048 -
Directory Listing
Modified
Thu Jun 28 02:11:28 2007 UTC (12 years, 5 months ago) by
dpvc
Updated to use new context methods.
Revision
5047 -
Directory Listing
Modified
Thu Jun 28 02:08:18 2007 UTC (12 years, 5 months ago) by
dpvc
The file needs to return a true value.
Revision
5046 -
Directory Listing
Modified
Thu Jun 28 02:06:36 2007 UTC (12 years, 5 months ago) by
dpvc
Updated to use new context copying method.
Revision
5045 -
Directory Listing
Modified
Thu Jun 28 01:55:03 2007 UTC (12 years, 5 months ago) by
dpvc
Updated to use the new context copy method.
Revision
5044 -
Directory Listing
Modified
Thu Jun 28 01:51:27 2007 UTC (12 years, 5 months ago) by
dpvc
Use the new method to copy the String context
Revision
5043 -
Directory Listing
Modified
Thu Jun 28 01:39:58 2007 UTC (12 years, 5 months ago) by
dpvc
Updated to comply with recent changes in the Value library.
Revision
5017 -
Directory Listing
Modified
Fri Jun 22 12:40:32 2007 UTC (12 years, 5 months ago) by
dpvc
Left out a "return" in my changes of two weeks ago. OOPS!
Revision
5000 -
Directory Listing
Modified
Tue Jun 12 01:02:05 2007 UTC (12 years, 6 months ago) by
gage
done testing
Revision
4999 -
Directory Listing
Modified
Tue Jun 12 01:00:53 2007 UTC (12 years, 6 months ago) by
gage
testing -- please ignore
Revision
4998 -
Directory Listing
Modified
Tue Jun 12 01:00:10 2007 UTC (12 years, 6 months ago) by
gage
testing -- added a space.
Revision
4997 -
Directory Listing
Modified
Mon Jun 11 18:16:40 2007 UTC (12 years, 6 months ago) by
gage
Fixing docementation so that it can be read from the web.
Revision
4990 -
Directory Listing
Modified
Thu Jun 7 23:48:20 2007 UTC (12 years, 6 months ago) by
dpvc
More updates to use the new Value->Package() call. This will make the
standard object-creation functions like Real() and Complex() use the
new lookup method.
Revision
4986 -
Directory Listing
Modified
Thu Jun 7 18:19:56 2007 UTC (12 years, 6 months ago) by
sroubos
Changed POD documentation
Revision
4985 -
Directory Listing
Modified
Thu Jun 7 17:42:29 2007 UTC (12 years, 6 months ago) by
sroubos
Make readable by POD documentation from the web
Revision
4984 -
Directory Listing
Modified
Thu Jun 7 13:20:36 2007 UTC (12 years, 6 months ago) by
dpvc
Always root the current directory in the templates directory (unless
it is an absolute reference absolute).
Include the set number in the names of PNG files, just like in GIF and
other files, so that they will not conflict with ones of the same name
in other sets.
Revision
4983 -
Directory Listing
Modified
Thu Jun 7 13:14:52 2007 UTC (12 years, 6 months ago) by
dpvc
Allow Compute() to create formulas as well as Value objects (with the
correct answer set to the original formula).
Also update some comments and formatting.
Revision
4982 -
Directory Listing
Modified
Thu Jun 7 13:12:45 2007 UTC (12 years, 6 months ago) by
dpvc
Normalized the definitions of i, j, k, etc.
Revision
4978 -
Directory Listing
Modified
Wed Jun 6 23:23:34 2007 UTC (12 years, 6 months ago) by
dpvc
This file is now obsolete since the functionality has been added to
the Real and Complex objects directly. So this file is maintained
only for backward compatibility.
Revision
4977 -
Directory Listing
Modified
Wed Jun 6 23:02:06 2007 UTC (12 years, 6 months ago) by
dpvc
Foxed some documentation. You use the standard "Numeric" and
"Complex" contexts, not "RealPeriodic" and "ComplexPeriodic",
for these.
Revision
4974 -
Directory Listing
Modified
Wed Jun 6 17:58:03 2007 UTC (12 years, 6 months ago) by
gage
This is an experimental version of PGcomplexmacros2Exp.pl
Revision
4969 -
Directory Listing
Modified
Thu May 24 17:55:37 2007 UTC (12 years, 6 months ago) by
gage
Pod documentation upgrades
Revision
4968 -
Directory Listing
Modified
Thu May 24 12:44:58 2007 UTC (12 years, 6 months ago) by
gage
Pod documentation added
Revision
4967 -
Directory Listing
Modified
Thu May 24 12:05:30 2007 UTC (12 years, 6 months ago) by
gage
Added pod documentation
Revision
4966 -
Directory Listing
Modified
Wed May 23 17:30:35 2007 UTC (12 years, 6 months ago) by
gage
Added Davide Cervone's methods for evaluating formulas module 2pi
Used in complex variables in particular.
Revision
4963 -
Directory Listing
Modified
Tue May 22 17:46:52 2007 UTC (12 years, 6 months ago) by
dpvc
When complex=>'ok' is used, make a COPY of the Complex context before
modifying it. (Otherwise we modify the ORIGINAL copy, and that is
persistent from problem to problem within one httpd child, which would
mean one problem could affect later ones.)
Revision
4961 -
Directory Listing
Modified
Tue May 15 17:48:28 2007 UTC (12 years, 6 months ago) by
gage
Update pod.
Revision
4928 -
Directory Listing
Modified
Tue Apr 17 00:36:16 2007 UTC (12 years, 7 months ago) by
dpvc
Modified the way the Parser-based versions of the traditional answer
checkers get copies of their contexts. They now use a new method
getCopy to obtain the copy either from the problem's context table or
the default table (rather than only from the default). That way the
instructor can use parserCustomization.pl to customize the contexts
used by the answer checkers.
Revision
4887 -
Directory Listing
Modified
Thu Mar 15 22:08:55 2007 UTC (12 years, 8 months ago) by
glarose
Update quiz prefix for arrays. This is not a complete fix, but it
gets incrementally closer to a fix.
Revision
4878 -
Directory Listing
Modified
Wed Mar 14 00:37:40 2007 UTC (12 years, 9 months ago) by
gage
Corrected typo
Revision
4877 -
Directory Listing
Modified
Wed Mar 14 00:35:38 2007 UTC (12 years, 9 months ago) by
gage
Added comments about working with complex variables
Revision
4867 -
Directory Listing
Modified
Sun Mar 11 16:11:20 2007 UTC (12 years, 9 months ago) by
gage
This file loads Parser.pl. It is part of a campaign to replace the term "parser object"
with MathObject which should sound more intuitive for those who are unaware of the development
history of the PG language.
Revision
4866 -
Directory Listing
Modified
Sun Mar 11 11:40:46 2007 UTC (12 years, 9 months ago) by
dpvc
Fixed a deprecated usage of defined(@result)
Revision
4856 -
Directory Listing
Modified
Wed Mar 7 18:34:55 2007 UTC (12 years, 9 months ago) by
gage
Added documentation
Revision
4845 -
Directory Listing
Modified
Tue Mar 6 01:52:26 2007 UTC (12 years, 9 months ago) by
gage
Documenation addition
Revision
4832 -
Directory Listing
Modified
Sun Mar 4 22:50:35 2007 UTC (12 years, 9 months ago) by
gage
More formatting changes.
Revision
4831 -
Directory Listing
Modified
Sun Mar 4 22:46:01 2007 UTC (12 years, 9 months ago) by
gage
Documentation formatting changes
Revision
4828 -
Directory Listing
Modified
Sun Mar 4 21:06:17 2007 UTC (12 years, 9 months ago) by
gage
Use this macro package to define macros for
examining the current environment. Useful for
creating problems and for debugging.
Revision
4825 -
Directory Listing
Modified
Sun Mar 4 20:44:37 2007 UTC (12 years, 9 months ago) by
gage
Correct pretty_print
so that it protects < for printing in HTML.
Replace occurences of < with < in the data
This was done with straight substitution -- perhaps a protectHTML macro should have been used?
Revision
4808 -
Directory Listing
Modified
Thu Mar 1 23:35:18 2007 UTC (12 years, 9 months ago) by
gage
Documentation additions
Revision
4806 -
Directory Listing
Modified
Thu Mar 1 22:43:38 2007 UTC (12 years, 9 months ago) by
gage
Minor documentation changes.
Use html entity to represent dollar sign on the web.
Revision
4773 -
Directory Listing
Modified
Sun Feb 11 04:44:27 2007 UTC (12 years, 10 months ago) by
dpvc
Added support for uncheckable radio buttons (when JavaScript it
active). You specify an uncheckable buttons by including the
uncheckable=>1 or uncheckable=>"shift" options to the RadioButtons()
call.
Revision
4772 -
Directory Listing
Modified
Sat Feb 10 00:09:52 2007 UTC (12 years, 10 months ago) by
dpvc
New macros for using Radio buttons with the new Parser
Revision
4771 -
Directory Listing
Modified
Sat Feb 10 00:07:50 2007 UTC (12 years, 10 months ago) by
dpvc
Fixed an error with the custom list checker setting the wrong field
for the checker (OOPS!)
Revision
4767 -
Directory Listing
Modified
Sat Feb 3 15:32:06 2007 UTC (12 years, 10 months ago) by
gage
Changed input to rungeKutta4 so that it matches the pod description --
i.e. it takes as its first argument a reference to a
subroutine defining a vectorField
as opposed to an answer hash.
Revision
4762 -
Directory Listing
Modified
Thu Feb 1 04:37:11 2007 UTC (12 years, 10 months ago) by
gage
Removed scommented out code and
spiffed up the documentation.
--------------------------------------------------------------------
Revision
4761 -
Directory Listing
Modified
Wed Jan 31 16:17:48 2007 UTC (12 years, 10 months ago) by
gage
Added code to multi_cmp which makes it easier to debug.
We will probably want to get rid of this entirely in favor of List answers, but meantime
I'm documenting the problems.
Revision
4727 -
Directory Listing
Modified
Sat Dec 16 14:07:22 2006 UTC (12 years, 11 months ago) by
dpvc
Fixed type in comment.
Revision
4701 -
Directory Listing
Modified
Tue Dec 5 23:23:07 2006 UTC (13 years ago) by
sh002i
changes for DelayedMailer
Revision
4679 -
Directory Listing
Modified
Mon Nov 27 22:11:54 2006 UTC (13 years ago) by
sh002i
added mail_answers_to3, which currently does not work, to eventually
replace mail_answers_to2, which also does not work.
I thought now would be a good time to commit this, so that others can
look at it if they like. The problem is that when RestrictedMailer is
used within a PG safe compartment, it hangs on opening the SMTP
connection and the problem times out after 60 seconds.
This mockup I made works perfectly however, and I can't see how the PG
safe compartment is different. Here it is:
my $mailer = new WeBWorK::Utils::RestrictedMailer(
params => {
from => 'sh002i@math.rochester.edu',
smtp => 'mail.math.rochester.edu',
headers => 'X-Remote-Host: 128.151.231.10',
debug => "debug.txt",
keepconnection => 1,
subject => "generic subject",
on_errors => 'die',
},
lock_by_default => 1,
allow_change => [qw/fake_from to fake_to cc fake_cc bcc/],
allowed_recipients => [qw/sh002i@math.rochester.edu sam@uofr.net/],
fatal_errors => 1,
);
my $rmailer = new WeBWorK::Utils::RestrictedClosureClass($mailer,
qw/Open SendEnc Close Cancel skipped_recipients error error_msg/);
my $safe = new Safe;
${$safe->varglob('the_date')} = `date`;
my $hole = new Safe::Hole {};
my $rmailer_wrapped = $hole->wrap($rmailer);
${$safe->varglob('TEST')}{rmailer} = $rmailer_wrapped;
my $result = $safe->reval(<<'EOF');
my $rmailer = $TEST{rmailer};
my $open_result = $rmailer->Open({
to => 'sam@uofr.net',
#subject => "this is only a test",
});
print "open_result=$open_result\n";
my $sendenc_result = $rmailer->SendEnc("Hello world, the time is " . $the_date);
print "sendenc_result=$sendenc_result\n";
$rmailer->Close;
EOF
die "reval threw an exception: $@" if $@;
Revision
4673 -
Directory Listing
Modified
Mon Nov 27 04:21:59 2006 UTC (13 years ago) by
dpvc
Moved the guts of this to pg/lib/Parser/Legacy/NumberWithUnits.pl,
since most of the code is common. This is a shell that now only
defines the FormulaWithUnits() function.
Revision
4670 -
Directory Listing
Modified
Mon Nov 27 00:08:31 2006 UTC (13 years ago) by
dpvc
Fixed usage comments to do formulas rather than just numbers.
Revision
4668 -
Directory Listing
Modified
Sun Nov 26 23:59:22 2006 UTC (13 years ago) by
dpvc
Provides a formula with units (as opposed to a number with units).
This does introduce some ambiguity issues, since variable names could
look like units in some cases. E.g., s + 5 m/s could look like
(s + 5*m/s) rather than (s + 5) meters/second.
The parser will take the largest string at the end of the answer that
could be treated as units so s + 5m/s is (s+5) meters/second.
The Units.pm library requries units to be separated by * or / and
only one / is allowed, so s + 5m s is (s+5m) seconds not (s+5) m*s.
Something like 5 m/s/s will generate an error (it shouold be written
m/s*s or m/s^2), and 5 kg m/s should be written 5 kg*m/s.
[If we made the hash of known units be public rather than private in
Units, we could do a better job of this, and could treat kg m/s as
kg*m/s for example.]
Revision
4666 -
Directory Listing
Modified
Sun Nov 26 21:57:39 2006 UTC (13 years ago) by
dpvc
Updated NumberWithUnits to use Parser::LEgacy::NumberWithUnits rather
than having a separate implementation here. This will guarantee that
it is consistent with num_cmp() and prevents unneeded duplication of
code.
Revision
4665 -
Directory Listing
Modified
Sun Nov 26 21:28:40 2006 UTC (13 years ago) by
dpvc
Didn't need to override the perl fields for the integer-only methods,
since all the checking is done in the parser.
Revision
4664 -
Directory Listing
Modified
Sun Nov 26 21:15:24 2006 UTC (13 years ago) by
dpvc
This file implements special power operators that check for special
conditions (like no powers of 'e', or only integer powers). See the
contents of the file for documentation.
Revision
4626 -
Directory Listing
Modified
Fri Nov 3 23:35:31 2006 UTC (13 years, 1 month ago) by
dpvc
Made str_cmp accept blank answers again. Fixes bug #1123.
Note: if you use blank answers, the "n of the questions remain
unanswered" message will tell you how many of the answers should be
left blank. It is probably worth working out a method of having blank
entries that are only marked correct when all the other answers are
correct (this would take a special grader; I have this as part of the
weighted grader, but it is not common knowledge).
Revision
4571 -
Directory Listing
Modified
Fri Oct 13 21:43:47 2006 UTC (13 years, 1 month ago) by
dpvc
Fixed problem with function checking when vars are specified with
limits and the vars are not in alphabetical order. (The Parser expects
the limits and test points to have coordinates specified in
alphabetical order, so they need to be reordered if the author has
them in another order.)
Revision
4562 -
Directory Listing
Modified
Tue Oct 10 15:45:11 2006 UTC (13 years, 2 months ago) by
jj
Catch errors which get thrown by other filters.
Revision
4424 -
Directory Listing
Modified
Tue Aug 29 11:14:28 2006 UTC (13 years, 3 months ago) by
dpvc
Check routine can now return an array rather than an array reference.
(This requires pg/lib/Value/AnswerCheckers.pm to be at least version 1.80).
Revision
4386 -
Directory Listing
Modified
Thu Aug 17 23:55:17 2006 UTC (13 years, 3 months ago) by
dpvc
Added LaTeXMathML mode.
Revision
4385 -
Directory Listing
Modified
Wed Aug 16 01:42:46 2006 UTC (13 years, 3 months ago) by
dpvc
Report the objec type better in parser error messages.
Revision
4379 -
Directory Listing
Modified
Mon Aug 14 18:24:44 2006 UTC (13 years, 3 months ago) by
sh002i
allow partial URLs in appletPath -- these get the server_root_url
prepended to them.
Revision
4318 -
Directory Listing
Modified
Sat Jul 29 16:19:18 2006 UTC (13 years, 4 months ago) by
gage
Added rungeKutta4 method to PGnumericalmacros.pl Updated documentation on rungeKutta4a, an answer filter in PGdiffeqmacros.pl
Revision
4298 -
Directory Listing
Modified
Wed Jul 26 02:54:01 2006 UTC (13 years, 4 months ago) by
dpvc
Extended this context to handle multivariable polynomials. So you can
use things like
loadMacros("contextLimitedPolynomial.pl");
Context("LimitedPolynomial")->variables->are(x => 'Real', y => 'Real');
Context()->flags->set(singlePowers=>1);
$f = Formula("1 + x + y + 2xy + x^2 + y^2");
Revision
4275 -
Directory Listing
Modified
Mon Jul 17 21:12:44 2006 UTC (13 years, 4 months ago) by
dpvc
Make FUNCTION_CMP retain the professor's answer exactly as typed
rather than use the parsed version's reconstructed string.
Revision
4121 -
Directory Listing
Modified
Mon Jun 5 20:43:22 2006 UTC (13 years, 6 months ago) by
dpvc
Fixed a problem where things like x+4x would be accepted even in
single-power mode (the initial x was not being identified as a single
power of x correctly).
Revision
4098 -
Directory Listing
Modified
Tue May 23 20:45:02 2006 UTC (13 years, 6 months ago) by
gage
Added support for searching for appletin anumber of places defined in
$pg{directories}{appletPath} in global.conf
Revision
4088 -
Directory Listing
Modified
Sun May 21 00:44:40 2006 UTC (13 years, 6 months ago) by
gage
added findAppletFile to dangerous macros.
This is still not in its final form which should involve checking the url
rather than the file location.
Revision
4041 -
Directory Listing
Modified
Fri Mar 31 22:59:43 2006 UTC (13 years, 8 months ago) by
dpvc
A change to the way lists are processed in AnswerChecker.pm in
December (v1.75) requires that implicitList => 0 be added to the
defaults for variable_cmp().
Revision
3971 -
Directory Listing
Modified
Wed Jan 25 12:47:17 2006 UTC (13 years, 10 months ago) by
dpvc
Forward port to HEAD (Prevent "unquoted dx may conflict with future
usage" messages.)
Revision
3870 -
Directory Listing
Modified
Sat Dec 31 15:00:37 2005 UTC (13 years, 11 months ago) by
dpvc
Added ability to specify variables that are part of the union/list
rather than requiring just constants. E.g.,
interval_cmp("(1,a),(2a-1,a)",unions=>'no',var=>'a');
or
interval_cmp("(x,y),(2x,3y)",unions=>'no',vars=>['x','y']);
Revision
3867 -
Directory Listing
Modified
Sat Dec 31 02:41:16 2005 UTC (13 years, 11 months ago) by
dpvc
Now that the parser accepts multi-character variables, there is no
need for the special treatment of dx. Also, allow the context to
specify the default variable to use, and if not available, take the
LAST varaible alphabetically, not the first. (x is more likely to be
last, and the author might have added dx as a variable so that it will
not cause an error if used in other answers in the problem, for
example.)
Revision
3814 -
Directory Listing
Modified
Wed Dec 14 17:47:00 2005 UTC (13 years, 11 months ago) by
sh002i
Really fix fun_cmp equivalence warning message.
We show the equivalence message when: we're not in preview mode AND the
answers are equivalent AND the answers are not identical. We DON'T CARE
whether the answers are correct or not, because that leaks information
in multipart questions when $showPartialCorrectAnswers is off.
Both the Parser-version (FUNCTION_CMP) and the non-Parser-version
(ORIGINAL_FUNCTION_CMP) behave as descibed above now.
And this time we test *before* we commit...
Revision
3812 -
Directory Listing
Modified
Wed Dec 14 00:51:23 2005 UTC (13 years, 11 months ago) by
sh002i
parser version was ok, bug #752 fixed in non-parser version.
Revision
3808 -
Directory Listing
Modified
Tue Dec 13 18:23:46 2005 UTC (13 years, 11 months ago) by
sh002i
give answer is equivalent message regardless of correctness.
fixes bug #752.
Revision
3800 -
Directory Listing
Modified
Wed Dec 7 16:13:48 2005 UTC (14 years ago) by
dpvc
Prevent error message when num_cmp specifies the same string more than
once (e.g., upper and lower case versions of the same thing).
Revision
3792 -
Directory Listing
Modified
Mon Dec 5 16:09:56 2005 UTC (14 years ago) by
sh002i
Corrected error message when mailing to an address is not allowed. This
used to refer to the courseWeBWorK.ph file, which is WW1-specific. It
now mentions global.conf and course.conf.
Revision
3781 -
Directory Listing
Modified
Tue Nov 29 21:25:25 2005 UTC (14 years ago) by
apizer
Add underscores to the anonymous unique identifier for
questionnaires in WW 2 by using
${setNumber}_${courseName}_$psvnNumber
Revision
3769 -
Directory Listing
Modified
Mon Nov 21 13:13:35 2005 UTC (14 years ago) by
dpvc
Fixed a problem with formatStudentAnswer not being defined in the
special context created for this answer checker.
Revision
3765 -
Directory Listing
Modified
Thu Nov 17 22:57:39 2005 UTC (14 years ago) by
dpvc
Handle the new global.conf setting for jsMath's processDoubleClicks option.
Revision
3759 -
Directory Listing
Modified
Sat Nov 12 01:31:10 2005 UTC (14 years, 1 month ago) by
gage
Roll back my changes. Use Davide's method of detecting the preview Button
Revision
3758 -
Directory Listing
Modified
Sat Nov 12 00:58:57 2005 UTC (14 years, 1 month ago) by
gage
Check to see if $inputs_ref->{previewAnswers} is defined. If it is then
the preview button has been pressed. In this case emit a warning if
the answer has been given previously regardless of whether the answer is
correct or incorrect. The warning message indicates that the previous
matching answer might have been either a preview or a submitted answer.
Let's see how this works.
Revision
3757 -
Directory Listing
Modified
Sat Nov 12 00:50:07 2005 UTC (14 years, 1 month ago) by
dpvc
Take care of the issue where Preview could be used to gather
information about whether an answer is correct by using the "this
answer is the same as the previous one" message. Now if Preview is
used, the warning is given whether the answer is right or not.
(Maybe it is not necessary to check for correct at all, since that was
there to prevent the message from being issued when there are multiple
answer blanks and the student is working on other ones. But the exact
match check will take care of those. Should the message be issued if
the student changes a correct answer to an equivalent one?)
Revision
3756 -
Directory Listing
Modified
Sat Nov 12 00:34:33 2005 UTC (14 years, 1 month ago) by
dpvc
Updated a comment to make it more accurate.
Revision
3755 -
Directory Listing
Modified
Sat Nov 12 00:31:22 2005 UTC (14 years, 1 month ago) by
dpvc
Make had the right idea, but used the wrong context (or what might be
the wrong context in some circumstances).
Revision
3753 -
Directory Listing
Modified
Sat Nov 12 00:13:03 2005 UTC (14 years, 1 month ago) by
gage
Changes to code checking whether the previous answer is equivalent to the current answer.
In this module additional code was answer to check for errors in the overloaded ==
in case the two Values can't be compared.
In PGanswermacros.pl the filter which handles "parse_previous_answer"
was modified to make sure the context is the same in the previous answer and the current answer.
Revision
3735 -
Directory Listing
Modified
Mon Oct 31 21:19:40 2005 UTC (14 years, 1 month ago) by
apizer
Create an anonymous unique identifier for
questionnaires in WW 2 by using
$setNumber$courseName$psvnNumber in place of
$psvnNumber.
Revision
3723 -
Directory Listing
Modified
Thu Oct 20 00:57:19 2005 UTC (14 years, 1 month ago) by
dpvc
A new parser object that handles popup menus. Mainly this is so that
you can use them with the MultiPart object, which requires all the
objects to be Value objects. See the comments in the file for
documentation and examples.
Revision
3715 -
Directory Listing
Modified
Sun Oct 16 03:27:35 2005 UTC (14 years, 1 month ago) by
dpvc
Added a new experimental diagonstic function for the function answer
checker. When enabled, it will produce graphs of the correct answer,
the student answer, and the absolute and relative errors, and will
list the data points used in the comparison, plus the numerical values
of the results and errors.
To enable the diagnostic, use
ANS(fun_cmp($f,diagnostics=>1));
Note that only single-variable functions can be graphed at the moment,
so if you are using a multi-variable check, you need to disable the
graphing. To do this use
ANS(fun_cmp($f,vars=>['x','y'],diagnostics=>[showGraphs=>0]));
The diagnostic mode is only available for the Parser-based versions of
the function checker, and (of course) with the native Parser objects
as well:
ANS(Formula($f)->cmp(diagnostics=>1));
There are now Context settings to control the diagnostics, which can
be set through Context()->diagnostics->set(). For example
Context()->diagnostics->set(formulas=>{showGraphs=>0});
would turn off graphs for all functions comparisons. Some of the
other values you can set are:
formulas => {
showTestPoints => 1, # show the test points and function values
showRelativeErrors => 1, # show the relative errors for the student answer
showAbsoluteErrors => 1, # show the absolute errors for the student answer
showGraphs => 1, # show the various graphs
graphRelativeErrors => 1, # show the relative error graph
graphAbsoluteErrors => 1, # show the absolute error graph
clipRelativeError => 5, # don't show relative errors above 5
clipAbsoluteError => 5, # don't show absolute errors above 5
plotTestPoints => 1, # include dots at the test points
combineGraphs => 1, # show correct and student graphs in one image
},
graphs => {
divisions => 75, # the number of data points to plot
limits => [-2,2], # the lower and upper limit of the plot
# (taken from the function limits if not provided)
size => 250, # pixel size of the image (could be [width,height])
grid => [10,10], # number of grid lines in each direction
axes => [0,0], # where to put axes relative to origin
}
Any of these can be set in the Context(), or in the answer checker
itself. If you set diagnostics to an array reference, the entries in
the array refer to element of the formulas hash. If you set
diagonstics to a hash reference, then you can set values in either the
formulas or graphs hashes, as in:
ANS(Formula($f)->cmp(diagnostics=>{
formulas => {showAbsoluteErrors=>0},
graphs => {size=>300, divisions=>100},
}));
If you want all function checkers to show diagnostics, use
Context()->diagonstics->set(formulas=>{show=>1});
The image file names are modified to include the current time so that
the names will be unique. This avoids problems with the browser cache
showing a old image when a new one has been generated. But this also
means that the temporary image directory will fill up fast, so you may
need to empty it if you use the diagnostic images frequently.
This is just a first attempt at a diagnostic feature. I think it will
help when you are not sure if the tolerances are set properly, or if
you think a student answer should be markes correct but isn't, as it
will point out which point(s) are not being accepted.
Revision
3704 -
Directory Listing
Modified
Tue Oct 11 17:59:30 2005 UTC (14 years, 2 months ago) by
jj
Added syntactic sugar for pop_up_lists.
A common situation is that a problem includes a short multiple-choice question along with other answers. Often, these questions are written as fill-in-the-blank where the student is told a list of legal words to put in the blanks. The idea is to make it as simple as possible for problem writers to replace the fill-in-the-blank with a drop-down list of alternatives.
So, now the text of a problem can contain
is the function increasing on [0,1]? \{ pop_up_list(['?', 'yes', 'no']) \}
instead of
is the function increasing on [0,1]? \{ pop_up_list('?' => '?', 'yes' => 'yes', 'no' => 'no') \}
The result is checked with something like
ANS(str_cmp('yes'));
Existing problems are unaffected since the added syntax uses a reference to a list (the extra square brackets).
Revision
3689 -
Directory Listing
Modified
Fri Oct 7 02:38:41 2005 UTC (14 years, 2 months ago) by
dpvc
Corrected a problem with contexts not being reset properly after
num_cmp or fun_cmp.
Revision
3680 -
Directory Listing
Modified
Sun Oct 2 12:13:16 2005 UTC (14 years, 2 months ago) by
dpvc
Removed unneeded "my" for a varaible that is already local.
Revision
3679 -
Directory Listing
Modified
Sat Oct 1 01:17:24 2005 UTC (14 years, 2 months ago) by
dpvc
Major update to allow ImplicitPlane objects to be created
automatically by the Parser when it sees equal signs. This makes it
possible to use ImplicitPlanes in Lists. (Before, when the List was
turned into a Formula returning a List, the equality became a plane
old equality rather than an ImplicitPlane object.)
This is a bit of a hack for now until I can make List and other Value
objects be allowed to have Formulas as their entries rather than turn
into Formulas returning Lists (or whatever type).
Revision
3670 -
Directory Listing
Modified
Thu Sep 29 22:08:43 2005 UTC (14 years, 2 months ago) by
dpvc
Only add the 'dx' variable if it isn't already in the context.
Revision
3662 -
Directory Listing
Modified
Wed Sep 28 20:40:20 2005 UTC (14 years, 2 months ago) by
dpvc
Fixed a bug where if you specified a variable other than dx, the
division by zero check didn't work properly.
Revision
3661 -
Directory Listing
Modified
Wed Sep 28 11:11:29 2005 UTC (14 years, 2 months ago) by
dpvc
Fixed typo in comments.
Revision
3654 -
Directory Listing
Modified
Sat Sep 24 02:38:19 2005 UTC (14 years, 2 months ago) by
dpvc
Updated to be able to handle empty anwswer blanks. There is a new
parameter for the MultiPart object (allowBlankAnswers) that controls
whether the checker routine will be called even when there are blank
entries (normally, the checker is not called unless all the entries
are non-blank). Use
$mp = MultiPart(1,2)->with(checkTypes=>0,allowBlankAnswers=>0);
to have the checker routine called when answers are left blank.
You can now also include blank answers in the list itself:
$mp = MultiPart(1,2,"");
(there is no need to include allowBlankAnswers in this case, because
the blank string will take care of itself.
Revision
3638 -
Directory Listing
Modified
Mon Sep 19 00:58:35 2005 UTC (14 years, 2 months ago) by
dpvc
Fixed bug where str_cmp("0") was changing the correct answer to "",
making it impossible to get correct.
Revision
3632 -
Directory Listing
Modified
Sat Sep 17 13:22:19 2005 UTC (14 years, 2 months ago) by
dpvc
Improved layout and labeling of error messages.
Revision
3616 -
Directory Listing
Modified
Tue Sep 13 16:24:21 2005 UTC (14 years, 2 months ago) by
dpvc
Fixed problem with recognizing MINF in NUM_CMP.
Revision
3615 -
Directory Listing
Modified
Tue Sep 13 14:07:32 2005 UTC (14 years, 2 months ago) by
dpvc
The ORIGINAL_NUM_CMP was calling str_cmp as a code reference rather
than as the more modern AnswerEvaluator object. This causes error
messages when string answers were used. It now uses the evaluate()
method of the AnswerEvaluator.
Revision
3602 -
Directory Listing
Modified
Wed Sep 7 01:06:13 2005 UTC (14 years, 3 months ago) by
dpvc
Added "strict" versions of the limited complex contexts that don't
allow operations within the real and imaginary parts. Also cleaned up
some of the code and fixed a few situations that had been missed
before.
Note that in strict mode, e^(pi i) is accepted, but e^(pi/2 i) is
not. Should that be changed? It would be possible to make a context
in which a*e^(b*pi/c i) is accepted.
Revision
3601 -
Directory Listing
Modified
Tue Sep 6 21:02:05 2005 UTC (14 years, 3 months ago) by
dpvc
Movified the copying of functions from Complex1:: into main:: to avoid
conflicts with the PGcommonFunctions.pl versions (these errors were
trapped, but still show up in the error log unnecessarily).
Also commented out some code that was not doing anything other than
producing error messages in the error log. (It was left over from a
syntax check on the professor's answer, but the actual check was
removed, leaving a portion that tries to process the answer, but
usually fails (because things like "1+4i" need to be converted to
"1+4*i" before they can be used in PG_answer_eval, but that was not
being done).
Because of this, it is not possible currently to do cplx_cmp("1+4i"),
and instead you must to cplx_cmp(new Complex(1,4)).
To fix this, you would need to call check_syntax (and the other
filters that are called on the student's answer) before calling
PG_answer_eval. Of course, you should only do this when the
professor's answer isn't already a Complex object.
I am going to work on a Legacy module like the ones for num_cmp and
fun_cmp to replace cplx_cmp, which should avoid these problems and
make the changes suggested above unnecessary.
Revision
3588 -
Directory Listing
Modified
Tue Aug 30 00:41:34 2005 UTC (14 years, 3 months ago) by
dpvc
Added a parserCustomization.pl file that is loaded whenever the
Parser.pl file is. This can be used on a course-by-course basis to
customize features of the Parser. Some examples are listed in the
file.
You need to be VERY careful when doing this, as this will affect ALL
problems that use the Parser. Your changes may cause some .pg files
to fail if they rely on the default behavior that you are changing.
If you wish to override settings in one of the predefined contexts
(like "Vector"), then define $context{Vector} as a copy of
$Parser::Context::Default::context{Vector}, as in the commented out
examples. Then Context("Vector") will use your copy rather than the
original. If you were to change the version in
Parser::Context::Default, that would change the parser for ALL
courses, not just yours.
Revision
3577 -
Directory Listing
Modified
Fri Aug 26 04:19:09 2005 UTC (14 years, 3 months ago) by
jj
When making on-the-fly image names, replace periods in the student login
name to avoid problems with pdflatex. Changed the replacement in set
names to use the same new trick (the old way had an infintesimal chance
of collision). The new scheme is first double all instances of "Q". Then
replace periods with "-Q-".
Revision
3572 -
Directory Listing
Modified
Thu Aug 25 18:21:21 2005 UTC (14 years, 3 months ago) by
jj
This makes the pg/lib/Parser/Legacy copy of PGanswermacros.pl the
official copy here. This still leaves the original answer evaluators as
the default, but simplifies the update process, and we don't have to
maintain two copies of the original functions.
Revision
3566 -
Directory Listing
Modified
Thu Aug 25 00:35:18 2005 UTC (14 years, 3 months ago) by
dpvc
In order to overcome an MSIE bug that affects jsMath, the call is
changed from jsMath.ProcessBeforeShowing() to jsMath.wwProcess(),
which is added by the jsMath-ww.js file. (This routine uses an onload
handler for MSIE to put off the processing until MSIE can handle it
properly, but allows all others to do it at the usual time.)
Revision
3557 -
Directory Listing
Modified
Wed Aug 24 01:35:01 2005 UTC (14 years, 3 months ago) by
jj
Hopefully fixed the logic of setting numerical tolerance defaults.
Revision
3556 -
Directory Listing
Modified
Tue Aug 23 23:59:46 2005 UTC (14 years, 3 months ago) by
jj
Fixed problem with display_matrix_mm so its behaviour matches its
documentation. This may break problems which relied on its previous
incorrect behavior.
Revision
3555 -
Directory Listing
Modified
Tue Aug 23 23:57:01 2005 UTC (14 years, 3 months ago) by
dpvc
Use a default for the zeroLevelTol set in the current context.
Revision
3554 -
Directory Listing
Modified
Tue Aug 23 23:10:02 2005 UTC (14 years, 3 months ago) by
jj
Deleted commented out line (which had been used for debugging).
Revision
3553 -
Directory Listing
Modified
Tue Aug 23 22:56:50 2005 UTC (14 years, 3 months ago) by
jj
This adds wiring to the pg side for special bits of html to be included before/after the body of a problem. You also need to update global.conf (and probably want to update Tasks.pm).
A commented out example in global.conf.dist shows how to use this to produce boxed problems a la the Union College server. In this approach, the added parts are not used for problems rendered in the Library Browser or Problem Set Detail.
This addresses bug 817. This solution may not be suitable for inclusion of needed bits for modes such as asciimath or tth because the those bits of html are probably needed for display in the Library Browser. It is hard to distinguish bits which are always wanted, and those which are only wanted for use by Problem.
Revision
3547 -
Directory Listing
Modified
Mon Aug 22 01:26:04 2005 UTC (14 years, 3 months ago) by
jj
Part of change dealing with bug 813.
Possible things still to do here:
change names of variables to reflect that they contain commands and
not scripts
have a variable for the path to cat
remove the scripts themselves
Revision
3544 -
Directory Listing
Modified
Sun Aug 21 21:46:49 2005 UTC (14 years, 3 months ago) by
jj
Removed bits which were accidentally included during last commit.
Revision
3543 -
Directory Listing
Modified
Sun Aug 21 18:12:30 2005 UTC (14 years, 3 months ago) by
jj
Should fix bug 696 by replacing consecutive whitespace with a single
space for answers in an individual ans_rule.
Revision
3540 -
Directory Listing
Modified
Sun Aug 21 05:21:07 2005 UTC (14 years, 3 months ago) by
jj
level_curve_check now forces the use of the old style (not Parser::Legacy)
answer evaluators resolving bug 820.
Revision
3539 -
Directory Listing
Modified
Sun Aug 21 00:04:40 2005 UTC (14 years, 3 months ago) by
dpvc
Updated to handle jsMath version 2.
Revision
3520 -
Directory Listing
Modified
Sat Aug 13 21:45:46 2005 UTC (14 years, 3 months ago) by
jj
Implimentation of COMMENT for comments to appear in the library browser.
Revision
3513 -
Directory Listing
Modified
Sat Aug 13 18:51:54 2005 UTC (14 years, 3 months ago) by
jj
Fixed treatment of options in setting the mode and optional parameters
related to reducing unions.
Revision
3506 -
Directory Listing
Modified
Sat Aug 13 16:47:23 2005 UTC (14 years, 3 months ago) by
jj
Moved a chunk of duplicated code to its own function, and tweaked the setting
of the context in a few cases.
Revision
3503 -
Directory Listing
Modified
Sat Aug 13 15:44:41 2005 UTC (14 years, 3 months ago) by
dpvc
Fixed problem with call to $equation->Error (due to change in
error-handling that allows for translation of error messages).
Revision
3502 -
Directory Listing
Modified
Sat Aug 13 05:54:10 2005 UTC (14 years, 4 months ago) by
jj
If a problem file sets $refreshCachedImages=1 inside the pg file, then
cached copies of on the fly graphics are ignored and the graphic is
regenerated.
Revision
3501 -
Directory Listing
Modified
Sat Aug 13 01:40:45 2005 UTC (14 years, 4 months ago) by
dpvc
Added differentiation of (single-variable) functions created with
parserFunction.
Revision
3489 -
Directory Listing
Modified
Fri Aug 12 18:43:25 2005 UTC (14 years, 4 months ago) by
jj
Completed conversion of interval_cmp to use Parser objects. Also, minor
updates to number_list_cmp.
Revision
3466 -
Directory Listing
Modified
Thu Aug 11 14:19:26 2005 UTC (14 years, 4 months ago) by
dpvc
Added new Set object class to the Parser. It implements a finite set
of real numbers, for use with unions and intervals. E.g., (1,2) U {3}
or (1,2) U {3,4,5}. You can created Set objects in your perl code via
the Set() command, e.g, Set(3,4,5) or Set("{1,2,3}"). You should set
the Context to Context("Interval") if you plan to use Set objects, as
this defined the braces to form sets (rather than using them as
parentheses, which is the default WW behavior). Note that in Interval
context, you can NOT use braces as parentheses.
Current, Set objects are only allowed to be sets of numbers. It would
be possible to extend that in the future.
Revision
3463 -
Directory Listing
Modified
Wed Aug 10 23:05:41 2005 UTC (14 years, 4 months ago) by
jj
Default behavior of number_list_cmp set to be backward compatible
(no hints of any kind or partial credit). These features can now be
activated by optional arguments.
Also improvements on parser-based interval_cmp.
Revision
3462 -
Directory Listing
Modified
Wed Aug 10 18:57:17 2005 UTC (14 years, 4 months ago) by
jj
Hopefully improved some of how the temporary context is set for number_list_cmp.
Many whitespace changes (spaces to tabs). Work in progress for a version of
interval_cmp which uses Parser, temporarily called interval_cmp2.
Revision
3457 -
Directory Listing
Modified
Wed Aug 10 14:22:48 2005 UTC (14 years, 4 months ago) by
dpvc
Enable commas when mode=>"frac" is specified.
Revision
3455 -
Directory Listing
Modified
Mon Aug 8 15:56:09 2005 UTC (14 years, 4 months ago) by
jj
Changed number_list_cmp to use Parser.
Revision
3400 -
Directory Listing
Modified
Fri Jul 22 22:59:12 2005 UTC (14 years, 4 months ago) by
gage
Made listVariables and listFormVariables synonyms for listing all variables available to
the problem.
Revision
3393 -
Directory Listing
Modified
Wed Jul 20 18:30:59 2005 UTC (14 years, 4 months ago) by
gage
Added a modification of the grades that shows where the
state_summary_msg can be added. This message is
printed at the bottom of each problem page. The current default
is a blank message, which means that the default message
defined in Problem.pm is printed.
There is currently no way to turn the message off entirely. Perhaps
on the next revision.
Revision
3387 -
Directory Listing
Modified
Sat Jul 16 22:31:41 2005 UTC (14 years, 4 months ago) by
gage
Added documentation for macros used in constructing
sequential problems.
Revision
3386 -
Directory Listing
Modified
Sat Jul 16 22:01:08 2005 UTC (14 years, 4 months ago) by
gage
Macros that aid the construction sequentialProblems. For these
problems certain sections of text are hidden until earlier
answers have been answered correctly.
-- Mike
Revision
3385 -
Directory Listing
Modified
Sat Jul 16 21:59:35 2005 UTC (14 years, 4 months ago) by
gage
Added support for sequentialProblems.
Revision
3383 -
Directory Listing
Modified
Fri Jul 15 02:57:01 2005 UTC (14 years, 4 months ago) by
jj
Fixed typo.
Revision
3375 -
Directory Listing
Modified
Wed Jul 13 03:03:25 2005 UTC (14 years, 5 months ago) by
dpvc
This file implements an easy way to add functions that are defined
within the Parser's Context. See the comments in the file itself for
documentation on how to use it.
Revision
3371 -
Directory Listing
Modified
Tue Jul 12 22:39:56 2005 UTC (14 years, 5 months ago) by
dpvc
Make error messages potentially localizable (by making them use
sprintf-style strings rather than variable subtitution).
Revision
3359 -
Directory Listing
Modified
Tue Jul 5 21:58:51 2005 UTC (14 years, 5 months ago) by
sh002i
chech tthPreamble path and mtime to deal with changes to the file
between runs. this is necessary now that dangerousMacros.pl is cached.
Closes bug #798.
Revision
3346 -
Directory Listing
Modified
Mon Jul 4 19:52:38 2005 UTC (14 years, 5 months ago) by
gage
Rewrote checkbox_cmp as an AnswerEvaluator
Revision
3340 -
Directory Listing
Modified
Mon Jul 4 15:22:40 2005 UTC (14 years, 5 months ago) by
gage
Commenting out unused code. This file still needs a lot of work.
Revision
3338 -
Directory Listing
Modified
Mon Jul 4 15:21:52 2005 UTC (14 years, 5 months ago) by
gage
Restored str_filters -- removing it broke some of the other answer evaluators.
str_filters takes a string, filters it and then returns the filtered string.
The actual filters have been changed to work with answer hashes rather than with
strings, so str_filters warps the string in an answer hash before sending it through
the filters.
sorry for the breakage.
-- Mike
Revision
3334 -
Directory Listing
Modified
Sun Jul 3 20:10:37 2005 UTC (14 years, 5 months ago) by
dpvc
Updates to allow string matches to be case-insensitive. This is now
the default, and can be overridden in the Context by setting the
string's "caseSensitive" attribute. e.g.:
Context()->strings->add("FooBar"=>{caseSensitive=>1});
would rewuire "FooBar" to be entered exactly as typed.
Revision
3333 -
Directory Listing
Modified
Sun Jul 3 20:06:33 2005 UTC (14 years, 5 months ago) by
dpvc
Adjusted some spacing
Revision
3325 -
Directory Listing
Modified
Wed Jun 29 17:10:11 2005 UTC (14 years, 5 months ago) by
gage
Added comments.
Revision
3324 -
Directory Listing
Modified
Wed Jun 29 16:19:42 2005 UTC (14 years, 5 months ago) by
gage
Fixed bug in radio_cmp closing bug #258. We now check to make
sure that only a single string is being passed and not an array.
(The latter occurs if checkboxes are used instead of radio buttons.)
The presence of two checked checkboxes triggers a warning.
Revision
3323 -
Directory Listing
Modified
Wed Jun 29 02:48:55 2005 UTC (14 years, 5 months ago) by
gage
MASSIVE changes to str_cmp and related subroutines (mostly in STR_CMP).
This answer evaluator now produces an AnswerEvaluator type rather than
a subroutine.
Revision
3320 -
Directory Listing
Modified
Tue Jun 28 19:38:16 2005 UTC (14 years, 5 months ago) by
gage
Format changes.
Revision
3319 -
Directory Listing
Modified
Tue Jun 28 19:36:52 2005 UTC (14 years, 5 months ago) by
gage
Many changes to this file. I've fixed multi_cmp which
will check a comma separated string of answers.
I have commented out many other routines which do not appear
to be in use.
Revision
3314 -
Directory Listing
Modified
Fri Jun 24 20:11:23 2005 UTC (14 years, 5 months ago) by
gage
Fixed conceptual error in compare_vec_solution. This should fix bug
#670. In my opinion the entire concept of vec_solution_cmp should be
reconsidered. In solving an underdetermined linear equation of the form
Ax-b=0 it seems to me that the solutions answer in the form:
x= a +bt+cu+ds where a,b,c,d are vectors should simply be evaluated
to see if it satisfies Ax-b=0 for 5 or six values of a,b,c,d --
checking the solution should use a
vector valued version of fun_cmp.
As it is, the student's coefficients for a,b,c,d are compared with the
instructors to see if they span the same space. This is quite a bit more
complicated -- and indeed the method came up with the wrong answer.
I believe I have the method corrected, but I would suggest that this
answer evaluator be replaced with one which operates more
directly and is therefore easier to maintain. Am I missing something in
this analysis? Has someone else created answer evaluators for this type
of problem?
-- Mike
Revision
3305 -
Directory Listing
Modified
Tue Jun 21 19:56:00 2005 UTC (14 years, 5 months ago) by
jj
New context which allows students to use C(n,r) and P(n,r) in their
answers. To support this, the webwork versions of these functions
have been moved from PGaux... to PGcommon...
Revision
3297 -
Directory Listing
Modified
Thu Jun 16 04:04:23 2005 UTC (14 years, 5 months ago) by
dpvc
Fixed typos in comments.
Revision
3294 -
Directory Listing
Modified
Wed Jun 15 23:55:17 2005 UTC (14 years, 5 months ago) by
dpvc
Implements a Parser context in which only polynomials (of a single
variable) can be entered. Only sums of multiples of powers of the
variable are allowed to be entered (though the coefficients can
contain mathematical operations). An optional flag lets you specify
that only one term of each degree is allowed, so the student would
have to combine 1+x+x+x^2 to get 1+2x+x^2 in that case.
Revision
3270 -
Directory Listing
Modified
Mon Jun 6 00:01:44 2005 UTC (14 years, 6 months ago) by
dpvc
This file implements a Multi-Part parser object that allows you to tie
several input blanks to a single answer checker that can compare the
student's answers in several blanks in order to determine which are
correct.
For example:
$mp = MultiPart("x^2",1,-1)->with(
singleResult => 1,
checker => sub {
my ($correct,$student,$self) = @_; # get the parameters
my ($f,$x1,$x2) = @{$student}; # extract the student answers
Value::Error("Function can't be the identity") if ($f == 'x');
Value::Error("Function can't be constant") if ($f->isConstant);
return $f->eval(x=>$x1) == $f->eval(x=>$x2);
},
);
.
BEGIN_TEXT
\(f(x)\) = \{$mp->ans_rule(20)\} produces the same value
at \(x\) = \{$mp->ans_rule(10)\} as it does at \(x\) = \{$mp->ans_rule(10)\}.
END_TEXT
ANS($mp->cmp);
This produces three answer blanks all tied to the same checker, which
is supplied by the user when the MultiPart is specified. This one
checks if two inputs to a function provide the same output.
The answer blanks can each produce a separate row in the results area
at the top of the page, or they con be combined into a single row, as
in this case. The checker routine can provide error messages for
individual parts via the setMessage() method, or for the problem as a
whole, as above. Finally, the ans_array() method can be used to
produce answer blanks for individual entries for those objects that
support such arrays.
See the documentation at the top of the file for additional details.
Revision
3268 -
Directory Listing
Modified
Sun Jun 5 23:36:28 2005 UTC (14 years, 6 months ago) by
dpvc
Removed some unused lines and comments.
Removed unnecessary spaces from around answer-rule-extension rules,
and made the TeX version of this rule be based on the width, as is
the case for ans_rule.
Revision
3267 -
Directory Listing
Modified
Sun Jun 5 23:25:20 2005 UTC (14 years, 6 months ago) by
dpvc
Allow for vectors to be marked as Column Vectors.
Revision
3225 -
Directory Listing
Modified
Sat May 14 01:42:25 2005 UTC (14 years, 6 months ago) by
dpvc
Changed loadMacros() to use search for amcros files via a
user-cusomizable path of directories. This is specified in the
global.conf file, and can include any number of directories.
The path can include "." to mean look in the .pg file's directory.
This makes it possible to store special macros files with the code
that uses them.
By default, the path is ".", the course/templates/macro directory,
then the pg/macros directory (in that order). This duplicates the
current behaviour, except for the ".", which is new.
You must also make the updates to the global.conf,
webwork2/lib/WeBWorK/PG.pm, and webwork2/lib/WeBWorK/PG/Local/pm files.
Revision
3220 -
Directory Listing
Modified
Mon May 2 00:56:19 2005 UTC (14 years, 7 months ago) by
dpvc
Changed the call method to check if the function is actually defined
inthe parser before calling the parser method. This allows things
like C(n,r) to be moved here but not automatically included in the
Context.
Revision
3208 -
Directory Listing
Modified
Tue Mar 29 19:16:36 2005 UTC (14 years, 8 months ago) by
dpvc
Provide an easy means of generating a custom answer checker based on
an user-supplied subroutine. Most of the work is done by the Parser's
answer checker framework, and the user's routine is called at the
point that the student's answer is compared to the correct answer.
Revision
3199 -
Directory Listing
Modified
Sun Mar 20 13:13:44 2005 UTC (14 years, 8 months ago) by
dpvc
Implements an experimental answer checker for implicitly defined
curves and surfaces.
Revision
3196 -
Directory Listing
Modified
Wed Mar 16 13:40:29 2005 UTC (14 years, 8 months ago) by
dpvc
Implements an answer evaluator that checks if a students answer
satisfies a given equality. See the comments in the file for details
about how to use the answer checker.
Revision
3195 -
Directory Listing
Modified
Wed Mar 16 13:36:33 2005 UTC (14 years, 8 months ago) by
dpvc
Now that the uverloaded operators handle subclassing properly, we can
use promotePrecedence in the compare routines, just in case we define
a subclass with even HIGHER precedence!
Revision
3191 -
Directory Listing
Modified
Wed Mar 16 04:17:35 2005 UTC (14 years, 8 months ago) by
dpvc
Fixed error with asec and acsc where the parameters were not being
passed properly.
Revision
3180 -
Directory Listing
Modified
Sat Feb 19 16:47:36 2005 UTC (14 years, 9 months ago) by
gage
Small correction that makes sure that _init subroutines are read
properly. The original works on some versions of perl, but not on
others.
Revision
3172 -
Directory Listing
Modified
Tue Feb 15 21:58:54 2005 UTC (14 years, 9 months ago) by
dpvc
Updated the answer checkers so that you can more easily specify how
the correct answer shoudl be displayed. In the past, you could use
something like Real(sqrt(2))->cmp(correct_ans=>"sqrt(2)") to do this,
but that is awkward. Now the Compute() function (which parses and
then evaluates a string) sets things up so that the original string
will be what is used as the correct answer. That means
Compute("sqrt(2)")->cmp will have the same result as the example
above.
You can also set the {correct_ans} properly of any Parser object to
have that value used as the correct answer. For example
$x = Real(sqrt(2));
$x->{correct_ans} = "sqrt(2)";
ANS($x->cmp)
would also produce the same answer checker as the two previous
examples. All three methods should work. Use the one that is most
convenient for you.
Revision
3159 -
Directory Listing
Modified
Thu Feb 10 22:34:01 2005 UTC (14 years, 10 months ago) by
dpvc
Fixed a problem that caused errors to occur when ImplicitPlane() was
called with a formula whose constant term is a negative number that is
produced by a computation.
Revision
3158 -
Directory Listing
Modified
Wed Feb 9 18:36:18 2005 UTC (14 years, 10 months ago) by
apizer
Allow labels A - ZZ
Arnie
Revision
3136 -
Directory Listing
Modified
Sat Feb 5 14:07:55 2005 UTC (14 years, 10 months ago) by
jj
Work around IE bug for ordered lists. Maybe someday this can be undone.
Revision
3047 -
Directory Listing
Modified
Sat Dec 18 21:52:58 2004 UTC (14 years, 11 months ago) by
gage
Changed comment to This answer is the same as the one you just submitted
or previewed. This addreses bug #557
Revision
3039 -
Directory Listing
Modified
Fri Dec 17 17:11:46 2004 UTC (14 years, 11 months ago) by
gage
Added a check to handle the case when the $errors flag was not defined.
Revision
2988 -
Directory Listing
Modified
Fri Nov 5 17:54:12 2004 UTC (15 years, 1 month ago) by
jj
Avoids some name collisions for images converted from gif to png in
hardcopy, specifically if two problems have different gif images
with the same name (but the gifs are in different directories). Now one
png won't overwrite the other.
Revision
2986 -
Directory Listing
Modified
Thu Nov 4 22:01:18 2004 UTC (15 years, 1 month ago) by
apizer
relative tolerence was not being used correctly. Fixed this.
Arnie
Revision
2984 -
Directory Listing
Modified
Wed Nov 3 22:00:56 2004 UTC (15 years, 1 month ago) by
dpvc
Modifications needed for the control of jsMath's "missing font"
message.
Revision
2982 -
Directory Listing
Modified
Wed Nov 3 21:27:42 2004 UTC (15 years, 1 month ago) by
dpvc
Fixed an error where any plane is accepted if the d is 0 in
ax + by + cz = 0.
Revision
2958 -
Directory Listing
Modified
Sun Oct 24 14:36:35 2004 UTC (15 years, 1 month ago) by
jj
This seems to fix bug 713. I don't see why one would want the line below
commented out.
Revision
2957 -
Directory Listing
Modified
Sun Oct 24 14:33:36 2004 UTC (15 years, 1 month ago) by
jj
Make combinations function C(n,k) return 0 when k>n, which is standard.
Maybe P(n,k) should do the same instead of throwing an error?
Revision
2935 -
Directory Listing
Modified
Tue Oct 19 00:20:02 2004 UTC (15 years, 1 month ago) by
dpvc
Prevent automatically reducing negatives in student answer, so the
sign doesn't change behind our back.
Revision
2934 -
Directory Listing
Modified
Tue Oct 19 00:15:54 2004 UTC (15 years, 1 month ago) by
dpvc
Handle error messages better. Produce an error if the student answer
is a constant vector. Prevent reduction of some negatives in order to
avoid -(a+bt). Allow students to provide answer in terms of points
rather than vectors.
Revision
2933 -
Directory Listing
Modified
Tue Oct 19 00:11:50 2004 UTC (15 years, 1 month ago) by
dpvc
Changed the order of variables in calls to Plane() so that it
corresponds to the usage in ImplictPlane(). Also fixed a typo in
capitalization of @N.
Revision
2932 -
Directory Listing
Modified
Tue Oct 19 00:08:04 2004 UTC (15 years, 1 month ago) by
dpvc
Updated i(), j() and k() functions to check if the Parser is loaded,
and if not, return a value that will cause perl to report a better
error than calling the parser outside of its normal context.
Since the current answer checkers call perl directly to evaluate their
expressions, when a variable is used by a student that is not a
variable used by the checker, this can cause perl to try to parse
those variables as function calls, or other perl constructs (like
matches if you use 'm' or translations if you use 'y'). This is bad
(and is not a problem with the new parser).
In particular, if the student uses 'k' in a formula for which k is not
defined, for example, perl will try to call the k() function.
Revision
2912 -
Directory Listing
Modified
Wed Oct 13 01:35:51 2004 UTC (15 years, 2 months ago) by
dpvc
Fixed typo in the comments.
Revision
2855 -
Directory Listing
Modified
Sat Oct 2 11:55:31 2004 UTC (15 years, 2 months ago) by
dpvc
added generic string-only context, and converted contextABCD and
contextTF to use it.
Revision
2824 -
Directory Listing
Modified
Thu Sep 23 21:31:41 2004 UTC (15 years, 2 months ago) by
dpvc
Two new Parser contexts, one for matching problems involving answers
like A, B, C and D, the other for T/F answers. These contexts have an
advantage over the standard str_cmp() checker in that it will give
additional error messages when the student enters an unrecognized answer.
Revision
2781 -
Directory Listing
Modified
Tue Sep 14 21:36:45 2004 UTC (15 years, 2 months ago) by
apizer
Fixed bug with useBaseTenLog
Arnie
Revision
2733 -
Directory Listing
Modified
Sat Sep 4 20:45:31 2004 UTC (15 years, 3 months ago) by
dpvc
This file defined an answer checker for lists of variable names
(ordered or unordered, and optionally enclosed in parentheses). You
can use this answer checker for questions that give a system of
equations and ask which variables are the dependent and which the
independent variables, for example.
Revision
2732 -
Directory Listing
Modified
Sat Sep 4 20:42:45 2004 UTC (15 years, 3 months ago) by
dpvc
This file provides an answer checker that determines whether two
students answers compose to form a given function. The student
answers are not allowed to be the identity function, or a function
that is trivially generated from the composition.
See the comments within the file for details about how to use it.
Revision
2731 -
Directory Listing
Modified
Sat Sep 4 20:40:43 2004 UTC (15 years, 3 months ago) by
dpvc
This file defines a NumberWithUnits class for that provides an answer
checker for numbers with units. It uses the same units package that
the standard answer checkers use, but this will eventually be replaced
by a more complete Units class within the parser itself. The class
produces a preview string in which the units show appropriately.
Revision
2730 -
Directory Listing
Modified
Sat Sep 4 20:31:55 2004 UTC (15 years, 3 months ago) by
dpvc
This file defines a DifferenceQuotient class that provides an answer
checker for difference quotients. These include a variable "dx" (or a
user specified one) that can be used as part of the formula, and the
student must simplify the answer at least enough to remove the dx from
the denominator.
Revision
2729 -
Directory Listing
Modified
Sat Sep 4 20:29:52 2004 UTC (15 years, 3 months ago) by
dpvc
This file provides some convenient tools for generating random points
and vectors that are not the zero vector, plus some other misc. utilities.
Revision
2728 -
Directory Listing
Modified
Sat Sep 4 20:28:33 2004 UTC (15 years, 3 months ago) by
dpvc
This file defines a ParametricLine class that provides an answser
checker for lines in any dimension given parametrically. The answer
checker will recognize the line even if the point and direction vector
used by the student are not the same as the ones used by the
professor.
See the comments within the file for examples of how to use it.
Revision
2727 -
Directory Listing
Modified
Sat Sep 4 20:26:23 2004 UTC (15 years, 3 months ago) by
dpvc
This macro file defines an ImplicitPlane (and inplicit line) class of
Parser object that provides an answer checker for planes (or
hyperplanes in any dimension) of the form ax + by + cz = d. Students
can provide their answer in any (linear) form that is equivalent to
this.
The class accepts several formats for specifying the correct-answer plane.
Revision
2726 -
Directory Listing
Modified
Sat Sep 4 20:21:32 2004 UTC (15 years, 3 months ago) by
dpvc
These files provide contexts for the Parser in which only limited
operations are allowed. The LimitedNumeric context is analogous to
strict_num_cmp(). The other contexts are similar, but for the
indicated type of answer. In the LimitedVector context, for example,
the student can enter vectors, and can perform numeric operations
within the coordinates of the vectors, but can't perform vector
operations like vector addition or cross product.
Revision
2698 -
Directory Listing
Modified
Sat Aug 28 13:52:33 2004 UTC (15 years, 3 months ago) by
dpvc
Add better error reporting in PG translator. In particular, these
changes add two new features:
1) produce a full stack trace when a .pg file dies, and
2) convert (eval nnn) references to filenames, when
possible, in warn and die messages while processing a
.pg file.
There is also a change in the webwork tree that is needed to make this
all work, so be sure to apply updates in both trees.
Revision
2666 -
Directory Listing
Modified
Sun Aug 22 00:56:32 2004 UTC (15 years, 3 months ago) by
dpvc
Formulas can now be compared even if their variables are complex
numbers, or even points or vectors! This makes it possible to ask
students for complex functions like z^2+i and so on.
You can specify limits for variables either via
Context()->variables->set(x=>{limits=>[0,1]}) (for reals) or
Context()->variables->set(z=>{limits=>[[-2,2],[0,1]]}) (for complexes).
Similarly for points and vectors (where the number of sub arrays
depends on the dimension). You can also give the limits for a
specific formula by assigning to its ->{limits} field:
$f = Formula("sqrt(x-10)");
$f->{limits} = [10,12];
There are now named variable types for 'Point2D', 'Point3D',
'Vector2D' and 'Vector3D', in addition to 'Real' and 'Complex'.
You can also specify a variable type by giving an explicit instance of
a value of the given type. E.g.
Context()->variables->add(x=>'Real',y=>0); # two real variables
Context()->variables->add(z=>'Complex',w=>i); # two complexes
Context()->variables->add(r=>Vector(0,0,0)); # a vector in R^3
Context()->variables->add(X=>'Vector3D'); # a vector in R^3
There still needs to be more error checking in processing
user-supplied limits, but I'm not sure how much overhead is worth it.
Revision
2644 -
Directory Listing
Modified
Thu Aug 19 12:01:12 2004 UTC (15 years, 3 months ago) by
dpvc
Make sure loadMacros() doesn't try to load these files more than once.
Revision
2626 -
Directory Listing
Modified
Mon Aug 16 19:44:26 2004 UTC (15 years, 3 months ago) by
dpvc
One more fix for handling intervals properly (I think it's really
right this time). Also, named constants that end in numbers will
produce TeX output with the number as a subscript (this was already
true for variable names).
Revision
2609 -
Directory Listing
Modified
Sat Aug 14 13:54:52 2004 UTC (15 years, 3 months ago) by
dpvc
Added a String type to the Value package. Mostly this is to make it
possible to generate an answer checker for it that uses the parser.
It also makes it more consistent for handling things like stringify,
especially when they are recursively called internally.
Added new default strings "NONE" and "DNE", since these get used a
lot.
Modified how the default parameters are set up for the answer
checkers, and how the answer checker reports the expected answer type
in type mismatch error messages.
Revision
2608 -
Directory Listing
Modified
Sat Aug 14 13:49:56 2004 UTC (15 years, 3 months ago) by
dpvc
Added Infinity function (similar to i and pi) for creating infinity
constants.
Revision
2602 -
Directory Listing
Modified
Fri Aug 13 22:57:27 2004 UTC (15 years, 3 months ago) by
dpvc
Changed the way the parser checks to see if it is loaded.
Revision
2590 -
Directory Listing
Modified
Wed Aug 11 18:02:44 2004 UTC (15 years, 4 months ago) by
dpvc
Added Real() command to create fuzzy reals.
Revision
2576 -
Directory Listing
Modified
Wed Aug 4 20:52:28 2004 UTC (15 years, 4 months ago) by
dpvc
Make Parser work with PGauxiliaryFunctions.pl, and add the macro files
needed to initialize the parser.
Revision
2574 -
Directory Listing
Modified
Wed Aug 4 20:23:11 2004 UTC (15 years, 4 months ago) by
dpvc
Make Parser live nicely with Complex1.pm.
In particular, make the i() function determine whether it should
call the Complex::i() function or the Parser version.
Revision
2558 -
Directory Listing
Modified
Wed Jul 28 20:32:33 2004 UTC (15 years, 4 months ago) by
sh002i
merged changes from rel-2-1-a1 -- stop using that branch.
Revision
2518 -
Directory Listing
Modified
Fri Jul 16 01:32:52 2004 UTC (15 years, 4 months ago) by
gage
Will create the tempDirectory if it is missing.
this is useful if, for example, you switch the tmp directory from
webwork2/courses/courseName/html/tmp to something like
/ww/htdocs/tmp/courseName
You don't want to create a courseName node for every course, you would
prefer to create only /ww/htdocs/tmp
the current version will create the node courseName if it doesn't exist
(or the name tmp in the first example) but will not create files
higher up the tree.
Revision
2488 -
Directory Listing
Modified
Sun Jul 11 21:36:26 2004 UTC (15 years, 5 months ago) by
gage
Added better error messages. Removed and extraneous slash.
Revision
2445 -
Directory Listing
Modified
Tue Jul 6 21:21:20 2004 UTC (15 years, 5 months ago) by
jj
Allow psvn to equal 0. It could happen in situations where a problem
isn't really assigned to the person.
Revision
2443 -
Directory Listing
Modified
Tue Jul 6 15:16:51 2004 UTC (15 years, 5 months ago) by
jj
Allow new option for image. extra_html_tags are added to the img tag of the
image. Allows you to control the vertical alignment of an image.
Revision
2400 -
Directory Listing
Modified
Fri Jun 25 12:32:14 2004 UTC (15 years, 5 months ago) by
dpvc
Fixed error in ANS_NUM_TO_NAME.
Revision
2396 -
Directory Listing
Modified
Thu Jun 24 22:07:22 2004 UTC (15 years, 5 months ago) by
dpvc
Moved the <BR> in std_print_q from the beginning of a line to the end
of a line. This prevents unexpected initial blank lines.
Revision
2393 -
Directory Listing
Modified
Thu Jun 24 21:01:23 2004 UTC (15 years, 5 months ago) by
dpvc
Removed the experimental Parser-based implementations of i(), j() and k().
(sorry about that).
Revision
2392 -
Directory Listing
Modified
Thu Jun 24 21:00:26 2004 UTC (15 years, 5 months ago) by
dpvc
Removed skip and rule from problem header generated in TeX mode here,
and let the snippets handle it (they were producing redundent rules).
Also removed some unwanted spaces in htmllink().
(Accidentally committed experimental change to dangerousMacros.pl, and
don't know how to prevent it at this point, so I'll commit a change
back to the original in a moment.)
Revision
2370 -
Directory Listing
Modified
Wed Jun 23 01:19:15 2004 UTC (15 years, 5 months ago) by
sh002i
moved DISPLAY_MODE_FAILOVER into this file
Revision
2292 -
Directory Listing
Modified
Fri Jun 11 16:40:44 2004 UTC (15 years, 6 months ago) by
dpvc
Fixed a bug in jsMath mode where it would not display < (when it looked like
part of a tag).
Also, removed unwanted spaced around input box.
Revision
2277 -
Directory Listing
Modified
Tue Jun 8 02:06:32 2004 UTC (15 years, 6 months ago) by
sh002i
Reformatted the FUNCTION_CMP subroutine to make it more readable. Also,
one functional change:
< (defined ($inputs_ref->{$prev_ans_label} and $inputs_ref->{$prev_ans_label} =~/\S/) )
> (defined $inputs_ref->{$prev_ans_label} and $inputs_ref->{$prev_ans_label} =~/\S/)
I think the latter was what was intended.
Revision
2274 -
Directory Listing
Modified
Mon Jun 7 23:53:45 2004 UTC (15 years, 6 months ago) by
sh002i
got rid of remaining calls to "wwerror". Fixes bug #530.
Revision
2270 -
Directory Listing
Modified
Mon Jun 7 11:52:47 2004 UTC (15 years, 6 months ago) by
dpvc
Removed redundant HTML_jsMath check.
Revision
2267 -
Directory Listing
Modified
Mon Jun 7 01:34:34 2004 UTC (15 years, 6 months ago) by
dpvc
Added jsMath support to these files.
Basically, HTML_jsMath should do whatever HTML_dpng mode does. I simply included
it HTML_jsMath every time HTML_dpng appeared.
Revision
2253 -
Directory Listing
Modified
Sat Jun 5 16:13:33 2004 UTC (15 years, 6 months ago) by
jj
Allow on-the-fly graphics in jsmath and asciimath modes.
Revision
2243 -
Directory Listing
Modified
Wed Jun 2 20:18:48 2004 UTC (15 years, 6 months ago) by
jj
Fixed bug which caused some debug output to always appear.
Revision
2232 -
Directory Listing
Modified
Mon May 31 15:44:43 2004 UTC (15 years, 6 months ago) by
jj
Re-use on-the-fly graphs, unless problem seed has change, source file has changed, or the problem is being rendered without being part of a real set.
Revision
2215 -
Directory Listing
Modified
Mon May 24 21:24:41 2004 UTC (15 years, 6 months ago) by
jj
Allow default size of on the fly graphics to be set in global.conf, and make pop-ups of those graphs have windows closer to the size of the graph. Also, pop-ups always make a new window - important for problems which make you compare two or more popped up graphs.
Revision
2206 -
Directory Listing
Modified
Mon May 24 17:51:44 2004 UTC (15 years, 6 months ago) by
jj
Made on the fly graph names use problem seed rather than psvn. It is a better identifier for pages like SetMaker. Also made image names workable for set names containing periods (for the day when set names are free to contain periods).
Revision
2201 -
Directory Listing
Modified
Mon May 24 02:32:45 2004 UTC (15 years, 6 months ago) by
dpvc
update to asciimath for MSIE.
Revision
2199 -
Directory Listing
Modified
Mon May 24 01:59:53 2004 UTC (15 years, 6 months ago) by
dpvc
Support for asciimath.
Added preliminary support for asciimath rendering. You must use a
MathML-enabled browser.
Revision
2193 -
Directory Listing
Modified
Mon May 24 01:05:03 2004 UTC (15 years, 6 months ago) by
sh002i
failover data now passed in via %envir.
Revision
2173 -
Directory Listing
Modified
Sun May 23 01:33:22 2004 UTC (15 years, 6 months ago) by
jj
Added helpLink for standard help pages in pg files.
Revision
2166 -
Directory Listing
Modified
Sat May 22 22:16:20 2004 UTC (15 years, 6 months ago) by
dpvc
Files needed for jsMath display mode.
Revision
2155 -
Directory Listing
Modified
Sat May 22 18:04:23 2004 UTC (15 years, 6 months ago) by
jj
Moved nicestring to PGbasicmacros.
Revision
2153 -
Directory Listing
Modified
Sat May 22 15:53:00 2004 UTC (15 years, 6 months ago) by
gage
Removed warning messages. The macroDirectory and courseScripts directory are now defined from the %envir
variable which is shared directly with the new Safe compartment rather than via calls to $main::macroDirectory
which seemed to be unstable in some instances. I've left the FIXME sign in place just in case there
are still problems.
Revision
2151 -
Directory Listing
Modified
Sat May 22 01:23:17 2004 UTC (15 years, 6 months ago) by
gage
Roll back the previous changes. They were added to HEAD instead of to the experimental branch.
Revision
2150 -
Directory Listing
Modified
Sat May 22 01:19:11 2004 UTC (15 years, 6 months ago) by
gage
Experimental refactorization of answer evaluators will take place on this branch.
Revision
2144 -
Directory Listing
Modified
Fri May 21 23:58:13 2004 UTC (15 years, 6 months ago) by
apizer
Removed old commented out code dealing with PGsort.
Arnie
Revision
2143 -
Directory Listing
Modified
Fri May 21 23:56:48 2004 UTC (15 years, 6 months ago) by
apizer
Use the new PGsort which uses a true/false compare (e.g. < or lt )
rather than a -1,0,1 compare (e.g. <=> or cmp ).
Arnie
Revision
2061 -
Directory Listing
Modified
Sun May 9 17:45:41 2004 UTC (15 years, 7 months ago) by
gage
Modifications to PGbasicmacros and PGanswermacros which check whether a function answer
is the same as the function answer submitted previously. Gives warning message
if the same incorrect answers is submitted twice in a row. The functions must
both compile in order to recognize that they are the same answer. Two syntactically
incorrect entries will not be recognized as equivalent, even if they are in some sense.
Revision
2057 -
Directory Listing
Modified
Sat May 8 22:53:03 2004 UTC (15 years, 7 months ago) by
gage
Preliminary changes that may eventually allow us to solve the be_strict problem for 5.8.0
Revision
2056 -
Directory Listing
Modified
Sat May 8 22:51:38 2004 UTC (15 years, 7 months ago) by
gage
Updating answer evaluators in PGanswermacros.pl
Beginning to include code that will allow us to
check whether the current answer is the same
as the one submitted previously.
Revision
1964 -
Directory Listing
Modified
Thu Apr 22 14:39:28 2004 UTC (15 years, 7 months ago) by
jj
Added convention to beginproblem that point value of "" means that we don't
print the point value at all. It will also supress printing of the filename
if someone is supposed to have filenames printed, which is appropriate for
the one known time this convention is used.
Revision
1943 -
Directory Listing
Modified
Sun Apr 4 20:05:34 2004 UTC (15 years, 8 months ago) by
jj
Synched with ASU version. Defunct functions deleted, new functions added,
and documentation added.
Revision
1941 -
Directory Listing
Modified
Sun Apr 4 15:56:59 2004 UTC (15 years, 8 months ago) by
jj
WW 2 didn't like the top line. Inserting a comment seems to fix it. Also
corrected a typo.
Revision
1932 -
Directory Listing
Modified
Sat Apr 3 15:44:55 2004 UTC (15 years, 8 months ago) by
jj
Added support for useBaseTenLog for ww2.
Revision
1896 -
Directory Listing
Modified
Wed Mar 17 00:45:28 2004 UTC (15 years, 8 months ago) by
gage
Changed the naming of arrays from ArRaY[0,0,0] to ArRaY__0:0:0:__
This involved changes in PG.pl and PGmorematrixmacros (ans_array_filter)
Made other cosmetic fixes to code. Added names to many filters to help with
debugging. It seems to work for now.
Revision
1834 -
Directory Listing
Modified
Thu Mar 4 17:41:06 2004 UTC (15 years, 9 months ago) by
gage
Added comments
Revision
1831 -
Directory Listing
Modified
Thu Mar 4 13:06:32 2004 UTC (15 years, 9 months ago) by
gage
Changed documentation spacing
Revision
1812 -
Directory Listing
Modified
Mon Feb 16 20:34:01 2004 UTC (15 years, 9 months ago) by
gage
This is a new attempt to fix the problem that there was no
preview string if the units were incorrect. The previous fix
caused difficulties if strings were entered for numerical answers.
The new code has been added to the subroutine fix_answers_for_display
which already performed answer cleanup of various kinds.
Revision
1797 -
Directory Listing
Modified
Thu Feb 12 20:26:26 2004 UTC (15 years, 9 months ago) by
toenail
Reordered pre-filters in NUM_CMP to allow for latex previews of answers with no units
Revision
1791 -
Directory Listing
Modified
Thu Feb 12 14:23:36 2004 UTC (15 years, 10 months ago) by
gage
Added RECORD_FORM_DATA for making sticky form data which
is not specifically related to answers.
Revision
1785 -
Directory Listing
Modified
Mon Feb 9 17:18:39 2004 UTC (15 years, 10 months ago) by
gage
Modifications to checkbox_cmp to include preview_latex_string.
this completes the squashing of bug #400
Revision
1784 -
Directory Listing
Modified
Mon Feb 9 17:09:06 2004 UTC (15 years, 10 months ago) by
gage
Made changes to the check box macros so that they will remain
sticky when more than one check box is checked.
Involves splitting a null separated string ( or perhaps converting
a reference to an array). uses a new subroutine contained_in(elem,
array_or_arrray_ref_or_null_separated_string)
this resolves part of bug #400
--Mike
Revision
1780 -
Directory Listing
Modified
Fri Feb 6 02:55:55 2004 UTC (15 years, 10 months ago) by
gage
Corrected format of one line.
--Mike
Revision
1765 -
Directory Listing
Modified
Fri Jan 30 18:04:37 2004 UTC (15 years, 10 months ago) by
jj
Fix bug from last fix, and a second bug caused by $Global::htmlModeDefault
being accidentally called $Global::htmldisplayModeDefault in this file.
Revision
1764 -
Directory Listing
Modified
Fri Jan 30 15:28:46 2004 UTC (15 years, 10 months ago) by
jj
Some sites use only one display mode. In that case, the "choice of one"
display mode should not be displayed.
Revision
1758 -
Directory Listing
Modified
Mon Jan 26 16:36:29 2004 UTC (15 years, 10 months ago) by
jj
If LaTeX formula ends in a backslash after removing training spaces,
then we removed too much space, so we add a space to the end of it so
it ends '\ \)'.
Revision
1710 -
Directory Listing
Modified
Tue Jan 6 14:04:34 2004 UTC (15 years, 11 months ago) by
apizer
fixed bug in call to Romberg routine. Romberg now requires parameters
of the form "level => 8". This was fixed previously I thought. Not sure
how the fix was lost.
Arnie
Revision
1690 -
Directory Listing
Modified
Sun Dec 28 19:46:57 2003 UTC (15 years, 11 months ago) by
gage
Zeroed the variable storing the responses to questionnaires. Should
fix the error on questionnaires revealed by the persistance of mod_perl
modules.
Changed warning message in dangerousMacros.pl to more accurately describe
what is wrong when the gif2eps script cannot be executed. (Based on actual
experience running a course on webwork.math.rochester.edu -- I couldn't remember
what my own warning message implied.)
--Mike
Revision
1620 -
Directory Listing
Modified
Fri Nov 7 14:55:12 2003 UTC (16 years, 1 month ago) by
apizer
fixed a bug in line 2469 replacing \npsvnNumber by \n$psvnNumber
Arnie
Revision
1550 -
Directory Listing
Modified
Tue Sep 30 01:18:25 2003 UTC (16 years, 2 months ago) by
sh002i
check to see if $envir->{texDisposition} is defined before trying to
access it.
Revision
1534 -
Directory Listing
Modified
Thu Sep 25 05:42:31 2003 UTC (16 years, 2 months ago) by
sh002i
removed unneeded #! line
Revision
1528 -
Directory Listing
Modified
Thu Sep 25 01:29:21 2003 UTC (16 years, 2 months ago) by
sh002i
fixed #! line
Revision
1525 -
Directory Listing
Modified
Thu Sep 25 00:29:59 2003 UTC (16 years, 2 months ago) by
sh002i
removed unneeded #! lines
Revision
1506 -
Directory Listing
Modified
Fri Sep 19 01:30:13 2003 UTC (16 years, 2 months ago) by
gage
Fixed check_string filter so that it places a
value in preivew_text_string and in preview_latex_string
in the answer hash. For example entering DNE did not
show up in answer preview, which bothered some students.
--Mike
Revision
1505 -
Directory Listing
Modified
Mon Sep 15 05:47:38 2003 UTC (16 years, 2 months ago) by
lr003k
It seems as though the way I tried to fix long decimals isn't working the way I wanted it too, so I've commented it out for now.
~Liam
Revision
1494 -
Directory Listing
Modified
Tue Sep 9 02:06:31 2003 UTC (16 years, 3 months ago) by
jj
Put mbox around entries of a matrix in TeX-based modes to protect
math inside of them.
Revision
1490 -
Directory Listing
Modified
Sun Sep 7 17:40:54 2003 UTC (16 years, 3 months ago) by
gage
Corrected a typo in EV4
--Mike
Revision
1483 -
Directory Listing
Modified
Fri Sep 5 13:19:45 2003 UTC (16 years, 3 months ago) by
gage
Added EV4 routine supplied by Zig Fiedorowicz
--Mike
Revision
1463 -
Directory Listing
Modified
Fri Aug 15 16:51:09 2003 UTC (16 years, 3 months ago) by
gage
Changes to mail that make it work properly with ALLOW_MAIL_TO
--Mike
Revision
1462 -
Directory Listing
Modified
Fri Aug 15 16:49:42 2003 UTC (16 years, 3 months ago) by
gage
Made changes to rh_sticky_answers so that they
are addressed correctly.
Long term I would like to remove all
references to main:: except for those
in the init routines. The references
can be replaced by a locally defined
pointer to the value in the current safe
compartment.
This procedure should make it easier to
maintain the macros. All references to
global variables will occur in the init
routine.
--Mike
Revision
1456 -
Directory Listing
Modified
Thu Aug 14 16:10:01 2003 UTC (16 years, 3 months ago) by
gage
At least a temporary fix for mail_answers_to2
These evaluators are run in the grader and the
environment variables have disappeared?? I can't find
them at any rate.
this is at best a temporary fix until we get the global
variable situation under control when using cached code.
--Mike
Revision
1455 -
Directory Listing
Modified
Thu Aug 14 13:27:54 2003 UTC (16 years, 3 months ago) by
gage
Made changes to anstext and a few
other answer evaluators so that they
evaluated "main::" correctly.
Still need to fix install problem
grader
--Mike
Revision
1453 -
Directory Listing
Modified
Wed Aug 6 18:59:26 2003 UTC (16 years, 4 months ago) by
jj
New file with linear programming simplex method related macros.
Revision
1452 -
Directory Listing
Modified
Tue Aug 5 16:37:10 2003 UTC (16 years, 4 months ago) by
jj
Revised documentation for test_points.
Revision
1451 -
Directory Listing
Modified
Tue Aug 5 16:34:38 2003 UTC (16 years, 4 months ago) by
jj
Added some documentation for test_points.
Revision
1450 -
Directory Listing
Modified
Tue Aug 5 16:24:48 2003 UTC (16 years, 4 months ago) by
jj
Added option of test_points to fun_cmp.
Revision
1390 -
Directory Listing
Modified
Tue Jul 15 17:55:32 2003 UTC (16 years, 4 months ago) by
apizer
Back off from Cervone's new definition of BR
Arnie
Revision
1385 -
Directory Listing
Modified
Mon Jul 14 20:22:19 2003 UTC (16 years, 4 months ago) by
apizer
Fixed a bug in Davide Cervone's changes
Arnie
Revision
1379 -
Directory Listing
Modified
Mon Jul 14 15:16:30 2003 UTC (16 years, 5 months ago) by
apizer
Incorporated Davide Cervone's improvements and bug fixes. This mostly
involved removing unwanted spaces, etc.
Arnie
Revision
1365 -
Directory Listing
Modified
Fri Jul 11 20:18:57 2003 UTC (16 years, 5 months ago) by
lr003k
In order to make ans_array entries "sticky" I've had to change some stuff.
The answer labels for these entries are now put into $main::PG_FLAGS{ANSWER_ENTRY_ORDER} as an array reference in PG.pl.
In processProblem8.pl the labels are caught again in the subroutines logCourseData and encode_submitted_answers. It is important that
they're caught there rather than earlier because then the translator would think that every entry was it's own answer.
Professor Gage says that processProblem8.pl is no longer used in webwork2, and he says he'll fix this there.
Revision
1351 -
Directory Listing
Modified
Fri Jul 11 16:30:04 2003 UTC (16 years, 5 months ago) by
apizer
incorporate some of davide Cervone'e changes
Arnie
Revision
1332 -
Directory Listing
Modified
Wed Jul 9 20:29:04 2003 UTC (16 years, 5 months ago) by
lr003k
Fixed a rounding problem.
Revision
1331 -
Directory Listing
Modified
Wed Jul 9 20:28:40 2003 UTC (16 years, 5 months ago) by
lr003k
Removed the last change, it's now handled in display_matrix.
Revision
1328 -
Directory Listing
Modified
Wed Jul 9 19:45:40 2003 UTC (16 years, 5 months ago) by
gage
Added $ to PG_random_generator in the subroutine SRAND. Why it worked
before as a bare word is anyone's guess. Now that $PG_random_generator
is a local variable the bareword no longer works properly.
--Mike
Revision
1327 -
Directory Listing
Modified
Wed Jul 9 18:06:52 2003 UTC (16 years, 5 months ago) by
lr003k
Added a pretty_matrix sub routine to fix some rounding problems.
Revision
1319 -
Directory Listing
Modified
Mon Jul 7 02:27:15 2003 UTC (16 years, 5 months ago) by
jj
Made box option functional for display_matrix. It lets you specify an
element to be boxed.
Revision
1318 -
Directory Listing
Modified
Mon Jul 7 01:34:38 2003 UTC (16 years, 5 months ago) by
jj
Fixed bugs in matrix display when top_labels are present.
Revision
1317 -
Directory Listing
Modified
Fri Jul 4 05:08:37 2003 UTC (16 years, 5 months ago) by
jj
Fixed tick marks for graphs - x/y values were reversed.
Revision
1314 -
Directory Listing
Modified
Wed Jul 2 15:27:59 2003 UTC (16 years, 5 months ago) by
apizer
Add backslash to list of characters filtered out of sticky answers
Arnie
Revision
1312 -
Directory Listing
Modified
Tue Jul 1 17:55:12 2003 UTC (16 years, 5 months ago) by
gage
Fixed error in sourceAlias. The variable is %main::envir not
$main::envir !!!
--Mike
Revision
1311 -
Directory Listing
Modified
Tue Jul 1 15:36:43 2003 UTC (16 years, 5 months ago) by
gage
Changed the defintion of *i to be inside the Complex package.
this and the change to dangerousMacros seems to have cured bug #116
In dangerousMacros, I've added sub i {Complex::i}; after sub i;
--Mike
Revision
1305 -
Directory Listing
Modified
Tue Jul 1 00:48:01 2003 UTC (16 years, 5 months ago) by
gage
Latest attempt to get a version of dangerousMacros.pl that will
work with both 5.6.1 adn 5.6.0
--Mike
Revision
1304 -
Directory Listing
Modified
Mon Jun 30 23:24:29 2003 UTC (16 years, 5 months ago) by
gage
removed unnecessary "no strict, use strict" pair
--Mike
Revision
1303 -
Directory Listing
Modified
Mon Jun 30 20:36:57 2003 UTC (16 years, 5 months ago) by
apizer
added missing hyperbolic, inverse trig, and inverse hyperbolic functions
cintributed by Davide Cervone
Arnie
Revision
1298 -
Directory Listing
Modified
Fri Jun 27 19:53:50 2003 UTC (16 years, 5 months ago) by
gage
Fixed typo in beginproblem
--Mike
Revision
1294 -
Directory Listing
Modified
Fri Jun 27 13:57:09 2003 UTC (16 years, 5 months ago) by
lr003k
Added a vec_solution_cmp. Used for problems where the answer
needs to be v1_s*v2+t*v3 where v1,v2,and v3 are vectors. v1 has
to be a linear combination of the professors answer where the
first one has a nonzero coefficient. The others are a basis, and
are compared with compare_basis.
Revision
1286 -
Directory Listing
Modified
Thu Jun 26 21:08:47 2003 UTC (16 years, 5 months ago) by
gage
Make sure that the local my variables are updated in PGbasicmacros
as well as the variables in main::.
--Mike
Revision
1280 -
Directory Listing
Modified
Thu Jun 26 17:42:18 2003 UTC (16 years, 5 months ago) by
malsyned
Merged the changes needed to work with the new WW2 translator
optimizations into the main pg branch.
Revision
1278 -
Directory Listing
Modified
Thu Jun 26 13:55:43 2003 UTC (16 years, 5 months ago) by
lr003k
Matrices now displayed in previewer.
Revision
1276 -
Directory Listing
Modified
Wed Jun 25 16:26:42 2003 UTC (16 years, 5 months ago) by
lr003k
committed the wrong thing
Revision
1274 -
Directory Listing
Modified
Wed Jun 25 15:43:03 2003 UTC (16 years, 5 months ago) by
lr003k
fixed a bug
Revision
1267 -
Directory Listing
Modified
Tue Jun 24 15:25:58 2003 UTC (16 years, 5 months ago) by
gage
Changes that allow these files to work with caching version
of Webwork2.0 -- optimized for speed
--Mike
Revision
1266 -
Directory Listing
Modified
Tue Jun 24 15:24:09 2003 UTC (16 years, 5 months ago) by
gage
Changes that allow these files to work with optimized
version of WeBWorK2.0 which uses caching of macro files.
--Mike
Revision
1265 -
Directory Listing
Modified
Tue Jun 24 14:58:03 2003 UTC (16 years, 5 months ago) by
lr003k
Made the code more object-oriented
Revision
1253 -
Directory Listing
Modified
Mon Jun 23 18:34:44 2003 UTC (16 years, 5 months ago) by
gage
More changes to make these files compatible
with WeBWorK2.0 and cached compartments
-- Mike
Revision
1251 -
Directory Listing
Modified
Mon Jun 23 16:24:32 2003 UTC (16 years, 5 months ago) by
gage
Changes made to PGbasicmacros so that it can be cached.
Changes should be compatible with webwork1.8
--MIke
Revision
1250 -
Directory Listing
Modified
Mon Jun 23 15:43:11 2003 UTC (16 years, 5 months ago) by
gage
Made changes required to allow caching of these files.
My tests indicate that these changes are compatible with webwork1.8
One possible problem might be the mail-to answer macros
which access the environement variable directly
I think I have this properly patched, but it has not been
tested yet.
--Mike
Revision
1238 -
Directory Listing
Modified
Fri Jun 20 19:05:38 2003 UTC (16 years, 5 months ago) by
lr003k
Matrices now take math constants.
Revision
1237 -
Directory Listing
Modified
Fri Jun 20 18:59:44 2003 UTC (16 years, 5 months ago) by
lr003k
Student answer now displayed in a html table given by jones's
display matrix method in PGmatrixmacros. The braces were giving
me headaches so I set the option to none, at least for now.
Revision
1161 -
Directory Listing
Modified
Fri Jun 13 17:36:10 2003 UTC (16 years, 6 months ago) by
lr003k
Was not accepting negative answers, the sign problem is fixed now.
Revision
1158 -
Directory Listing
Modified
Fri Jun 13 17:12:18 2003 UTC (16 years, 6 months ago) by
sh002i
rollback change to the way ImageGenerator::add is called.
-sam
Revision
1155 -
Directory Listing
Modified
Fri Jun 13 02:33:56 2003 UTC (16 years, 6 months ago) by
sh002i
changes to the math_ev3 functions in PGbasicmacros.pl to support new
interface to ImageGenerator and some cleanup.
-sam
Revision
1140 -
Directory Listing
Modified
Thu Jun 12 19:14:38 2003 UTC (16 years, 6 months ago) by
gage
Answer labels are now prefixed by a Quiz prefix which allows more
than one problem to appear on the same page.
-- Mike
Revision
1127 -
Directory Listing
Modified
Wed Jun 11 19:18:19 2003 UTC (16 years, 6 months ago) by
lr003k
Was working from an older copy before my last update, sorry.
Revision
1126 -
Directory Listing
Modified
Wed Jun 11 18:34:40 2003 UTC (16 years, 6 months ago) by
jj
Fixed isPrime, which had said that 4 was prime, and shortened its loop.
Revision
1123 -
Directory Listing
Modified
Wed Jun 11 15:28:47 2003 UTC (16 years, 6 months ago) by
lr003k
Ok, there is the ans_array_filter added which allows for the answer to be coming from the ans_array.
Revision
1122 -
Directory Listing
Modified
Wed Jun 11 14:54:27 2003 UTC (16 years, 6 months ago) by
lr003k
Added two methods for naming the blanks in ans_array. The names now have the format ArRaY3[1,0,2] (this would be the name of
the 3rd answer (it's taken from main::answer_count which is then incremented so the answer before it is AnSwEr2 and the
answer after it is AnSwEr4) and it would be the second matrix or vector in the answer ( I need to take multiple vectors for
things like basis cmp, so ans_array_extension puts the vectors in different locations) and the 0 and 2 are row and column in
that matrix or vector.
Revision
1121 -
Directory Listing
Modified
Wed Jun 11 14:47:59 2003 UTC (16 years, 6 months ago) by
lr003k
I removed the subroutine answer_matrix since it really belongs in basic macros with the other answer blank methods.
Revision
1120 -
Directory Listing
Modified
Wed Jun 11 14:46:35 2003 UTC (16 years, 6 months ago) by
lr003k
I've added ans_array and ans_array extension and moved answer_matrix here since this is probably where it should be with all
the other answer blank methods. I still have to comment the code.
Revision
1115 -
Directory Listing
Modified
Wed Jun 11 02:43:42 2003 UTC (16 years, 6 months ago) by
apizer
Fixed error concerning variable $string.
Cleaned up how polynomials are displayed.
Arnie
Revision
1102 -
Directory Listing
Modified
Tue Jun 10 16:23:47 2003 UTC (16 years, 6 months ago) by
lr003k
ok, I'm pretty sure that this one is the one we want. Unfortunately the other one was an old one, that cmpl_cmp4 was not used
anywhere and I had removed it later, and this one has multi_cmp. Sorry for all the confusion.
Revision
1097 -
Directory Listing
Modified
Mon Jun 9 23:26:19 2003 UTC (16 years, 6 months ago) by
jj
Slightly better handling of top_labels in tth mode when force_tex is set; namely
it ignores the labels instead of letting the TeX code confuse tth so badly that
the matrix is basically lost.
Revision
1091 -
Directory Listing
Modified
Mon Jun 9 21:53:11 2003 UTC (16 years, 6 months ago) by
gage
Added > /dev/null tags to the commands which run tex and dvi for
HTML_img mode. These will probably work now for the most part.
I don't know how well this will work if there is an error in
getting either tex or dvips to run.
For many problems using WeBWorK1.8 and typeset3 mode thing work fine.
Please submit example problems where the images don't show up or some
other image related error occurs as bugs to
http://webwork3.math.rochester.edu/bugzilla
--Mike
Revision
1090 -
Directory Listing
Modified
Mon Jun 9 21:24:08 2003 UTC (16 years, 6 months ago) by
gage
Fixed a patch to round (and Round) originally due to Mark Schmitt
which didn't get included in the latest updates and transfer to pg
--Mike
Revision
1088 -
Directory Listing
Modified
Mon Jun 9 21:05:11 2003 UTC (16 years, 6 months ago) by
gage
Commented out code that is not used (I believe)
comp_cplx4 and cplx_cmp4
-- Mike
Revision
1080 -
Directory Listing
Modified
Mon Jun 9 17:49:36 2003 UTC (16 years, 6 months ago) by
apizer
remove unneccsary shebang lines
Arnie
Revision
1072 -
Directory Listing
Modified
Mon Jun 9 02:27:04 2003 UTC (16 years, 6 months ago) by
gage
The file PGcomplexmacros.pl is partially in sync with the version in
courseScripts. I need advice on the latest versions of some of the
subroutines from Liam.
--Mike
Revision
1071 -
Directory Listing
Modified
Mon Jun 9 02:26:17 2003 UTC (16 years, 6 months ago) by
gage
Bringing these files in sync with the latest versions in the
courseScripts CVS
--Mike
Revision
1069 -
Directory Listing
Modified
Mon Jun 9 02:01:41 2003 UTC (16 years, 6 months ago) by
gage
Bringing this version into sync with the latest version in
courseScripts.
In particular dvipng is active in this script to make HTML_img
useable in WeBWorK2.0. Not yet finished with this.
--Mike
Revision
1068 -
Directory Listing
Modified
Mon Jun 9 01:59:37 2003 UTC (16 years, 6 months ago) by
gage
Updating the copy of PGchoicemacros.pl to the latest version available
in courseScripts
--Mike
Revision
1066 -
Directory Listing
Modified
Mon Jun 9 00:54:33 2003 UTC (16 years, 6 months ago) by
gage
Adding a newer version of PGmatrixmacros.pl
--Mike
Revision
1064 -
Directory Listing
Modified
Mon Jun 9 00:34:51 2003 UTC (16 years, 6 months ago) by
gage
Adding recent macro files to the pg collection
--Mike
Revision
1050 -
Directory Listing
Added
Fri Jun 6 21:39:42 2003 UTC (16 years, 6 months ago) by
sh002i
moved PG modules and macro files from webwork-modperl to pg
-sam