[system] / trunk / pg / lib / Value / List.pm Repository:
ViewVC logotype

Log of /trunk/pg/lib/Value/List.pm

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 5696 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 14 12:14:21 2008 UTC (11 years, 8 months ago) by dpvc
File length: 3239 byte(s)
Diff to previous 5520
Added

	 no strict "refs"

to try to avoid new error checking in Perl 5.10.

Revision 5520 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 24 22:33:16 2007 UTC (12 years, 4 months ago) by dpvc
File length: 3221 byte(s)
Diff to previous 5089
Update the List() object to not add "(" and ")" around the list unless
they are explicitly entered by the author.  This prevents extraneous
parentheses from being introduced into the problem text that the
author hadn't expected.

Parentheses now are added only for nested lists, as in
List(1,List(2,3)), which will display as "1, (2, 3)", not "1, 2, 3".

Revision 5089 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 29 22:07:10 2007 UTC (12 years, 7 months ago) by dpvc
File length: 2836 byte(s)
Diff to previous 5056
Transfer flags from parent objects to their children for comparisons
and printing purposes.  Also touch up a few type-coersion issues.  (It
may be possible to not to need Value::isValue() if these can all be
taken care of.)

Revision 5056 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 28 11:32:10 2007 UTC (12 years, 7 months ago) by dpvc
File length: 2756 byte(s)
Diff to previous 5042
Make List() preserve the correct_ans field when it is used to coerce a
single element to a singleton list.

Revision 5042 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 28 01:31:09 2007 UTC (12 years, 7 months ago) by dpvc
File length: 2635 byte(s)
Diff to previous 4996
Recent changes to automatically do promotion in the Value methods was
a mistake.  I put it back into the subclass methods again.

Revision 4996 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 10 11:34:27 2007 UTC (12 years, 8 months ago) by dpvc
File length: 2624 byte(s)
Diff to previous 4993
Allow promote() to accept a context as the first argument so that the
promoted object can be forced into the given context.

Revision 4993 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 8 12:09:53 2007 UTC (12 years, 8 months ago) by dpvc
File length: 2517 byte(s)
Diff to previous 4991
Added more flexible type checking for MathObject classes.  This makes
it possible to correctly match types even when the context has
specified a different package to handle a given type, for example.

Revision 4991 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 8 02:09:21 2007 UTC (12 years, 8 months ago) by dpvc
File length: 2501 byte(s)
Diff to previous 4975
Update new() and make() methods to accept a context as the first
parameter (making it easier to create objects in a given context
without having to resort to a separate call to coerce them to the
given context after the fact).

Revision 4975 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 6 21:44:05 2007 UTC (12 years, 8 months ago) by dpvc
File length: 2460 byte(s)
Diff to previous 3716
This begins some major updates to the Parser and Value libraries.
This may make the MathObjects unstable as things shake down, but I'll
try to keep that to a minimum.

This update reorganizes how the overloading of operations are
implemented.  The base Value class is now overloaded rather than the
individual Value classes.  This makes it easier to make subclasses
that take advantage of the overloading.

The code that handles promoting one MathObject to another has been
updated as a part of this.  This should also make subclassing the
existing MathObjects more flexible.

In the past, Formula objects included a pointer to the Context in
which the object was created, but other MathObject did not.  This
update is the first round of updates to include the context in the
other MathObjects, but more work needs to be done.

The changes here should not affect existing problems; it is possible
that some macro files will need to be updated, but none of the
standard ones in pg/macros seem to need it at the moment.

Revision 3716 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Oct 16 03:37:17 2005 UTC (14 years, 4 months ago) by dpvc
File length: 2895 byte(s)
Diff to previous 3676
In the past, when Value objects were inserted into strings, they would
automatically include parentheses so that if you had $f equal to 1+x
and $g equal to 1-x, then Formula("$f/$g") would mean (1+x)/(1-x)
rather than 1+(x/1)-x, which is what would happen as a straing string
substitution.

The problem is that this would also happen for real numbers, vectors,
and everything else, even when it wasn't necessary.  So if $x=Real(3),
then "Let x = $x" would be "Let x = (3)".

I have changed the behavior of the string concatenation for Value
objects so that parentheses are only added in a few cases: for
Formulas, Complex numbers, and Unions.  This makes the other Value
objects work more like regular variables in strings, but might cause
some problems with strings that are used as formulas.  For example, if
$a = Real(-3), then "x + 2 $a" will become "x + 2 -3", or "x-1" rather
than the expected "x - 6".  (The old approach would have made it "x +
2 (-3)" which would have worked properly).  For the most part, it is
easier to use something like "x + 2*$a" or even "x" + 2*$a in this
case, so the extra trouble of having to avoid parentheses when you
really meant to substitute the value into a string didn't seem worth
it.

Revision 3676 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 1 00:59:06 2005 UTC (14 years, 4 months ago) by dpvc
File length: 2887 byte(s)
Diff to previous 3470
Correctly create Formula returning List when a list has formula
entries.

Revision 3470 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 11 14:25:53 2005 UTC (14 years, 6 months ago) by dpvc
File length: 2887 byte(s)
Diff to previous 3444
Changes needed for new Set object, and moving of string, TeX and perl
methods to Value.pm

Revision 3444 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 1 13:10:52 2005 UTC (14 years, 6 months ago) by dpvc
File length: 4509 byte(s)
Diff to previous 3261
Make List("1,2,3") work like List("1","2","3") rather than produce a
list with one element that is a list.

Revision 3261 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 4 13:50:41 2005 UTC (14 years, 8 months ago) by dpvc
File length: 4349 byte(s)
Diff to previous 3192
Avoid possible infinite loop with length and typeref calls.

Revision 3192 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 16 13:30:28 2005 UTC (14 years, 11 months ago) by dpvc
File length: 4394 byte(s)
Diff to previous 2800
Update the overloaded operators so that they can be overridden by
subclasses of the predefined object classes.  This involves calling
the objects method rather than using a hard reference to the routine
in the parent class.

Also, change the name of the string comparison routine to
compare_string to avoid conflicts with cmp that is used to produce the
answer checker for the class.

Finally, in Value.pm, promotePrecedence no longer has to do fancy
footwork to get "special" precedence to work (this was a hack to get
around the misfeature of the overloaded operators -- now that that is
being handled correctly, there is no need for it).

Revision 2800 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 19 14:27:39 2004 UTC (15 years, 5 months ago) by dpvc
File length: 4314 byte(s)
Diff to previous 2629
Added isZero and isOne checks for Parser::Value objects (i.e., for
constants within formulas).  These now correctly handle vector and
matrices, in particular.  The isOne and isZero checks are used in the
reduce() method to simplify formulas.

Revision 2629 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 17 02:01:27 2004 UTC (15 years, 6 months ago) by dpvc
File length: 4284 byte(s)
Diff to previous 2625
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 2625 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 16 18:35:12 2004 UTC (15 years, 6 months ago) by dpvc
File length: 4261 byte(s)
Diff to previous 2621
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 2621 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Aug 15 17:05:41 2004 UTC (15 years, 6 months ago) by dpvc
File length: 4258 byte(s)
Diff to previous 2612
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 2612 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Aug 14 19:29:42 2004 UTC (15 years, 6 months ago) by dpvc
File length: 4073 byte(s)
Diff to previous 2606
Fixed some bugs in the handle of the context in ->string and ->TeX
methods of Value objects.

Revision 2606 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Aug 14 11:25:47 2004 UTC (15 years, 6 months ago) by dpvc
File length: 4063 byte(s)
Diff to previous 2604
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 2604 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 13 23:49:16 2004 UTC (15 years, 6 months ago) by dpvc
File length: 3994 byte(s)
Diff to previous 2603
Fixed some output issues with intervals and unions.

Revision 2603 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 13 23:01:07 2004 UTC (15 years, 6 months ago) by dpvc
File length: 3993 byte(s)
Diff to previous 2599
Added an Infinite object class for the Value package.  Still need to
add it to the Parser package.

Revision 2599 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 13 14:19:23 2004 UTC (15 years, 6 months ago) by dpvc
File length: 4065 byte(s)
Diff to previous 2592
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 2592 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 12 16:40:47 2004 UTC (15 years, 6 months ago) by dpvc
File length: 3884 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 2579 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 9 21:38:01 2004 UTC (15 years, 6 months ago) by dpvc
File length: 3521 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 2558 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed Jul 28 20:32:33 2004 UTC (15 years, 6 months ago) by sh002i
File length: 3449 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.

  Diffs between and
  Type of Diff should be a

Sort log by:

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9