Links to HEAD: | (view) (download) (as text) (annotate) |

Sticky Revision: |

Revision

Modified

File length: 13617 byte(s)

Diff to previous 3494

Added a Point context that is a copy of the Vector context. This will allow users to override some settings in Vector context (namely, how they are entered and displayed) without preventing users from being able to enter points (in Point context).

Revision

Modified

File length: 13499 byte(s)

Diff to previous 3477

Made the 'R' constant in Interval context show up as a bold R in TeX mode.

Revision

Modified

File length: 13440 byte(s)

Diff to previous 3474

Added ability to subtract intervals, sets and unions. Adjusted the precedence of the union 'U' to be above _ and + so that things like (1,5) U (7,10) - {8} U (2,3) will do ((1,5) U (7,10)) - ({8} U (2,3)) rather than the previous (1,5) U ((7,10) - {8}) U (2,3). Finally, added a constant 'R' to the Interval context that is equivalent to (-inf,inf), so you can do things like R-{0} now. Still need to work out reducing unions so that things like (1,3)U(2,4) can become (1,4).

Revision

Modified

File length: 13305 byte(s)

Diff to previous 3367

Changes needed for new Set object, plus for moving string, TeX and perl into Value.pm. Also removed unneeded spaces in perl versions of the constants (these were to fix problems with the minus sign, but that is now being handled by the minus operators themselves).

Revision

Modified

File length: 12790 byte(s)

Diff to previous 3334

Fixed problem with minus signs in formulas that are turned into perl mode. Perl needs extra spaces to avoid problems with -e type operators.

Revision

Modified

File length: 12762 byte(s)

Diff to previous 3203

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

Modified

File length: 12905 byte(s)

Diff to previous 2914

Handle extra parentheses better.

Revision

Modified

File length: 12899 byte(s)

Diff to previous 2909

Added support for useBaseTenLogs to make log() work like ln() or log10() depending on the value in the course.conf file. Also fixed a bug that caused the WeBWorK parameters not to be copied into contexts by initCopy().

Revision

Modified

File length: 12845 byte(s)

Diff to previous 2802

In Complex context, make sqrt() and log() of negative numbers return their complex values. Also make ^ and ** do the same with negative bases. These can be controlled by setting/clearing the "negativeIsComplex" entry for these functions and operators.

Revision

Modified

File length: 12444 byte(s)

Diff to previous 2796

Eliminated unneeded parentheses in TeX output when unary minus and plus are used with fractions.

Revision

Modified

File length: 12398 byte(s)

Diff to previous 2789

Added flags that control the reductions performed by Formula()->reduce. Each reduction operation can be individually enabled or disabled in the context, and in the reduce() call itself. More complex reductions need to be developed.

Revision

Modified

File length: 12366 byte(s)

Diff to previous 2701

Added context flags to control automatic reduction of operations that involve only constant values. The default is to combine constants, but this can now be disabled. Also added a new flag to control the addition of extra parentheses that make string values painfully unambiguous (these are for situations that students tend to get wrong). By default this is turned off (so that professor answers won't contain excessive parentheses), but the answer checker will be made to turn this on for student answers. Finally, when extra parens are added to formulas, they alternate between ( ) and [ ] to make it easier to read.

Revision

Modified

File length: 12098 byte(s)

Diff to previous 2696

Only convert (f(x))^2 to f^2(x) for specified functions f (as marked in the Context).

Revision

Modified

File length: 11835 byte(s)

Diff to previous 2678

Improved TeX and string output in a number of situations. Improved use of parentheses to avoid things like x+-3. Fixed wrong parentheses in powers. Display (sin(x))^2 as sin^2(x) in TeX output.

Revision

Modified

File length: 11814 byte(s)

Diff to previous 2671

Modified the parser so that the classes for the various object constructors are stored in the context table rather than hard-coded into the parser. That way, you can override the default classes with your own. This gives you even more complete control to modify the parser. (You had been able to replace the definitions of operators, functions and list-like objects, but could not override the behaviour of numbers, strings, variables, and so on. Now you can.) This effects most of the files, but only by changing the name of the calls that create the various objects. There are also a couple of other minor fixes.

Revision

Modified

File length: 11932 byte(s)

Diff to previous 2665

Fixed some inconsistencies between handing of matrices within the parser and Value packages. Added a predefined Matrix context.

Revision

Modified

File length: 11679 byte(s)

Diff to previous 2653

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

Modified

File length: 11683 byte(s)

Diff to previous 2643

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

Modified

File length: 12004 byte(s)

Diff to previous 2629

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

Modified

File length: 11962 byte(s)

Diff to previous 2622

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

Modified

File length: 11895 byte(s)

Diff to previous 2609

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

Modified

File length: 11854 byte(s)

Diff to previous 2607

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

Modified

File length: 11755 byte(s)

Diff to previous 2605

Allow unary + and - to work on infinities.

Revision

Modified

File length: 11715 byte(s)

Diff to previous 2597

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. Also added the Infinity answer checker, and adjusted the error messages produces by type mismatches in the answer checkers and elsewhere.

Revision

Modified

File length: 11752 byte(s)

Diff to previous 2596

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

Modified

File length: 11750 byte(s)

Diff to previous 2594

Have parser handle infinities better.

Revision

Modified

File length: 11589 byte(s)

Diff to previous 2592

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

Modified

File length: 11272 byte(s)

Diff to previous 2579

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 comparison routines. Some additional checks were added for valid intervals when the coordinates are formulas.

Revision

Modified

File length: 11141 byte(s)

Diff to previous 2558

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

Added

File length: 10999 byte(s)

merged changes from rel-2-1-a1 -- stop using that branch.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

aubreyja at gmail dot com | ViewVC Help |

Powered by ViewVC 1.0.9 |