[system] / trunk / pg / lib Repository: Repository Listing bbplugincoursesdistsnplrochestersystemwww

# Log of /trunk/pg/lib

 Sticky Revision:

Revision 2669 - Directory Listing
Modified Sun Aug 22 15:42:50 2004 UTC (15 years, 3 months ago) by dpvc
```Made the granularity of the test-point intervals be a parameter that
can be set on a global or variable-by-variable basis, so this is now
controlable from the .pg file.  For example:

Context("Numeric")->variables->are(
k=>{limits=>[1,10], resolution=>1},
x=>{limits=>[-2,2], granularity=>1000},
);

will make k be a variable that will only take on integer values
between 1 and 10, and x a variable that will take on one of 1000
different values evenly spaced between -2 and 2 (so resolution is
4/1000 in this case).

These parameters can also be set for an individual formula:

\$f = Formula("k^2-1");
\$f->{resolution} = 1;
\$f->{limits} = [0,10];
```

Revision 2668 - Directory Listing
Modified Sun Aug 22 02:55:38 2004 UTC (15 years, 3 months ago) by dpvc
```Fixed TeX output of Matrices to use \array rather than \matrix for
constant matrices).  Made intervals produce formulas when of of the
endpoints is a formula.  Removed unneeded comment.
```

Revision 2667 - Directory Listing
Modified Sun Aug 22 02:51:53 2004 UTC (15 years, 3 months ago) by dpvc
```Added support for dimension warnings in the answer checker for
formulas that return points, vectors or matrices.
```

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(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 2665 - Directory Listing
Modified Sun Aug 22 00:41:44 2004 UTC (15 years, 3 months ago) by dpvc
```Made the default context be Numeric context rather than Full context.
Since there is only one variable in this context, it will speed up
function answer checking.  It will also encourage you to choose the
correct context explicitly.

Also changed Complex context to have z as the only variable.  If you
want x and y as reals, you need to add them in by hand.  Again, this
is for efficiency in answer checking.
```

Revision 2664 - Directory Listing
Modified Sat Aug 21 22:02:14 2004 UTC (15 years, 3 months ago) by dpvc
```Added a file to perform WeBWorK-specific modifications to the
Parser/Value packages.  (I've tried to make these independent of
WeBWorK, so you can use them in other perl code if you want to.)

The parameters for fuzzy reals and some of the other parameters now
are taken from the pg->{ansEvalDefaults} values (as defined in
global.conf or course.conf).  More still needs to be done with this,
however.
```

Revision 2661 - Directory Listing
Modified Fri Aug 20 15:56:56 2004 UTC (15 years, 3 months ago) by dpvc
```A number of fixes to make handing lists work better.  In particular,
you can now specify checks for whether the right kinds of parentheses
(or none at all) are used on the student's answer.  Some of the flags
for the list checker have been changed to accommodate this.
```

Revision 2660 - Directory Listing
Modified Fri Aug 20 15:52:32 2004 UTC (15 years, 3 months ago) by dpvc
```A number of adjustments to get negative infinities to work better.
They used to be stored as separate Parser strings, but now they are
flagged versions of a single string.

All of the problems are really due to the fact that there is no
Infinity class in the Parser (only a Value version).  That should be
changed, but will require some work, and can be put off for now.

It would be best if the classes within the two packages would match up
nearly 1-to-1, but for historical reasons, they don't.  Since the
introduction of Real, String and Infinity classes to the Value
package, The Infinity class is the one main difference between the
two, and once that is fixed, everything needs to be looked over to
check for unnecessary complications due to the historical lack of classes
in one or the other package.
```

Revision 2658 - Directory Listing
Modified Fri Aug 20 11:17:06 2004 UTC (15 years, 3 months ago) by dpvc
```Make blank patterns be ^\$ (which should never match) rather than empty
(which always matches).  this fixes a problem where if a context has
no functions, for example, the parser would attempt to create function
calls to a function named ''.
```

Revision 2657 - Directory Listing
Modified Fri Aug 20 11:13:51 2004 UTC (15 years, 3 months ago) by dpvc
```Handle trapped error messages that are not produced by the parser
error reporter (i.e., by bugs within the parser itself).  Also added
an error if implied multiplication is attempted when the operator for
it is not defined in the current context.
```

Revision 2656 - Directory Listing
Modified Fri Aug 20 02:13:38 2004 UTC (15 years, 3 months ago) by dpvc
```We need to protect the HTML in the professor's answer so that if it
contains <, for example, it won't disappear.
```

Revision 2655 - Directory Listing
Modified Fri Aug 20 02:11:50 2004 UTC (15 years, 3 months ago) by dpvc
```Fixed typo.
```

Revision 2654 - Directory Listing
Modified Fri Aug 20 02:11:08 2004 UTC (15 years, 3 months ago) by dpvc
```Avoid possible infinite recursion in promotePrecedence() when special
precedence is used.
```

Revision 2653 - Directory Listing
Modified Thu Aug 19 17:31:18 2004 UTC (15 years, 3 months ago) by dpvc
```Fixed error with handling of +infinity and -infinity.
(They had been defined as strings, but now we can let the + and -
operators handle them).
```

Revision 2650 - Directory Listing
Modified Thu Aug 19 14:23:00 2004 UTC (15 years, 3 months ago) by dpvc
```Added Parser::Number::NoDecimals() function that causes the parser to
give an error message when the student types a decimal number.  This
means the student must enter fractions as fractions, or values like
sqrt(2) or pi/4 symbolically not numerically.
```

Revision 2649 - Directory Listing
Modified Thu Aug 19 14:19:32 2004 UTC (15 years, 3 months ago) by dpvc
```Fixed an error in the generation of regexp patterns for the various
data types.
```

Revision 2648 - Directory Listing
Modified Thu Aug 19 12:38:47 2004 UTC (15 years, 3 months ago) by dpvc
```The answer checkers now work with subclasses of Formulas that are not
part of the Value:: package tree itself (we call Value::isFormula()
rather than checking the class directly).

I also removed the various cmp_* flags that stored method names as
they ended up not needing to be used (they were intended as a means of
overriding the default method names, but subclassing turned out to be
a better approach).

I moved some initialization of the answer checker out of the anonymous
subroutine that is installed in the checker and just have that
subroutine call the correct answer's main checker (which I renamed).

Finally, I changed the student_ans value to be an HTMLized version of
the student answer, since the student could include things like < in
his answer (e.g., for vectors), in which case his whole answer might
disappear.  I wonder if this couldn't be handled better at a higher
level, as it seems wrong to make the student_ans be HTML rather than
the parsed string.  I originally thought Problem.pm could do the
protecting of HTML special characters, but this won't work without
student_ans to mark sytanx errors in the student answer, and you DON'T
want to protect those HTML characters.  The student_ans field is
probably being misused in this, and there might want to be another
field that gets used by Problem.pm in place of student_ans (which can
be HTML protected) when it is non-empty; say student_HTML or something
like that.  The answer checkers could use that field if it wants to
assurance that it's HTML characters will be protected.  That way, if a
second answer checker calls the first (like some list checkers do),
then the second checker doesn't have to worry about removing HTML from
the student ans, and doesn't ahve to wonder whether the student_ans
actually contains an error message or syntax markings rather than the
```

Revision 2647 - Directory Listing
Modified Thu Aug 19 12:18:56 2004 UTC (15 years, 3 months ago) by dpvc
```Context() now accepts a reference to an actual Context object rather
than a name of a predefined context, and will switch to that.
```

Revision 2646 - Directory Listing
Modified Thu Aug 19 12:16:41 2004 UTC (15 years, 3 months ago) by dpvc
```Make it possible to create subclasses of objects in the value package
that are not actually in the Value:: package tree.  This makes it
possible to have .pl files (that are run via loadMacros) that create
new Value object classes that are local to the problem rather than
global to the system.  (With mod_perl, if a .pl file added to the
Value:: tree itself, the results would be persistent, and this could
adversely affect future problems processed by the same httpd child
process.  It could lead to "redefined subroutine" errors, or worse.)
This provides a safe way to extend the parser on a problem-specific
basis.

This technique is used in the line and plane answer checkers (coming
soon), for example.  If such a checker becomes widely used, it can
always be added into the Value:: tree at a later time.
```

Revision 2645 - Directory Listing
Modified Thu Aug 19 12:02:15 2004 UTC (15 years, 3 months ago) by dpvc
```Make sure equality always returns a defined value, and
```

Revision 2643 - Directory Listing
Modified Thu Aug 19 11:55:56 2004 UTC (15 years, 3 months ago) by dpvc
```Use the standard precedences rather than the experimental ones by
default.  The professor will need to specificaly request the
non-standard ones, for now.
```

Revision 2634 - Directory Listing
Modified Tue Aug 17 15:21:58 2004 UTC (15 years, 3 months ago) by dpvc
```Changed the string used for the student answer to be taken from the
unevaluated formula rather than the fully-evaluated one.  This leaves
constants unreplaced, for one thing.

Currently the parser combines constants automatically during the parse
[which should be controllable by a flag], so student answers that
produce numbers are fully evaluated at this point already, except for
constant substitution.  This could be changed so that even for
numberic results, the student sees the parsed expression (rather than
the numeric result), which might help them identify where they and the
parser differ in their interpretation.  It is still nice to see the
final computed result, however, but there is no place to show the
parsed input as well as the final result.  One solution would be to
add another column (wasting space).  Another would be to make the
value shown be "parsed-value = computed-value" when they are not the
same thing.  A bit ugly, but works within the current framework.
```

Revision 2632 - Directory Listing
Modified Tue Aug 17 12:05:18 2004 UTC (15 years, 3 months ago) by dpvc
```Fixed typo in name of random generator.
```

Revision 2629 - Directory Listing
Modified Tue Aug 17 02:01:27 2004 UTC (15 years, 4 months ago) by dpvc
```Fixed a number of minor problems with creating perl functions from
formulas (this is done automatically as part of the function answer
checker, so is showing up now that I have that checker in place).

Also improved error messages in the function answer checker, and fixed
a bug when students enter a constant list or union when the answer
checker expects formulas.
```

Revision 2628 - Directory Listing
Modified Mon Aug 16 21:41:05 2004 UTC (15 years, 4 months ago) by dpvc
```Allow parser "constants" to be (in reality) formulas.  That way, for
example, you can defined T, N and B to be the formulas for the unit
tangent, normal and binormal of a space curve (as functions of "t")
and the student can write anwers in terms of T, N and B (without
having to compute them).

You could have created FUNCTIONS T(t), N(t) and B(t), and added them
to the parser to get almost the same effect, but the students would
have had to include the "(t)".  (If you want that, go ahead and do it
that way.)
```

Revision 2627 - Directory Listing
Modified Mon Aug 16 20:22:16 2004 UTC (15 years, 4 months ago) by dpvc
```Removed unwanted side-effects of some type-match checks, and moved the
ignoreStrings flag so that it is available for the checkers of ANY type.
```

Revision 2626 - Directory Listing
Modified Mon Aug 16 19:44:26 2004 UTC (15 years, 4 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 2625 - Directory Listing
Modified Mon Aug 16 18:35:12 2004 UTC (15 years, 4 months ago) by dpvc
```Added string comparison to all Value object classes (to compare the
string value of an object to another string).

Overloaded perl '.' operator to do dot product when the operands are
formulas returning vectors.  (Part of the auto-generation of
formulas).

A few improvements to real and complex class output results.

Made Union class slightly more robust and removed need for makeUnion
method other than in the Union itself.
```

Revision 2624 - Directory Listing
Modified Mon Aug 16 13:44:45 2004 UTC (15 years, 4 months ago) by dpvc
```Added support for unorderd list or formulas with partial credit.
Fixed type mismatch reporting in formula answer checker.
Fixed an error with Unions producing incorrect perl versions under
some circumstances.
```

Revision 2622 - Directory Listing
Modified Sun Aug 15 22:46:57 2004 UTC (15 years, 4 months ago) by dpvc
```Created the first draft of the Parser's function answer checker.  Some
work still needs to be done, in particular, type mismatches are not
being reported, and lists are being processed only as ordered lists
with no partial credit.

This doesn't implement everything from fun_cmp.  In particular, there
is no support for parameter matching at the moment.  This will have to
be added, but I'm not quite sure how to do it when the function's
return value is not a real number (e.g., an interval).

On the other hand, this checker is more forgiving about domain errors:
if tries a point where the professor's function is not defined, it
ignores that one and looks for another (until it decides it can't find
one).  Once it has these points, it tries them on the student's
answer, and if the student's function is undefined, then the student
answer is wrong (since it is not defined somewhere that the
professor's funciton is).  This avoids the "Error evaluating student
function at ..." messages, which just confused most students anyway.
```

Revision 2621 - Directory Listing
Modified Sun Aug 15 17:05:41 2004 UTC (15 years, 4 months ago) by dpvc
```Improved error messages, particularly when the student enters a
formula in an answer that should be constant, and also for incorrect
answers in lists of answers.  There are a few other miscellaneous output
improvements as well.
```

Revision 2620 - Directory Listing
Modified Sun Aug 15 12:02:05 2004 UTC (15 years, 4 months ago) by dpvc
```Had to put back the global context variable after all.  :-(
It gets reset in Parser.pl, so it should be OK even with mod_perl.
```

Revision 2619 - Directory Listing
Modified Sun Aug 15 00:45:46 2004 UTC (15 years, 4 months ago) by dpvc
```Modified Context() function so that it no longer uses a global package
variable for storing the user's context table.
```

Revision 2617 - Directory Listing
Modified Sun Aug 15 00:13:38 2004 UTC (15 years, 4 months ago) by dpvc
```The Union answer checker now uses the generic List checker, so that it
will be able to produce partial credit and hints about which Intervals
are correct.
```

Revision 2616 - Directory Listing
Modified Sat Aug 14 21:29:21 2004 UTC (15 years, 4 months ago) by dpvc
```Added an equality operator (not active initially) that can be used for
things like equations of planes and so on.  I'm working on the answer
checker for that.
```

Revision 2615 - Directory Listing
Modified Sat Aug 14 21:27:45 2004 UTC (15 years, 4 months ago) by dpvc
```*** empty log message ***
```

Revision 2612 - Directory Listing
Modified Sat Aug 14 19:29:42 2004 UTC (15 years, 4 months ago) by dpvc
```Fixed some bugs in the handle of the context in ->string and ->TeX
methods of Value objects.
```

Revision 2611 - Directory Listing
Modified Sat Aug 14 15:59:35 2004 UTC (15 years, 4 months ago) by dpvc
```Fixed a typo in one of the parser answer checkers.  Added a line that
was incorrecctly removed in the parser.
```

Revision 2610 - Directory Listing
Modified Sat Aug 14 13:55:54 2004 UTC (15 years, 4 months ago) by dpvc
```The class file for the Value::String object.  (Forgot to add it before
the last commit.  Sorry!)
```

Revision 2609 - Directory Listing
Modified Sat Aug 14 13:54:52 2004 UTC (15 years, 4 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
in type mismatch error messages.
```

Revision 2607 - Directory Listing
Modified Sat Aug 14 11:26:49 2004 UTC (15 years, 4 months ago) by dpvc
```Allow unary + and - to work on infinities.
```

Revision 2606 - Directory Listing
Modified Sat Aug 14 11:25:47 2004 UTC (15 years, 4 months ago) by dpvc
```Can now specify that the objects stringify themselfs in their TeX
forms rather than their answer-string forms.  This makes it easier to
use the objects in the text of a problem (without having to call ->TeX
explicitly each reference).

Use

Context()->texStrings

to start outputting TeX strings, and

Context()->normalStrings

to switch back.
```

Revision 2605 - Directory Listing
Modified Sat Aug 14 02:50:18 2004 UTC (15 years, 4 months ago) by dpvc
```Incorporated infinities into Parser package better.  They have been
stored as String objects (with extra data) in the parser, and I've
left it that way, but now they convert to/from Vallue::Infinity
objects correctly, and these are used for generating the output.

messages produces by type mismatches in the answer checkers and
elsewhere.
```

Revision 2604 - Directory Listing
Modified Fri Aug 13 23:49:16 2004 UTC (15 years, 4 months ago) by dpvc
```Fixed some output issues with intervals and unions.
```

Revision 2603 - Directory Listing
Modified Fri Aug 13 23:01:07 2004 UTC (15 years, 4 months ago) by dpvc
```Added an Infinite object class for the Value package.  Still need to
add it to the Parser package.
```

Revision 2601 - Directory Listing
Modified Fri Aug 13 19:06:09 2004 UTC (15 years, 4 months ago) by dpvc
```Added ability to report incorrect coordinates in point and vector
answers, and incorrect endpoints and endpoint types in intervals.
Separated these kinds of checks from the typeMatch check, where they
didn't really belong.

Added ability to specify intervals and unions as strings in Interval()
and Union(), which makes it easier to make constants of these types.

There are still problems comparing intervals that contain infinities;
I really need to make the infinity object to solve this, so have put
off trying to fix that for now.
```

Revision 2600 - Directory Listing
Modified Fri Aug 13 14:39:16 2004 UTC (15 years, 4 months ago) by dpvc
```Handle list entries that are not Value objects better.
```

Revision 2599 - Directory Listing
Modified Fri Aug 13 14:19:23 2004 UTC (15 years, 4 months ago) by dpvc
```The List object's answer checker is now considerably improved.  It
will allow you to specify an unorderd or ordered check, and whether to
print various kinds of hints for wrong answers.

The checker can return partial credit, but WW doesn't deal well with
this at the moment (some small changes to Problem.pm can take care of
that).  Partial credit should be based on \$showPartialCorrectAnswers,
but it is disabled for now.

The list answer checker probably still needs some work, especially
with non-numeric lists.
```

Revision 2597 - Directory Listing
Modified Fri Aug 13 11:38:22 2004 UTC (15 years, 4 months ago) by dpvc
```Added answer checker for parallel vectors.
Added option to number checker to have it not report type mismatches
for the known strings (like 'infinity').  (Really need a class for
infinities, and a Value.pm class for strings.)
```

Revision 2596 - Directory Listing
Modified Thu Aug 12 23:11:32 2004 UTC (15 years, 4 months ago) by dpvc
```Have parser handle infinities better.
```

Revision 2594 - Directory Listing
Modified Thu Aug 12 20:17:18 2004 UTC (15 years, 4 months ago) by dpvc
```Fixes for handling intervals better.  In particular, deal better with
ambiguous situations, like (1,2) that could be a point.

You can use [a,a] to specify the single point a.  I'd like to make {a}
represent this (and maybe even {a,b,c} to form finite sets), but this
would interfere with the use of { and } as alternative parentheses.
(Does anyone really use these?)

Do we need a cross product for intervals (and sets) as a means of
representing regions in R^2 (or higher)?
```

Revision 2593 - Directory Listing
Modified Thu Aug 12 16:48:52 2004 UTC (15 years, 4 months ago) by dpvc
```This is a preliminary attempt at adding answer checkers that use the
parser.  If you have a parser object (like a formula or a vector), you
can use the ->cmp method to get an answer checker appropriate for the
object.  For example:

Context('Vector');
\$v = Vector(1,2,3);
#  print text of problem
ANS(\$v->cmp);

would produce an answer checker that matched against the vector <1,2,3>.
Most of the parameters are set in the Context, but additional ones can
be passed to the checker (this still needs work).

See the sample problems for more examples.

The checkers for Reals, Complexes, Points, Vectors, Matrices and
Intervals work pretty well.  The ones for List and Union objects need
more work, as they only do an ORDERED check at the moment (the student
answers must be in the same order).  This needs to be fixed.
The checker for Formula objects (which corresponds to fun_cmp) still
needs to be written.
```

Revision 2592 - Directory Listing
Modified Thu Aug 12 16:40:47 2004 UTC (15 years, 4 months ago) by dpvc
```A number of small fixes.  Most were to fix minor bugs in string and
TeX output, particulary for the various list-based objects (like
vectors, intervals, etc.).  There were also some bug fixes in the
intervals when the coordinates are formulas.
```

Revision 2583 - Directory Listing
Modified Tue Aug 10 11:22:19 2004 UTC (15 years, 4 months ago) by dpvc
```Fixed generation of LaTeX version of sqrt(...).
```

Revision 2580 - Directory Listing
Modified Mon Aug 9 21:38:58 2004 UTC (15 years, 4 months ago) by dpvc
```Forgot to add this file.  It implements the "fuzzy real" class.
```

Revision 2579 - Directory Listing
Modified Mon Aug 9 21:38:01 2004 UTC (15 years, 4 months ago) by dpvc
```Significant update to new parser.

New features include:

Better control over format of vector output (you can now
specify ijk-format rather than <...> format)

"Fuzzy" reals, where the relations like == return true when the
two values are "close enough".  (This is controlable using
parameters similar to those used in NUM_CMP).

The fuzzy reals are now used in vectors/points/matrices/complexes/intervals
and so on so that their relations will also be fuzzy.  E.g.,
(1E-13,2) == (0,3) will be true, and norm(Vector(0,1E-13)) will
equal 0.

The two main portions of the parser (the Parser and Value packages)
now share a common context object for configuration purposes.
```

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 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 2469 - Directory Listing
Modified Thu Jul 8 15:29:45 2004 UTC (15 years, 5 months ago) by apizer
```Create equations directory if it doesn't exist.  All directories under
tmp should be recreated if they don't exist.

Arnie
```

Revision 2461 - Directory Listing
Modified Wed Jul 7 21:26:52 2004 UTC (15 years, 5 months ago) by apizer
```Change permission of tmp files so that they can be removed.

Arnie
```

Revision 2420 - Directory Listing
Modified Sat Jun 26 21:56:44 2004 UTC (15 years, 5 months ago) by jj
```Most of the work for adjusting vertical alignment of images is here.
```

Revision 2409 - Directory Listing
Modified Fri Jun 25 16:27:55 2004 UTC (15 years, 5 months ago) by jj
```Allow option of not using the cache.  If its path is the empty string, then
we just return the md5 hash of the latex string followed by a 1.
```

Revision 2389 - Directory Listing
Modified Thu Jun 24 18:13:33 2004 UTC (15 years, 5 months ago) by dpvc
```Removed extra spaces from around dvipng images.

(These can cause bad line breaks, e.g. between mathematics and the
punctuation that follows.)
```

Revision 2369 - Directory Listing
Modified Wed Jun 23 01:18:58 2004 UTC (15 years, 5 months ago) by sh002i
```ImageGenerator is now using WeBWorK::Constants
```

Revision 2363 - Directory Listing
Modified Tue Jun 22 18:03:07 2004 UTC (15 years, 5 months ago) by jj
```When using the imageCache (which is always), put images into subdirectories
based on the first two characters of their md5 hash.
```

Revision 2345 - Directory Listing
Modified Thu Jun 17 20:02:12 2004 UTC (15 years, 5 months ago) by apizer
```Changed pacckage name from strict to ww_strict per Sam's suggestion
to prevent redefining warnings.

Arnie
```

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 2167 - Directory Listing
Modified Sat May 22 22:32:43 2004 UTC (15 years, 6 months ago) by gage
```Moved be_strict after package main;
```

Revision 2164 - Directory Listing
Modified Sat May 22 22:10:30 2004 UTC (15 years, 6 months ago) by gage
```Moving ww_strict.pm forward to 5.8.3 compatible version
with require Carp; commented out
```

Revision 2163 - Directory Listing
Modified Sat May 22 21:34:58 2004 UTC (15 years, 6 months ago) by gage
```Moved ww_strict.pm back to be identical with strict.pm from perl 5.6
```

Revision 2158 - Directory Listing
Modified Sat May 22 20:48:51 2004 UTC (15 years, 6 months ago) by gage
```We are now using ww_strict.pm instead of strict.pm in be_strict;
```

Revision 2157 - Directory Listing
Modified Sat May 22 20:46:20 2004 UTC (15 years, 6 months ago) by gage
```We are using our own version of strict.pm that has a require Carp;  commented out.
This is included in be_strict which is used to implement strict within PG macro files
which need to be evaluted inside the Safe compartment
```

Revision 2142 - Directory Listing
Modified Fri May 21 23:54:00 2004 UTC (15 years, 6 months ago) by apizer
```Replaced PGsort with a version that uses quick sort.  This fixes the

Arnie
```

Revision 2135 - Directory Listing
Modified Fri May 21 01:34:28 2004 UTC (15 years, 6 months ago) by sh002i
```Modified DVIPNG_ARGS to work with dvipng >= 1.0.
```

Revision 2060 - Directory Listing
Modified Sun May 9 17:43:32 2004 UTC (15 years, 7 months ago) by gage
```Cosmetic fixes to code layout.
```

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 1779 - Directory Listing
Modified Fri Feb 6 02:52:42 2004 UTC (15 years, 10 months ago) by gage
```Allow a 256 error from dvipng.  This seems to be necessary on webwork.math.rochester.edu, so I'm commiting
it to the CVS as well to keep the two systems in sync.

--Mike
```

Revision 1759 - Directory Listing
Modified Mon Jan 26 16:59:30 2004 UTC (15 years, 10 months ago) by gage
```Minor change to the definition of the timer
```

Revision 1688 - Directory Listing
Modified Sat Dec 27 21:34:04 2003 UTC (15 years, 11 months ago) by gage
```Added error messages that should make it easier to tell if
certain directories have not been created. Also checks that
files are actually created and written at each step of the process.
--Mike
```

Revision 1556 - Directory Listing
Modified Wed Oct 1 02:40:09 2003 UTC (16 years, 2 months ago) by sh002i
```changed the way the IO modules work: shared subroutines are in IO now,
and IO has a hash %WeBWorK::PG::IO::SHARE which can be added to
Translator's %shared_subroutine_hash directly.
```

Revision 1555 - Directory Listing
Modified Wed Oct 1 02:31:54 2003 UTC (16 years, 2 months ago) by sh002i
```changed documentation to reflect the fact that reh refresh and mtime
flags are no longer used
```

Revision 1553 - Directory Listing
Modified Tue Sep 30 01:20:55 2003 UTC (16 years, 2 months ago) by sh002i
```added files from WW2
```

Revision 1540 - Directory Listing
Modified Sat Sep 27 16:47:34 2003 UTC (16 years, 2 months ago) by gage
```When displaying a raw student answer, nulls are converted to \0 so that they
can be seen.  This is probably redundant since strings with multiple values
separated by nulls are supposed to be converted to references to arrays before
they reach this point.
--Mike
```

Revision 1535 - Directory Listing
Modified Fri Sep 26 21:16:18 2003 UTC (16 years, 2 months ago) by gage
```Added line which prints out the raw student answer when the debug
flag is on.
--Mike
```

Revision 1524 - Directory Listing
Modified Thu Sep 25 00:28:15 2003 UTC (16 years, 2 months ago) by sh002i
```added image generation modules from WW2
```

Revision 1454 - Directory Listing
Modified Tue Aug 12 16:43:36 2003 UTC (16 years, 4 months ago) by jj
```Redoing fix to random so that random(2,7,3) won't produce 8.  The original
fix was lost in the merger with mod-perl version.
```

Revision 1333 - Directory Listing
Modified Wed Jul 9 23:20:23 2003 UTC (16 years, 5 months ago) by jj
```Fixed new bug introduced by, er, my previous bug fix.
```

Revision 1310 - Directory Listing
Modified Tue Jul 1 15:35:51 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
--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 1290 - Directory Listing
Modified Thu Jun 26 22:43:15 2003 UTC (16 years, 5 months ago) by gage
```Merge the time optimized branch and the main branch.  I forgot one subroutine
--Mike
```

Revision 1285 - Directory Listing
Modified Thu Jun 26 21:04:09 2003 UTC (16 years, 5 months ago) by gage
```Adding preliminary ability to decompose non-square matrices.  Won't work
if a permutation is required (i.e. a pivot)
--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 1117 - Directory Listing
Modified Wed Jun 11 04:00:37 2003 UTC (16 years, 6 months ago) by gage
```Added a feature to correspond to a change made in process_answers in Translator.pm.

evaluator is given the
is placed in the answer hash at \$hash{ans_label} for use by filters
that need to know the label of the answer they are evaluating.

--Mike
```

Revision 1094 - Directory Listing
Modified Mon Jun 9 22:46:25 2003 UTC (16 years, 6 months ago) by jj
```Fixed bug when the function is sampled at a point where it is not defined.
```

Revision 1079 - Directory Listing
Modified Mon Jun 9 17:36:12 2003 UTC (16 years, 6 months ago) by apizer
```removed unneccesary shebang lines
```

Revision 1073 - Directory Listing
Modified Mon Jun 9 13:30:46 2003 UTC (16 years, 6 months ago) by gage
```This module contains IO used in saving an answer to a file.
--Mike
```

Revision 1070 - Directory Listing
Modified Mon Jun 9 02:02:20 2003 UTC (16 years, 6 months ago) by gage
```Bringing this version of Matrix.pm up to date with the latest in
courseScripts.
--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
```

Sort log by: