/[escript]/trunk/escript/test/python/test_shared.py
ViewVC logotype

Log of /trunk/escript/test/python/test_shared.py

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 4507)

Revision 2881 - (view) (annotate) - [select for diffs]
Modified Thu Jan 28 02:03:15 2010 UTC (9 years, 7 months ago) by jfenwick
File length: 2006 byte(s)
Diff to previous 2549
Don't panic.
Updating copyright stamps


Revision 2549 - (view) (annotate) - [select for diffs]
Modified Mon Jul 20 06:43:47 2009 UTC (10 years, 2 months ago) by jfenwick
File length: 2006 byte(s)
Diff to previous 2548
Remainder of copyright date fixes

Revision 2548 - (view) (annotate) - [select for diffs]
Modified Mon Jul 20 06:20:06 2009 UTC (10 years, 2 months ago) by jfenwick
File length: 2006 byte(s)
Diff to previous 2344
Updating copyright notices

Revision 2344 - (view) (annotate) - [select for diffs]
Modified Mon Mar 30 02:13:58 2009 UTC (10 years, 5 months ago) by jfenwick
File length: 2006 byte(s)
Diff to previous 2271
Change __url__ to launchpad site


Revision 2271 - (view) (annotate) - [select for diffs]
Modified Mon Feb 16 05:08:29 2009 UTC (10 years, 7 months ago) by jfenwick
File length: 2011 byte(s)
Copied from: branches/arrexp_2137_win_merge/escript/test/python/test_shared.py revision 2270
Diff to previous 2213
Merging version 2269 to trunk


Revision 2213 - (view) (annotate) - [select for diffs]
Modified Wed Jan 14 00:23:39 2009 UTC (10 years, 8 months ago) by jfenwick
Original Path: branches/arrexp_2137_win_merge/escript/test/python/test_shared.py
File length: 2011 byte(s)
Diff to previous 2212
In preparation for merging to trunk


Revision 2212 - (view) (annotate) - [select for diffs]
Added Wed Jan 14 00:15:00 2009 UTC (10 years, 8 months ago) by jfenwick
Original Path: branches/arrexp_2137_win/escript/test/python/test_shared.py
File length: 2011 byte(s)
Executive summary:

This commit adds copy on write checks to operations involving shared data. 

Changes:

new #defines:
~~~~~~~~~~~~~
Data.cpp has ASSIGNMENT_MEANS_DEEPCOPY (defaults to undefined).
Defining this will put the data = operator back to making deep copies instead
of sharing data (now the default.)

Data:
~~~~~
. Added exclusiveWrite method to copy the underlying data if it is shared.
. Some operators which took python objects now call the c++ versions intead of duplicating code.

DataAbstract and offspring:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
. Added method to determine whether the data is currently shared.
. Added getVectorRO to children of DataReady.
. Added getTagRO.

. Operations which modify values in place (or return modifiable pointers) now use
a macro to check for sharing. In the case where a modification attempt is detected, it throws an exception. In the future, I will enable this only for debugging.

. This shold not really have been required but the compiler was not choosing the use the const version as I would have liked. Besides, this makes things explict.

. Moved (and de-inlined) getVector in DataConstant (It was virtual in a parent class).

Unit tests:
~~~~~~~~~~~
Added both python and c++ unit tests to check known cases of sharing and "inplace"
modification operations.

General:
~~~~~~~~
Removed some commented out code.


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

  ViewVC Help
Powered by ViewVC 1.1.26