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 2344 - (view) (annotate) - [select for diffs]
Modified Mon Mar 30 02:13:58 2009 UTC (11 years, 9 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 (11 years, 11 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 (12 years 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 (12 years 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. 


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.)

. 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.

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