Sticky Revision: |

Revision

Modified

When (-x)*y or x*(-y) reductions are performed, don't print extra parentheses in string and TeX version. I.e., display as -xy not -(xy). This makes reduction with polynomials work better.

Revision

Modified

Cosmetic changes.

Revision

Modified

Added a reduce flag for x^1 processing (it was not able to be disabled before).

Revision

Modified

Better control over when extra parentheses are added.

Revision

Modified

Remove the space inserted by \left...\right when it appears in a multiplication operation (so function calls look better, for example).

Revision

Modified

Added new flags to error checking of operands and function arguments. This is so that a context can be developed that is more forgiving about what can be put next to what. Such a context can NOT be used for evaluation or answer checking, but can be used to generate TeX output in more sophisticated situations.

Revision

Modified

Added perl method so that the result is always a number (not a blank when it is false).

Revision

Modified

Fix typo, and handle case where Allow is called from package.

Revision

Modified

Don't use \cdot with things like 3i.

Revision

Modified

More fixes for creating items in the corret context. Also added a method for looking up the package associated with a particular Parser class (for consistency with the Value->Package call).

Revision

Modified

Allow promote() to accept a context as the first argument so that the promoted object can be forced into the given context.

Revision

Modified

Update to handle the fact that the Value package now includes the context with all MathObjects. (This may still need some work.)

Revision

Modified

Add a new operator // to be the same as / except its TeX form is a/b rather than \frac{a}{b}. This makes it possible get horizontal fractions in exponents, for example, where vertical fractions often don't look so good.

Revision

Modified

Make sure \cdot is only used for a numeric right-hand part (finishes fix of bug 1114).

Revision

Modified

Use \cdot when a number is followed by a numeric fraction. (Fixes bug 1114.)

Revision

Modified

Fixed more undefined values

Revision

Modified

Added canBeInUnion and isSetOfReals methods to the Parser package (similar to the ones in the Value package), replacing the canBeInterval flag and other ad hoc checks. Removed ability to form interval like [a] now that we have sets.

Revision

Modified

Fixed typo in previous update.

Revision

Modified

Fixed use of undefined value for $position in TeX and String methods.

Revision

Modified

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

Changes needt for Set object, and fixed a bug with unions containing constant intervals with non-constant ones.

Revision

Modified

A first pass at making parser error messages localizable. The Context()->{error}{msg} hash can be used to specify translations of the standard messages. For example, Context()->{error}{msg}{'Division by zero'} = "Don't divide by zero, dude!"; Context()->{error}{msg}{'Function '%s' has too many inputs'} = "You passed too many arguments to '%s'"; (I didn't translate into another language, here, but you could do that, too.) The msg hash could also be used within answer checkers to make certain answer messages more appropriate for the given type of expected answer.

Revision

Modified

Fixed various perl compiler warnings (due to extra "my", and so on).

Revision

Modified

Modified the perl() method to make calles to Value:: directly rather than to the main:: stubs for creating Value objects. This will make it work better from within packages or when Parser.pl hasn't been loaded. A few things still won't work in this case; e.g., calls to Closed() for intervals (these could be handled better using ->with()) and to functions like Factorial and log10 that are defined in Parser.pl. Finally, there should be better object-based control over what routines are called to create these objects, so that subclasses of the Value objects will be able to be generated correctly.

Revision

Modified

Added reduction rules to remove redundent negatives. Override string and TeX methods that avoid redundent parentheses.

Revision

Modified

Report errors for powers of negative numbers rather than return 'nan'. Don't allow 'nan' to be made into a Real object.

Revision

Modified

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

Revision

Modified

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

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

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

Revision

Modified

Two more minor TeX improvements.

Revision

Modified

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

TeX mode now adds parentheses around fractions, when needed.

Revision

Modified

Fixed wrong error messages when operators are undefined in a context.

Revision

Modified

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

Make sure equality always returns a defined value, and put spaces around the equal sign in string output.

Revision

Modified

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

Modified

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

Modified

*** empty log message ***

Revision

Modified

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

Added

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

aubreyja at gmail dot com | ViewVC Help |

Powered by ViewVC 1.0.9 |