/[escript]/branches/arrexp_2137_win_merge/escript/src/DataReady.h
ViewVC logotype

Log of /branches/arrexp_2137_win_merge/escript/src/DataReady.h

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Revision:

Revision 2220 - (view) (annotate) - [select for diffs]
Modified Wed Jan 14 05:59:25 2009 UTC (10 years, 7 months ago) by jfenwick
File length: 2962 byte(s)
Diff to previous 2213
Added getVectorRO to DataReady to deal with some shared data execeptions exposed when using AUTOLAZY.

This version appears to pass most unit tests under AUTOLAZY but build/posix/finley/test/python/run_models.passed  seems very slow.

Revision 2213 - (view) (annotate) - [select for diffs]
Modified Wed Jan 14 00:23:39 2009 UTC (10 years, 7 months ago) by jfenwick
File length: 2722 byte(s)
Diff to previous 2212
In preparation for merging to trunk


Revision 2212 - (view) (annotate) - [select for diffs]
Modified Wed Jan 14 00:15:00 2009 UTC (10 years, 7 months ago) by jfenwick
Original Path: branches/arrexp_2137_win/escript/src/DataReady.h
File length: 2722 byte(s)
Diff to previous 2202
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.


Revision 2202 - (view) (annotate) - [select for diffs]
Modified Fri Jan 9 01:28:32 2009 UTC (10 years, 7 months ago) by jfenwick
Original Path: branches/arrexp_2137_win/escript/src/DataReady.h
File length: 2599 byte(s)
Diff to previous 2136
Branching the array experiments from version 2137.
The idea is to make the changes required for the c++ changes to compile 
on windows without bringing in the later python changes.



Revision 2136 - (view) (annotate) - [select for diffs]
Modified Fri Dec 5 04:36:13 2008 UTC (10 years, 8 months ago) by jfenwick
Original Path: branches/arrexp_trunk2098/escript/src/DataReady.h
File length: 2599 byte(s)
Diff to previous 2111
Branch commit
Merged changes from DataC branch (current head is 2135).
This includes the actsExpanded function as well as getSampleDataRW and getSampleDataRO.



Revision 2111 - (view) (annotate) - [select for diffs]
Modified Mon Dec 1 01:16:18 2008 UTC (10 years, 8 months ago) by jfenwick
Original Path: branches/arrexp_trunk2098/escript/src/DataReady.h
File length: 2398 byte(s)
Copied from: branches/schroedinger_upto2002/escript/src/DataReady.h revision 2004
Diff to previous 2005
Doin' some experiments


Revision 2005 - (view) (annotate) - [select for diffs]
Modified Mon Nov 10 01:21:39 2008 UTC (10 years, 9 months ago) by jfenwick
Original Path: trunk/escript/src/DataReady.h
File length: 2398 byte(s)
Copied from: branches/schroedinger_upto2002/escript/src/DataReady.h revision 2004
Diff to previous 2003
Bringing all changes across from schroedinger.
(Note this does not mean development is done, just that it will happen
on the trunk for now).
If anyone notices any problems please contact me.



Revision 2003 - (view) (annotate) - [select for diffs]
Modified Sun Nov 9 23:57:05 2008 UTC (10 years, 9 months ago) by jfenwick
Original Path: branches/schroedinger_upto2002/escript/src/DataReady.h
File length: 2398 byte(s)
Diff to previous 1947
Merging from trunk again


Revision 1947 - (view) (annotate) - [select for diffs]
Modified Wed Oct 29 23:19:45 2008 UTC (10 years, 9 months ago) by jfenwick
Original Path: branches/schroedinger_upto1946/escript/src/DataReady.h
File length: 2398 byte(s)
Diff to previous 1865
This does not actually have the changes in it yet.


Revision 1865 - (view) (annotate) - [select for diffs]
Added Thu Oct 9 03:53:57 2008 UTC (10 years, 10 months ago) by jfenwick
Original Path: branches/schroedinger/escript/src/DataReady.h
File length: 2398 byte(s)
Branch commit
Added some missing files.

In python can ask a data object if it-  isReady(), isConstant(), 
isLazy().




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