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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

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: 6837 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/DataConstant.h
File length: 6837 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/DataConstant.h
File length: 6933 byte(s)
Diff to previous 2133
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 2133 - (view) (annotate) - [select for diffs]
Modified Fri Dec 5 00:20:46 2008 UTC (10 years, 8 months ago) by jfenwick
Original Path: branches/arrexp_trunk2098/escript/src/DataConstant.h
File length: 6933 byte(s)
Diff to previous 2119
Branch commit.
More stuff.


Revision 2119 - (view) (annotate) - [select for diffs]
Modified Tue Dec 2 06:06:04 2008 UTC (10 years, 8 months ago) by jfenwick
Original Path: branches/arrexp_trunk2098/escript/src/DataConstant.h
File length: 7054 byte(s)
Diff to previous 2111
Branch commit.
Threading Wrapped Array through the code.

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/DataConstant.h
File length: 7333 byte(s)
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/DataConstant.h
File length: 7333 byte(s)
Diff to previous 1811
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 1811 - (view) (annotate) - [select for diffs]
Modified Thu Sep 25 23:11:13 2008 UTC (10 years, 10 months ago) by ksteube
Original Path: trunk/escript/src/DataConstant.h
File length: 7109 byte(s)
Diff to previous 1799
Copyright updated in all files


Revision 1799 - (view) (annotate) - [select for diffs]
Modified Wed Sep 17 06:33:18 2008 UTC (10 years, 11 months ago) by jfenwick
Original Path: trunk/escript/src/DataConstant.h
File length: 7144 byte(s)
Diff to previous 1796
Added Data::copySelf() [Note: this is exposed as copy() in python].
This method returns a pointer to a deep copy of the target.
There are c++ tests but no python tests for this yet.

All DataAbstracts now have a deepCopy() which simplifies the 
implementation of the compy methods.



Revision 1796 - (view) (annotate) - [select for diffs]
Modified Wed Sep 17 01:45:46 2008 UTC (10 years, 11 months ago) by jfenwick
Original Path: trunk/escript/src/DataConstant.h
File length: 7018 byte(s)
Diff to previous 1388
Merged noarrayview branch onto trunk.



Revision 1388 - (view) (annotate) - [select for diffs]
Modified Fri Jan 11 07:45:58 2008 UTC (11 years, 7 months ago) by trankine
Original Path: trunk/escript/src/DataConstant.h
File length: 7403 byte(s)
Diff to previous 1387
And get the *(&(*&(* name right

Revision 1387 - (view) (annotate) - [select for diffs]
Modified Fri Jan 11 07:45:26 2008 UTC (11 years, 7 months ago) by trankine
Original Path: temp/escript/src/DataConstant.h
File length: 7403 byte(s)
Diff to previous 1384
Restore the trunk that existed before the windows changes were committed to the (now moved to branches) old trunk.

Revision 1384 - (view) (annotate) - [select for diffs]
Modified Fri Jan 11 02:29:38 2008 UTC (11 years, 7 months ago) by phornby
Original Path: temp_trunk_copy/escript/src/DataConstant.h
File length: 7403 byte(s)
Diff to previous 1312
Make a temp copy of the trunk before checking in the windows changes



Revision 1312 - (view) (annotate) - [select for diffs]
Modified Mon Sep 24 06:18:44 2007 UTC (11 years, 10 months ago) by ksteube
Original Path: trunk/escript/src/DataConstant.h
File length: 7403 byte(s)
Diff to previous 1118
The MPI branch is hereby closed. All future work should be in trunk.

Previously in revision 1295 I merged the latest changes to trunk into trunk-mpi-branch.
In this revision I copied all files from trunk-mpi-branch over the corresponding
trunk files. I did not use 'svn merge', it was a copy.


Revision 1118 - (view) (annotate) - [select for diffs]
Modified Tue Apr 24 08:55:04 2007 UTC (12 years, 3 months ago) by gross
Original Path: trunk/escript/src/DataConstant.h
File length: 7536 byte(s)
Diff to previous 950
problem with reset of faulty PDE rhs fixed.

Revision 950 - (view) (annotate) - [select for diffs]
Modified Tue Feb 6 07:01:11 2007 UTC (12 years, 6 months ago) by gross
Original Path: trunk/escript/src/DataConstant.h
File length: 7436 byte(s)
Diff to previous 854
escript data objects can now be saved to netCDF files, see http://www.unidata.ucar.edu/software/netcdf/.
Currently only constant data are implemented with expanded and tagged data to follow.
There are two new functions to dump a data object

   s=Data(...)
   s.dump(<filename>)

and to recover it

   s=load(<filename>, domain)

Notice that the function space of s is recovered but domain is still need. 

dump and load will replace archive and extract.

The installation needs now the netCDF installed. 



Revision 854 - (view) (annotate) - [select for diffs]
Modified Thu Sep 21 05:29:42 2006 UTC (12 years, 11 months ago) by gross
Original Path: trunk/escript/src/DataConstant.h
File length: 7295 byte(s)
Diff to previous 804
Some modifications to the binary operations +,-,*/, pow. 
The code is a bit simpler now and more efficient has there is
no reseising required now. the resizing method has been removed as
it is very, very inefficient. Even serial code should be faster now.
It is now forbidden to do an inplace update of scalar data object with an object 
of rank >0 as this is very slow (and does not make much sense). 



Revision 804 - (view) (annotate) - [select for diffs]
Modified Thu Aug 10 01:12:16 2006 UTC (13 years ago) by gross
Original Path: trunk/escript/src/DataConstant.h
File length: 7556 byte(s)
Diff to previous 800
the new function swap_axes + tests added. (It replaces swap).



Revision 800 - (view) (annotate) - [select for diffs]
Modified Tue Aug 8 11:23:18 2006 UTC (13 years ago) by gross
Original Path: trunk/escript/src/DataConstant.h
File length: 7561 byte(s)
Diff to previous 775
new function _swap. Python wrapper + testing is still missing.



Revision 775 - (view) (annotate) - [select for diffs]
Modified Mon Jul 10 04:00:08 2006 UTC (13 years, 1 month ago) by ksteube
Original Path: trunk/escript/src/DataConstant.h
File length: 7295 byte(s)
Diff to previous 757
Modified the following python methods in escript/py_src/util.py to
call faster C++ methods:
	escript_trace
	escript_transpose
	escript_symmetric
	escript_nonsymmetric


Revision 757 - (view) (annotate) - [select for diffs]
Modified Mon Jun 26 13:12:56 2006 UTC (13 years, 1 month ago) by woo409
Original Path: trunk/escript/src/DataConstant.h
File length: 6586 byte(s)
Diff to previous 615
+ Merge of intelc_win32 branch (revision 741:755) with trunk. Tested on iVEC altix (run_tests and py_tests all pass)


Revision 615 - (view) (annotate) - [select for diffs]
Modified Wed Mar 22 02:12:00 2006 UTC (13 years, 5 months ago) by elspeth
Original Path: trunk/escript/src/DataConstant.h
File length: 6274 byte(s)
Diff to previous 580
More copyright information.


Revision 580 - (view) (annotate) - [select for diffs]
Modified Wed Mar 8 05:45:51 2006 UTC (13 years, 5 months ago) by gross
Original Path: trunk/escript/src/DataConstant.h
File length: 6596 byte(s)
Diff to previous 480
faster version of the local eigenvalue calculation

Revision 480 - (view) (annotate) - [select for diffs]
Modified Wed Feb 1 05:15:12 2006 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/escript/src/DataConstant.h
File length: 5817 byte(s)
Diff to previous 474
rationalise #includes and forward declarations


Revision 474 - (view) (annotate) - [select for diffs]
Modified Mon Jan 30 04:23:44 2006 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/escript/src/DataConstant.h
File length: 5915 byte(s)
Copied from: trunk/escript/src/Data/DataConstant.h revision 469
Diff to previous 155
restructure escript source tree
move src/Data/* -> src
remove inc
modify #includes and cpppath settings accordingly


Revision 155 - (view) (annotate) - [select for diffs]
Modified Wed Nov 9 02:02:19 2005 UTC (13 years, 9 months ago) by jgs
Original Path: trunk/escript/src/Data/DataConstant.h
File length: 5954 byte(s)
Diff to previous 123
move all directories from trunk/esys2 into trunk and remove esys2


Revision 123 - (view) (annotate) - [select for diffs]
Modified Fri Jul 8 04:08:13 2005 UTC (14 years, 1 month ago) by jgs
Original Path: trunk/esys2/escript/src/Data/DataConstant.h
File length: 5954 byte(s)
Diff to previous 119
Merge of development branch back to main trunk on 2005-07-08


Revision 119 - (view) (annotate) - [select for diffs]
Modified Tue Apr 12 04:45:05 2005 UTC (14 years, 4 months ago) by jgs
Original Path: trunk/esys2/escript/src/Data/DataConstant.h
File length: 5250 byte(s)
Diff to previous 117
*** empty log message ***


Revision 117 - (view) (annotate) - [select for diffs]
Modified Fri Apr 1 05:48:57 2005 UTC (14 years, 4 months ago) by jgs
Original Path: trunk/esys2/escript/src/Data/DataConstant.h
File length: 4755 byte(s)
Diff to previous 102
*** empty log message ***


Revision 102 - (view) (annotate) - [select for diffs]
Modified Wed Dec 15 07:08:39 2004 UTC (14 years, 8 months ago) by jgs
Original Path: trunk/esys2/escript/src/Data/DataConstant.h
File length: 4740 byte(s)
Diff to previous 100
*** empty log message ***


Revision 100 - (view) (annotate) - [select for diffs]
Modified Wed Dec 15 03:48:48 2004 UTC (14 years, 8 months ago) by jgs
Original Path: trunk/esys2/escript/src/Data/DataConstant.h
File length: 4600 byte(s)
Diff to previous 97
*** empty log message ***


Revision 97 - (view) (annotate) - [select for diffs]
Modified Tue Dec 14 05:39:33 2004 UTC (14 years, 8 months ago) by jgs
Original Path: trunk/esys2/escript/src/Data/DataConstant.h
File length: 4740 byte(s)
Diff to previous 82
*** empty log message ***


Revision 82 - (view) (annotate) - [select for diffs]
Added Tue Oct 26 06:53:54 2004 UTC (14 years, 9 months ago) by jgs
Original Path: trunk/esys2/escript/src/Data/DataConstant.h
File length: 4600 byte(s)
Initial revision


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