/[escript]/branches
ViewVC logotype

Log of /branches

View Directory Listing Directory Listing


Sticky Revision:

Revision 2233 - Directory Listing
Modified Fri Jan 30 05:27:19 2009 UTC (14 years, 1 month ago) by jfenwick
Changes from trunk to fix unit test builds.

Revision 2230 - Directory Listing
Modified Thu Jan 29 00:07:19 2009 UTC (14 years, 1 month ago) by jfenwick
Added requireWrite calls to TransportProblemAdapter.
(problem was not picked up by unit tests).

Revision 2229 - Directory Listing
Modified Wed Jan 28 05:47:23 2009 UTC (14 years, 1 month ago) by jfenwick
Fixed deallocation bug.
This version passes unit tests for OMP_NUM_THREADS=8 with auto lazy on or off.
Haven't tested MPI yet.


Revision 2228 - Directory Listing
Modified Wed Jan 28 04:27:04 2009 UTC (14 years, 2 months ago) by jfenwick
Fixed a nested parallel section. (My fault).


Revision 2227 - Directory Listing
Modified Tue Jan 27 04:11:38 2009 UTC (14 years, 2 months ago) by jfenwick
Added BufferGroup, moved alloc/dealloc out of parallel sections.

Revision 2226 - Directory Listing
Modified Thu Jan 22 05:11:02 2009 UTC (14 years, 2 months ago) by jfenwick
It continues

Revision 2225 - Directory Listing
Modified Wed Jan 21 05:30:12 2009 UTC (14 years, 2 months ago) by jfenwick
And again.


Revision 2224 - Directory Listing
Modified Wed Jan 21 03:39:43 2009 UTC (14 years, 2 months ago) by jfenwick
Removed some old comments.
Renaming to RW/RO versions of methods continues.

Revision 2223 - Directory Listing
Modified Wed Jan 21 01:25:01 2009 UTC (14 years, 2 months ago) by jfenwick
Added getVectorRW() and removed all getVector() calls.


Revision 2222 - Directory Listing
Modified Tue Jan 20 04:52:39 2009 UTC (14 years, 2 months ago) by jfenwick
Saving work

Revision 2221 - Directory Listing
Modified Mon Jan 19 06:11:25 2009 UTC (14 years, 2 months ago) by jfenwick
A second attempt at a thread-safe COW


Revision 2220 - Directory Listing
Modified Wed Jan 14 05:59:25 2009 UTC (14 years, 2 months ago) by jfenwick
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 2219 - Directory Listing
Modified Wed Jan 14 04:31:34 2009 UTC (14 years, 2 months ago) by jfenwick
Merging changes from trunk 2098:2218

Revision 2218 - Directory Listing
Modified Wed Jan 14 03:42:44 2009 UTC (14 years, 2 months ago) by jfenwick


Revision 2217 - Directory Listing
Modified Wed Jan 14 03:41:53 2009 UTC (14 years, 2 months ago) by jfenwick


Revision 2216 - Directory Listing
Modified Wed Jan 14 03:40:38 2009 UTC (14 years, 2 months ago) by jfenwick


Revision 2215 - Directory Listing
Modified Wed Jan 14 03:40:20 2009 UTC (14 years, 2 months ago) by jfenwick


Revision 2214 - Directory Listing
Modified Wed Jan 14 03:39:41 2009 UTC (14 years, 2 months ago) by jfenwick
Accepting some changes which should be ok.


Revision 2213 - Directory Listing
Modified Wed Jan 14 00:23:39 2009 UTC (14 years, 2 months ago) by jfenwick
In preparation for merging to trunk


Revision 2212 - Directory Listing
Modified Wed Jan 14 00:15:00 2009 UTC (14 years, 2 months ago) by jfenwick
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 2209 - Directory Listing
Modified Tue Jan 13 00:32:56 2009 UTC (14 years, 2 months ago) by jfenwick
Removing debug jtest function.


Revision 2207 - Directory Listing
Modified Fri Jan 9 06:21:55 2009 UTC (14 years, 2 months ago) by jfenwick
Use C comment


Revision 2205 - Directory Listing
Modified Fri Jan 9 01:49:36 2009 UTC (14 years, 2 months ago) by jfenwick
Now compiles.


Revision 2203 - Directory Listing
Modified Fri Jan 9 01:33:34 2009 UTC (14 years, 2 months ago) by jfenwick
Make sure __const is in system_dep for escript.


Revision 2202 - Directory Listing
Modified Fri Jan 9 01:28:32 2009 UTC (14 years, 2 months ago) by jfenwick
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 2145 - Directory Listing
Modified Wed Dec 10 00:48:53 2008 UTC (14 years, 3 months ago) by jfenwick
Branch commit.
This version of the python files passes unit tests compiled with 
usenumarray=no and usenumarray=yes
That is, it does not use any functions returning 
boost::python::numeric::array



Revision 2143 - Directory Listing
Modified Tue Dec 9 06:28:10 2008 UTC (14 years, 3 months ago) by jfenwick
Branch commit.
Added scons option usenumarray (defaults to yes).
This controls the NONUMARRAY define which switches off all explicit 
references to boost::python::numeric::array


Revision 2140 - Directory Listing
Modified Tue Dec 9 01:21:49 2008 UTC (14 years, 3 months ago) by jfenwick
Branch commit.
Passes all* unit tests on badger.
Note I have only changed those parts of the system necessary to get the 
unit tests to pass. There are still references to numarray in some 
files.

* I have disabled the testBoolLists test in run_xml.py.
The issue there is that numarray converts a list of bools into ints.
The test tries to convert items into floats.
numpy leaves a list of bools as bools (which float()) doesn't like.

Somebody needs to decide what the correct behviour is so the code can
be corrected.



Revision 2139 - Directory Listing
Modified Mon Dec 8 06:01:56 2008 UTC (14 years, 3 months ago) by jfenwick
Branch commit.
Passes some but not all unit tests.


Revision 2137 - Directory Listing
Modified Mon Dec 8 00:26:34 2008 UTC (14 years, 3 months ago) by jfenwick
Added integrate to tuple.


Revision 2136 - Directory Listing
Modified Fri Dec 5 04:36:13 2008 UTC (14 years, 3 months ago) by jfenwick
Branch commit
Merged changes from DataC branch (current head is 2135).
This includes the actsExpanded function as well as getSampleDataRW and getSampleDataRO.



Revision 2135 - Directory Listing
Modified Fri Dec 5 03:32:21 2008 UTC (14 years, 3 months ago) by jfenwick
Branch commit.
This version passes unit tests.
But integrate still returns a numarray.


Revision 2134 - Directory Listing
Modified Fri Dec 5 03:02:32 2008 UTC (14 years, 3 months ago) by jfenwick


Revision 2133 - Directory Listing
Modified Fri Dec 5 00:20:46 2008 UTC (14 years, 3 months ago) by jfenwick
Branch commit.
More stuff.


Revision 2124 - Directory Listing
Modified Wed Dec 3 03:33:34 2008 UTC (14 years, 3 months ago) by jfenwick
Branch commit.
Bypass surgery continues.


Revision 2119 - Directory Listing
Modified Tue Dec 2 06:06:04 2008 UTC (14 years, 3 months ago) by jfenwick
Branch commit.
Threading Wrapped Array through the code.

Revision 2116 - Directory Listing
Modified Tue Dec 2 01:58:34 2008 UTC (14 years, 3 months ago) by jfenwick
Initial experiments are successful.

Revision 2111 - Directory Listing
Modified Mon Dec 1 01:16:18 2008 UTC (14 years, 3 months ago) by jfenwick
Doin' some experiments


Revision 2103 - Directory Listing
Modified Thu Nov 27 01:00:34 2008 UTC (14 years, 4 months ago) by jfenwick
Branch commit.
Added a note about mismatched allocs and decallocs.
Added Data::actsExpanded and friends.
Modified DataC::isExpanded to call it instead of Data::isExpanded.

Revision 2099 - Directory Listing
Modified Wed Nov 26 05:46:01 2008 UTC (14 years, 4 months ago) by jfenwick
Branch commit.
Modifed getSampleData to take a buffer.
Added calls to allocate and free buffers.
Passes unit tests on badger but have not tried on savanna yet.


Revision 2095 - Directory Listing
Modified Tue Nov 25 05:55:00 2008 UTC (14 years, 4 months ago) by jfenwick
Branch commit.
Replace getSampleData with getSampleDataRW and getSampleDataRO



Revision 2093 - Directory Listing
Modified Tue Nov 25 04:20:56 2008 UTC (14 years, 4 months ago) by jfenwick
Branching to experiment with changes to the DataC interface.
The goal is to separate read and write access to pointers.


Revision 2004 - Directory Listing
Modified Mon Nov 10 00:38:46 2008 UTC (14 years, 4 months ago) by jfenwick
Merging changes upto 2002 onto branch


Revision 2003 - Directory Listing
Modified Sun Nov 9 23:57:05 2008 UTC (14 years, 4 months ago) by jfenwick
Merging from trunk again


Revision 2002 - Directory Listing
Modified Sat Nov 8 11:37:25 2008 UTC (14 years, 4 months ago) by phornby
One step closer to getting openmp going on windows.
All compiles & links, and the run_tests starts OK.

However, it stops after the first set of tests, and complains that libguide.lib is being initialised
when it is already initialised, and this will cause performance degradation.

It says I can set an environment variable to override the error generation, but advises the correct action
is to manage libguide correctly. This may be relevant to the altix?

Revision 2001 - Directory Listing
Modified Sat Nov 8 10:38:49 2008 UTC (14 years, 4 months ago) by phornby
reorder includes so that the intel compiler math include comes in first.

Revision 2000 - Directory Listing
Modified Sat Nov 8 09:06:30 2008 UTC (14 years, 4 months ago) by phornby
I know this is a no-no, but I'm tired of this signed/unsigned warning making my head flick around.

Revision 1999 - Directory Listing
Modified Sat Nov 8 08:53:11 2008 UTC (14 years, 4 months ago) by phornby
Somehow, these changes (getLazy -> getLazyU/B) got lost in the revert.



Revision 1998 - Directory Listing
Modified Sat Nov 8 08:47:54 2008 UTC (14 years, 4 months ago) by phornby
Please ignore the last checkin. A trick I used in
LazyData (which worked) when applied to THROW() failed horribly.
Why it should work in one case and not the other....... who knows?

I have reverted to the THROW_ANY macro for throw().



Revision 1997 - Directory Listing
Modified Sat Nov 8 08:14:12 2008 UTC (14 years, 4 months ago) by phornby
Eliminated THROW_ANY macro, and replaced it with the usaage
THROW(/**/).

The issue: Windows preprocessor does not like THROW(). If the macro
is defined to have one argument, then windows expects one argument.

Please read the comments in esysUtils/src/system_dep.h,
They are important, as regards the intel compiler and math.h.



Revision 1996 - Directory Listing
Modified Sat Nov 8 08:09:53 2008 UTC (14 years, 4 months ago) by phornby
Modified strs[] to be an array of const char *'s rather than char *'s.
It was being initialised by an array of const char *'s which made the gcc compiler
uncomfortable.



Revision 1995 - Directory Listing
Modified Fri Nov 7 06:02:06 2008 UTC (14 years, 4 months ago) by phornby
replaced a few getLazy calls with getLazyU and getLazyB. It looked like the right thing to do given the arguments.

Revision 1994 - Directory Listing
Modified Fri Nov 7 05:18:17 2008 UTC (14 years, 4 months ago) by phornby
Revert to assuming template_function<>(arg,....) is allowed calling
syntax when the template arg type is well defined.



Revision 1993 - Directory Listing
Modified Fri Nov 7 04:52:15 2008 UTC (14 years, 4 months ago) by phornby
Remove duplicate declaration of opToString.

Revision 1992 - Directory Listing
Modified Fri Nov 7 04:51:04 2008 UTC (14 years, 4 months ago) by phornby
Give opToString global linkage scope, as it is called by tests outside the dll

Revision 1988 - Directory Listing
Modified Fri Nov 7 03:28:58 2008 UTC (14 years, 4 months ago) by phornby
isLazy symbol needed global scope as it is called from outside the dll

Revision 1987 - Directory Listing
Modified Fri Nov 7 02:59:02 2008 UTC (14 years, 4 months ago) by phornby
Test checkin to see if other compilers' macro preprocessors can sustain this abuse.

Added a TYPE argument to PROC_OP so that the user can optionally disambiguate the
type of the second argument. Needed for ::pow on windows.

Revision 1972 - Directory Listing
Modified Thu Nov 6 01:49:39 2008 UTC (14 years, 4 months ago) by jfenwick
Branch commit.
Fixed to help windows determine template params.


Revision 1951 - Directory Listing
Modified Thu Oct 30 02:42:31 2008 UTC (14 years, 4 months ago) by jfenwick
Branch commit.
My fault.


Revision 1950 - Directory Listing
Modified Thu Oct 30 00:59:34 2008 UTC (14 years, 4 months ago) by jfenwick
Branch commit
Brought schroedinger merge upto trunk@1946.


Revision 1949 - Directory Listing
Modified Thu Oct 30 00:10:35 2008 UTC (14 years, 4 months ago) by jfenwick
Branch commit.
Fixed some compile errors.


Revision 1948 - Directory Listing
Modified Wed Oct 29 23:44:45 2008 UTC (14 years, 4 months ago) by jfenwick
Branch commit.
Merge trunk changes upto 1870 (using the moreshared branchs record) to 
schroedinger.



Revision 1947 - Directory Listing
Modified Wed Oct 29 23:19:45 2008 UTC (14 years, 4 months ago) by jfenwick
This does not actually have the changes in it yet.


Revision 1943 - Directory Listing
Modified Wed Oct 29 04:05:14 2008 UTC (14 years, 4 months ago) by jfenwick
Branch commit
Added interpolation.


Revision 1938 - Directory Listing
Modified Tue Oct 28 01:51:08 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Cleaned up DataTestCase and added tests for LazyData.


Revision 1935 - Directory Listing
Modified Mon Oct 27 06:06:39 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
More cleanup of DataTestCase - still don't have all the LazyTests in 
there yet.
Added tests to make sure the resolve() operation does what it is 
supposed to.
Added non-constant versions of getPointOffset to DataAbstract 
classes.
Fixed a bug in deepCopy on DataLazy.
Changed setToZero to not check the type of the data.


Revision 1926 - Directory Listing
Modified Fri Oct 24 05:54:08 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Changed some text so it doesn't mention DataArrayView.
Added some tests for DataLazy.
Factored common code in the Data tests (will add tests against lazy 
later).



Revision 1911 - Directory Listing
Modified Thu Oct 23 04:50:35 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Added forceresolve to operations like symmetric and eigenvalues (will go 
back and implement them in Lazy later).



Revision 1910 - Directory Listing
Modified Thu Oct 23 03:05:28 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Support for ** added.


Revision 1908 - Directory Listing
Modified Thu Oct 23 01:35:31 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Fixed to support scalar op non-scalar operations.


Revision 1903 - Directory Listing
Modified Wed Oct 22 06:11:01 2008 UTC (14 years, 5 months ago) by jfenwick
More fixes to doxygen for scons.
Added += and other forms of +


Revision 1901 - Directory Listing
Modified Wed Oct 22 02:44:34 2008 UTC (14 years, 5 months ago) by jfenwick
Improved the api_doxygen target a bit.
Added some documentation.
Added FORCERESOLVE macro to a number of operations.


Revision 1899 - Directory Listing
Modified Mon Oct 20 05:13:24 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Added some doco to DataLazy.
Made Data::integrate aware of DataLazy.



Revision 1898 - Directory Listing
Modified Mon Oct 20 01:20:18 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Now can add Tagged and Constant as well as Expanded.
Other operations to follow.



Revision 1889 - Directory Listing
Modified Thu Oct 16 05:57:09 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
Rewrote resolve to take into account Tagged and Constant Data.
Mixing expanded and Tagged does not work yet.


Revision 1888 - Directory Listing
Modified Wed Oct 15 04:00:21 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Added more binary ops.


Revision 1886 - Directory Listing
Modified Wed Oct 15 01:34:18 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Added unary ops up to pos.
toString now prints expression.
Added inlines to UnaryFuncs.h.

Still only supporting DataExpanded.


Revision 1885 - Directory Listing
Modified Tue Oct 14 05:51:59 2008 UTC (14 years, 5 months ago) by jfenwick
memory management for basic ops done.


Revision 1884 - Directory Listing
Modified Tue Oct 14 04:54:59 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
Not crashing.


Revision 1879 - Directory Listing
Modified Tue Oct 14 03:54:42 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
About to make some changes.


Revision 1871 - Directory Listing
Modified Sun Oct 12 23:50:38 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
merge changes up to revision 1870.


Revision 1868 - Directory Listing
Modified Thu Oct 9 06:30:49 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Bulk resolve for + - * /


Revision 1865 - Directory Listing
Modified Thu Oct 9 03:53:57 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
Added some missing files.

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




Revision 1864 - Directory Listing
Modified Thu Oct 9 03:09:30 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
It compiles but doesn't do much.



Revision 1858 - Directory Listing
Modified Wed Oct 8 00:28:28 2008 UTC (14 years, 5 months ago) by jfenwick
Branch of branch moreshared_from_1812 at revision 1857.


Revision 1853 - Directory Listing
Modified Tue Oct 7 00:41:51 2008 UTC (14 years, 5 months ago) by jfenwick
Fixed compile error related to the pointer changes.


Revision 1852 - Directory Listing
Modified Mon Oct 6 03:29:10 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
Added ESCRIPT_DLL_API to some functions to get a compile on windows.


Revision 1851 - Directory Listing
Modified Mon Oct 6 03:16:43 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Added files while the merge op did not add.
Modified shake59 config for non-ken users.


Revision 1850 - Directory Listing
Modified Mon Oct 6 03:07:02 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
Merging trunk changes upto and including 1849.


Revision 1849 - Directory Listing
Modified Mon Oct 6 01:52:06 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
Removing test files from branch.


Revision 1828 - Directory Listing
Modified Thu Oct 2 04:52:11 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Added getPtr to DataAbstract.
Passes all unit tests.



Revision 1825 - Directory Listing
Modified Thu Oct 2 02:54:56 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
Modifed FunctionSpace to disable the assignment operator and remove 
friend declarations.



Revision 1822 - Directory Listing
Modified Wed Oct 1 05:42:31 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit
Passes all unit tests.
Still resorting to special python versions of getDomain to get around type conversion.



Revision 1821 - Directory Listing
Modified Wed Oct 1 04:46:59 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.
Fixed some issues.
runs c++ unit tests and run_simplesolve successfully.



Revision 1820 - Directory Listing
Modified Wed Oct 1 03:48:18 2008 UTC (14 years, 5 months ago) by jfenwick
Branch commit.

First experiments with shared_ptr.
There is a crash on exit due to deallocating the NullDomain object twice.
(One from shared_ptr and once in global destructors)



Revision 1813 - Directory Listing
Modified Fri Sep 26 00:58:05 2008 UTC (14 years, 6 months ago) by jfenwick
Branching to experiment with proxies and shared pointers.


Revision 1795 - Directory Listing
Modified Wed Sep 17 00:59:02 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit.

Pulling across changes for trunk revisions 1780:1794.




Revision 1794 - Directory Listing
Modified Wed Sep 17 00:40:31 2008 UTC (14 years, 6 months ago) by jfenwick
Fixed a compiler warning and removed some debug output.


Revision 1793 - Directory Listing
Modified Wed Sep 17 00:19:37 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit.

Removed extractData and archiveData members from DataAbstract and co.
They were removed from Data earlier.

Modified the Data interpolating constructor: Data(Data,FunctionSpace).
If the Data parameter is backed by a DataConstant, the new Data will 
also be constant.
Previously the new Data would have always been expanded.

Note that if the new FunctionSpace would not allow interpolation a 
FunctionSpaceException is thrown (for constant Data) or a 
FinleyAdapterException (for expanded data).



Revision 1786 - Directory Listing
Modified Fri Sep 12 03:16:28 2008 UTC (14 years, 6 months ago) by jfenwick
Fixed some memory leaks in unit_tests.
Fixed an empty array which was giving iso-c++ errors.
Fixed typo which meant scons build_tests didn't build unit tests.



Revision 1784 - Directory Listing
Modified Thu Sep 11 06:26:48 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit

Removed deprecated methods Data::archiveData and Data::extractData as 
per mantis issue#198



Revision 1783 - Directory Listing
Modified Thu Sep 11 06:07:40 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit

Bringing version 1780 changes to branch.



Revision 1782 - Directory Listing
Modified Thu Sep 11 05:35:01 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit

Re-enabled DOASSERT in debug builds.
Modified SConscript so that escript_examples.tar.gz is gzipped.



Revision 1781 - Directory Listing
Modified Thu Sep 11 05:03:14 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit

Merged changes from trunk version 1695 up to and including version 1779.



Revision 1779 - Directory Listing
Modified Thu Sep 11 01:06:15 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit:

Updated the doxyfile for deprecated/modified options (eg encoding is set 
to UTF-8).
Also set it not to scan directories called .svn or deprecated.

Removed #includes of DataArrayView.h
Moved DataArrayView into a new deprecated directory

Commented out setTaggedValue in DataExpanded which still referred to 
DataArrayView

Fixed some of the doxygen comments in DataMaths.h, DataTypes.h, 
DataTagged.h

Removed the empty JoelMods.cpp_

Unit tests appear to indicate that this branch is now "no more broken" 
than the version I branched from.




Revision 1775 - Directory Listing
Modified Tue Sep 9 04:58:09 2008 UTC (14 years, 6 months ago) by jfenwick
Fixed so compiles for parallel


Revision 1773 - Directory Listing
Modified Tue Sep 9 02:52:26 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit

Fixed some bugs.
Code now passes all_tests.
Next step is to test under OMP and MPI



Revision 1752 - Directory Listing
Modified Fri Sep 5 06:26:29 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit

Now passes all c++ unit tests but fails some python ones.



Revision 1751 - Directory Listing
Modified Fri Sep 5 06:16:34 2008 UTC (14 years, 6 months ago) by jfenwick
test

Revision 1747 - Directory Listing
Modified Wed Sep 3 04:56:50 2008 UTC (14 years, 6 months ago) by jfenwick
Branch commit.

Current status, this version compiles as passes run_tests (haven't tried 
all_tests), provided that the following files are moved out of the way:

DataAlgorithmAdapterTestCase.h 
DataTaggedTestCase.cpp 
DataTestCase.cpp 
DataTaggedTestCase.h

(They are not run by the unit tests at the moment).

I will fix those next.




Revision 1734 - Directory Listing
Modified Thu Aug 28 06:11:56 2008 UTC (14 years, 7 months ago) by jfenwick
Added operations to Datatypes:
checkOffset
copySlice
copySliceFrom

Fixed some error reporting using EsysAssert.

Added two new c++ test suites:
DataTypesTest
DataMathsTest

Note that the test suite does not compile with dodebug=yes. There is an issue with linking one of the exception functions. I'm going to leave this 
until I have finished the rest of the work, perhaps Ken's scons changes will fix it.



Revision 1730 - Directory Listing
Modified Wed Aug 27 02:44:06 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit.

Modified DataFactory to create DataTagged objects without using.
Problems in DataTagged resulted from copying code from a method marked 
"No unit testing".



Revision 1726 - Directory Listing
Modified Tue Aug 26 03:33:34 2008 UTC (14 years, 7 months ago) by jfenwick
BinaryOp and UnaryOp - modified to accept the extra parameters required 
to operate without DataArrayView.  There are still a few parallel 
methods which accept them as params.

Added getVector() members to DataAbstract - these versions will throw.
DataC.cpp - uses new method to get the shape.
Added constant form of getVector() to DataConstant
Fixed the #include protection on DataMaths.h



Revision 1724 - Directory Listing
Modified Mon Aug 25 05:38:57 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit

Moved createShapeErrorMessage() into DataTypes.h
Modified functions in DataAlgorithm.h to use non-DataArrayView accesses.

Added getVector() to each of DataTagged, DataConstant, DataExpanded - This method returns 
the underlying DataVector by reference/constant reference. Note that this method does not 
exist in DataAbstract so (at the momement) in order to pull the data from something you 
need to know what you are looking at. (Lower level access is still possible via double* 
though).

DataTagged now has a getOffsetForTag method and a getDefaultOffset method.

DataMaths.h - A new file containing the reductionOps etc from DataArrayView (but without 
requiring DAV).
This file requires significant commenting improvements.



Revision 1721 - Directory Listing
Modified Fri Aug 22 00:39:32 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit.

Fixed problems with copyFromNumArray
Removed version of setTaggedValueFromCPP() which required DataArrayView.
Updated tests.



Revision 1715 - Directory Listing
Modified Thu Aug 21 04:52:14 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit.

Moved getSliceRegionLoopRange and checkShape into DataTypes.h
Some work on methods to set/addTaggedValues without using DataArrayView.
To do this I added copyFromNumArray() on DataVector (It buggy at the 
moment).

This build passes the tests but only because copyFromNumArray is not 
used.



Revision 1714 - Directory Listing
Modified Thu Aug 21 00:01:55 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit

Moved getSliceRegion() and getSliceRange() into DataTypes
Data.cpp - modified not to rely on operator() from DataArrayView
         - Used more const& to avoid copies



Revision 1712 - Directory Listing
Modified Wed Aug 20 05:04:28 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit.

Finished first pass of Data.h - There is still a constructor which takes 
a DataArrayView as a parameter. Apart from that, there are no direct 
references to DataArrayView.

DataTagged has a new constructor for copying just the tags from an 
existing object.
DataTypes:: now has a scalarShape constant (to avoid creating one 
everytime you create a scalar).




Revision 1710 - Directory Listing
Modified Fri Aug 15 06:24:20 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit.

Bug fix



Revision 1704 - Directory Listing
Modified Thu Aug 14 05:35:32 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit:

DataTagged::addTag() = Add a tag with default value. (All uses that I can find 
apart from test code only require this anyway).

DataAbstract now knows its own shape, rank and number of values and have accessors 
for them.
Data Objects also have acessors for these but query their DataAbstracts for the 
answers.

Data::getDataAtOffset() = access to a particular point in the underlying array. (At 
the moment this call references the DataArrayView, but that will change when I have 
everything else working).

DataTagged::getDataByTag() = same but search by tag.
DataTagged::getDefaultValue() = returns default value without obvious reference to 
DataArrayView


C_GeneralTensorProduct_J  is my temporary copy of C_GeneralTensorProduct for 
experimentation.
It and a number of other temporary functions live in JoelMods.cpp_ for now.



Revision 1699 - Directory Listing
Modified Thu Aug 14 02:38:23 2008 UTC (14 years, 7 months ago) by ksteube
Fixed InstallAs target for Windows (removed escriptcpp.pyd since this
file is not created).
Added new config variable cc_extra to add some C/C++ options without
having to change everything.


Revision 1698 - Directory Listing
Modified Tue Aug 12 01:13:16 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit DO NOT PANIC.

Moved shapeToString and noValues from DataArrayView to 
DataTypes{.h,.cpp}



Revision 1697 - Directory Listing
Modified Mon Aug 11 06:29:54 2008 UTC (14 years, 7 months ago) by jfenwick
Moved ValueType, ShapeType, RegionType, RegionLoopRangeType and maxRank
From DataArrayView.h to DataTypes.h

This is a simple rename but did require modifying a lot of files.



Revision 1696 - Directory Listing
Modified Mon Aug 11 03:33:40 2008 UTC (14 years, 7 months ago) by jfenwick
Branching to perform experiments on removing DataArrayView


Revision 1691 - Directory Listing
Modified Thu Aug 7 22:08:16 2008 UTC (14 years, 7 months ago) by ksteube
Added config for shake63 and adjusted a few others


Revision 1689 - Directory Listing
Modified Tue Aug 5 03:54:26 2008 UTC (14 years, 7 months ago) by ksteube
Updated scons file for cognac


Revision 1688 - Directory Listing
Modified Tue Aug 5 01:57:39 2008 UTC (14 years, 7 months ago) by ksteube
Copied configuration for shake73 and cognac


Revision 1687 - Directory Listing
Modified Mon Aug 4 04:54:47 2008 UTC (14 years, 7 months ago) by ksteube
scons-dev branch now works under MacOS using Artak's latest environment.
Use of -pedantic-errors can be turned off (for MacOS) with scons usepedantic=no.


Revision 1686 - Directory Listing
Modified Sun Aug 3 02:09:22 2008 UTC (14 years, 7 months ago) by ksteube
Add config file for windows system shake59


Revision 1685 - Directory Listing
Modified Sun Aug 3 01:56:22 2008 UTC (14 years, 7 months ago) by ksteube
Mods for Windows.
Cleanup.


Revision 1684 - Directory Listing
Modified Sat Aug 2 05:42:36 2008 UTC (14 years, 7 months ago) by ksteube
Cleaned up test suite


Revision 1683 - Directory Listing
Modified Sat Aug 2 05:10:02 2008 UTC (14 years, 7 months ago) by ksteube
Fixed a bug in the MPI build environment.
UMFPACK works on savanna but MKL does not (because pardiso_() is available
in the static library but not the shared library).


Revision 1682 - Directory Listing
Modified Fri Aug 1 03:52:13 2008 UTC (14 years, 7 months ago) by ksteube
Cleaned up cloning of environments


Revision 1681 - Directory Listing
Modified Thu Jul 31 06:20:18 2008 UTC (14 years, 7 months ago) by ksteube
Cleaned up some problems from the automatic merge


Revision 1680 - Directory Listing
Modified Thu Jul 31 06:06:50 2008 UTC (14 years, 7 months ago) by ksteube
Simplified configure usage
Merged edits of trunk into branch


Revision 1678 - Directory Listing
Modified Tue Jul 29 00:25:05 2008 UTC (14 years, 8 months ago) by ksteube
Made configure more robust


Revision 1676 - Directory Listing
Modified Sun Jul 27 09:30:26 2008 UTC (14 years, 8 months ago) by ksteube
Made the Touch() commands portable


Revision 1675 - Directory Listing
Modified Fri Jul 25 05:48:29 2008 UTC (14 years, 8 months ago) by ksteube
Tweaked the default settings for various options to make configuration more automatic.
Fixed configuration for MKL.


Revision 1672 - Directory Listing
Modified Thu Jul 24 04:46:46 2008 UTC (14 years, 8 months ago) by ksteube
Merged in recents edits in trunk


Revision 1671 - Directory Listing
Modified Thu Jul 24 04:33:41 2008 UTC (14 years, 8 months ago) by ksteube
Now detecting and using UMFPACK, MKL


Revision 1668 - Directory Listing
Modified Wed Jul 23 20:36:21 2008 UTC (14 years, 8 months ago) by ksteube
Using AppendUnique to avoid having -I/usr/include appear 5 times
Not using PathOption any longer because Configure tells us what we need to know


Revision 1667 - Directory Listing
Modified Wed Jul 23 08:51:04 2008 UTC (14 years, 8 months ago) by ksteube
Fixed bugs in configure...no longer caching results so needs some work


Revision 1658 - Directory Listing
Modified Thu Jul 17 04:10:35 2008 UTC (14 years, 8 months ago) by ksteube
Improved handling of scons 0.98 versus 0.96


Revision 1657 - Directory Listing
Modified Wed Jul 16 09:40:14 2008 UTC (14 years, 8 months ago) by ksteube
Removed some unused items from scons_extensions.py


Revision 1656 - Directory Listing
Modified Wed Jul 16 06:20:40 2008 UTC (14 years, 8 months ago) by ksteube
Cleanup


Revision 1655 - Directory Listing
Modified Wed Jul 16 05:10:10 2008 UTC (14 years, 8 months ago) by ksteube
Compiles and runs under MPI, and without compiler warnings.
Improved compiler options.
saveVTK() issues a warning (not an error) if VTK is unavailable.


Revision 1654 - Directory Listing
Modified Wed Jul 16 00:47:40 2008 UTC (14 years, 8 months ago) by ksteube
Merged changes in trunk


Revision 1653 - Directory Listing
Modified Wed Jul 16 00:31:11 2008 UTC (14 years, 8 months ago) by ksteube
New scons scripts now work with scons-98 as well as scons-96...only
had to use env.Clone() instead of env.Copy().

Added copyright to each scons file.


Revision 1652 - Directory Listing
Modified Tue Jul 15 22:19:46 2008 UTC (14 years, 8 months ago) by ksteube
Better implementation of use<package>=yes, still need to do MKL, UMFPACK, ...


Revision 1647 - Directory Listing
Modified Tue Jul 15 06:58:06 2008 UTC (14 years, 8 months ago) by ksteube
Added targets for running tests and building docs


Revision 1641 - Directory Listing
Modified Tue Jul 15 00:23:45 2008 UTC (14 years, 8 months ago) by ksteube
New SConstruct uses Configure() to determine which libraries/headers
are available.

Now using targets for each library instead of a target for the lib
directory...this gives better control over what gets built.

Source files are explicitly listed instead of discovered using glob.

This is not ready for use just yet.


Revision 1640 - Directory Listing
Modified Tue Jul 15 00:15:12 2008 UTC (14 years, 8 months ago) by ksteube
Branch for scons development

Revision 1626 - Directory Listing
Modified Fri Jul 11 08:41:07 2008 UTC (14 years, 8 months ago) by phornby

To resolve a conflict over what "I" is in the case of intel compilers
(in the intel math libraty include) the names of the I and J variables have been changed.

I -> Ip
J -> Jp,

the p meaning "pointer".



Revision 1624 - Directory Listing
Modified Wed Jul 2 07:58:56 2008 UTC (14 years, 8 months ago) by phornby
Just add py_tests target description.



Revision 1623 - Directory Listing
Modified Wed Jul 2 07:56:54 2008 UTC (14 years, 8 months ago) by phornby
Clean up debugging files ready for trunk merge




Revision 1622 - Directory Listing
Modified Wed Jul 2 07:00:18 2008 UTC (14 years, 8 months ago) by phornby
Files changed on trunk since last 1580 merge.



Revision 1621 - Directory Listing
Modified Wed Jul 2 06:56:57 2008 UTC (14 years, 8 months ago) by phornby
Prepare to merge latest trunk changen onto a new branch




Revision 1617 - Directory Listing
Modified Mon Jun 23 23:01:27 2008 UTC (14 years, 9 months ago) by ksteube
Windows branch passes test suite on Savanna...except for paso/src/mmio.c
I reverted to earlier version of mmio.c to run the tests


Revision 1616 - Directory Listing
Modified Tue Jun 17 10:42:36 2008 UTC (14 years, 9 months ago) by phornby
Remove tabs & use standard 4 space indent. Cannot yet test on linux because of vtk problems.



Revision 1615 - Directory Listing
Modified Tue Jun 17 10:22:20 2008 UTC (14 years, 9 months ago) by trankine
Movie generation now works.

Have got as far as PyCAD tests. Suspect a repeat of the issues below.

More care is needed when writing file names to data files that are to be read by C/C++ programs.
The '\' in windows file names has the obvious effect 
when read from a file by a C/C++ program. It is also not appreciated on the command line by some cygwin applications: ppm2mpeg being the case in point here.  Also, windows file names often
contain blanks and other strange characters, in turn requiring even more care. This can happen on *nix systems too. Finally, cygwin gcc sometimes hates unix formatted files on windows! It appears liberal use of unix2dos helps cure things when 'raw-ish' C I/O (fgets) is used by cygwin programs. isspace() also seems to be a bit deaf in this respect in in cygwin's gcc RTL.

Revision 1614 - Directory Listing
Modified Mon Jun 16 17:11:32 2008 UTC (14 years, 9 months ago) by phornby
And the backout of the last debugging change.



Revision 1613 - Directory Listing
Modified Mon Jun 16 17:10:04 2008 UTC (14 years, 9 months ago) by phornby
Quick edit to track the ppmtompeg problem on windows.



Revision 1612 - Directory Listing
Modified Mon Jun 16 14:01:00 2008 UTC (14 years, 9 months ago) by phornby
Fix a silly scoping error that made esysUtils::malloc and co.
become recursive. (OOPS). This fixes the DumpAndLoad unit test failures.



Revision 1611 - Directory Listing
Modified Mon Jun 16 12:20:10 2008 UTC (14 years, 9 months ago) by phornby
Just cleaning up unused vars.



Revision 1610 - Directory Listing
Modified Mon Jun 16 12:03:12 2008 UTC (14 years, 9 months ago) by phornby
To hell with it, just ask the developer to edit
system_dep.h if they want esysUtils to be shared.

Instructions are in these files (as comments).



Revision 1609 - Directory Listing
Modified Mon Jun 16 11:46:13 2008 UTC (14 years, 9 months ago) by phornby
Have to work harder to make esysUtils static.



Revision 1608 - Directory Listing
Modified Mon Jun 16 11:30:56 2008 UTC (14 years, 9 months ago) by phornby
try restoring esysUtils to a static library.



Revision 1607 - Directory Listing
Modified Mon Jun 16 10:14:06 2008 UTC (14 years, 9 months ago) by trankine
Parameterise the python version.

Revision 1606 - Directory Listing
Modified Mon Jun 16 10:06:28 2008 UTC (14 years, 9 months ago) by trankine
parameterise the python version from sys module info.

Revision 1605 - Directory Listing
Modified Sat Jun 14 11:04:53 2008 UTC (14 years, 9 months ago) by phornby
Add NETCDF to the linux build.

Mod Paso_MPI_appendRankToFileName to take a const char *



Revision 1604 - Directory Listing
Modified Sat Jun 14 10:06:31 2008 UTC (14 years, 9 months ago) by phornby
Undo a hack for debugging std::string return values.
Problem on windows now understood.
FunctionSpace still suffers a mutability problem
of a very subtle nature.
If python does an __str__() and gets a type string, then
a later operator= mutates its type, the string held by python will
no longer be valid. This could cause programming errors.

Revision 1603 - Directory Listing
Modified Sat Jun 14 09:36:48 2008 UTC (14 years, 9 months ago) by phornby
Fix comments.

Revision 1602 - Directory Listing
Modified Sat Jun 14 09:20:06 2008 UTC (14 years, 9 months ago) by phornby
back out the hack to find where the heap corruption was.

Revision 1601 - Directory Listing
Modified Sat Jun 14 08:00:35 2008 UTC (14 years, 9 months ago) by phornby
Completely re-factor this code so that muli-statement
macros are totally safe, and there is not a preponderance
of inscrutable ifdefs guarding comprehension of the code.

Revision 1600 - Directory Listing
Modified Fri Jun 13 10:12:22 2008 UTC (14 years, 9 months ago) by phornby
Fix a few other oversights in keeping the windows intel compiler options up to date.

Revision 1599 - Directory Listing
Modified Fri Jun 13 09:54:18 2008 UTC (14 years, 9 months ago) by phornby
Fix a sys_libs oversight made apparent by a fresh checkout.

Revision 1598 - Directory Listing
Modified Fri Jun 13 09:18:36 2008 UTC (14 years, 9 months ago) by phornby
There seems to be stale scons data somewhere still looking for the old boost dll. Checkin ready for a clean checkout.

Revision 1597 - Directory Listing
Modified Fri Jun 13 07:50:26 2008 UTC (14 years, 9 months ago) by phornby
Compile with the same options used to build python.

Revision 1596 - Directory Listing
Modified Thu Jun 12 10:31:03 2008 UTC (14 years, 9 months ago) by phornby
This now passes run_tests on windows when compiled with multi-threaded debugging malloc/free.

I don't understand the exact issue, but I'm getting close. 
I found that hacking 
getResultSliceShape and determineResultShape 
to return const references to 
a class static rather than copies of stack locals fixed the
heap corruption problems that the debugging malloc/free 
was detecting.

I have little confidence that this has fixed things. I need to know exactly what's going on to fix all possible errors of the same type.

Revision 1595 - Directory Listing
Modified Tue Jun 10 09:22:36 2008 UTC (14 years, 9 months ago) by phornby
Be a bit more careful to re-instate the value of _DEBUG on windows.



Revision 1594 - Directory Listing
Modified Tue Jun 10 09:05:46 2008 UTC (14 years, 9 months ago) by phornby
Removed what appeared to be unneeded strdups in calls to
Paso_MPI_appendRankToFileName. It looks to me like Paso_MPI_appendRankToFileName
does its own memory allocation using macros from Common.h???

Anyway, I cannot easily test this change since it is part of the MPI code.



Revision 1593 - Directory Listing
Modified Thu Jun 5 11:01:24 2008 UTC (14 years, 9 months ago) by phornby
Fix the uninitialised use of tau for the second time.



Revision 1592 - Directory Listing
Modified Thu Jun 5 10:21:22 2008 UTC (14 years, 9 months ago) by phornby
Two reasons.

1. prepare for a mrege to the trunk.
2. Windows debug environment is good enough that it can indicate that the problem is not
here.



Revision 1591 - Directory Listing
Modified Thu Jun 5 10:02:34 2008 UTC (14 years, 9 months ago) by phornby
Fix code around strcpy so it throws if there's a
zero length file name given. This guards agains a possible
memory overrun.



Revision 1590 - Directory Listing
Modified Thu Jun 5 09:40:56 2008 UTC (14 years, 9 months ago) by phornby
Make sure strcpy & strncpy arguments are correctly managed.



Revision 1589 - Directory Listing
Modified Thu Jun 5 09:20:30 2008 UTC (14 years, 9 months ago) by phornby
Remove a magic number (4096) from a MEMALLOC & parameterise safely.



Revision 1588 - Directory Listing
Modified Thu Jun 5 06:10:06 2008 UTC (14 years, 9 months ago) by phornby
Dress naked mallocs in mmio.c



Revision 1587 - Directory Listing
Modified Thu Jun 5 05:50:20 2008 UTC (14 years, 9 months ago) by phornby
define esysUtils::malloc() and friends to dress naked mallocs in C++ code.

Remove unneedded PyObject_NEW macros from Common.h.

Add needed system include files to blocktimer.c

Dress the naked mallocs in DataFactory and DataTagged.



Revision 1586 - Directory Listing
Modified Thu Jun 5 04:43:56 2008 UTC (14 years, 9 months ago) by phornby
Control _DEBUG on windows to prevent the inclusion of python.h from forcing a link to python24_d.lib

Revision 1585 - Directory Listing
Modified Wed Jun 4 11:39:42 2008 UTC (14 years, 9 months ago) by phornby
Quick straw clutching to see if any of the MEMALLOC macros were responsible. They all looked OK, and replacement with PyMem_Malloc and co. made no difference.

Revision 1584 - Directory Listing
Modified Wed Jun 4 09:08:25 2008 UTC (14 years, 9 months ago) by phornby
Try using PyMeme_etc() routines on windows for memory management.



Revision 1583 - Directory Listing
Modified Wed Jun 4 08:26:06 2008 UTC (14 years, 9 months ago) by phornby
Re-jig the MEMALLOC macros to make them readable and semi-colon safe.
Add an _WIN32 branch to the definitions to try to locate the heap corruption
occuring on windows.



Revision 1582 - Directory Listing
Modified Wed Jun 4 07:20:59 2008 UTC (14 years, 9 months ago) by phornby
Merge in trunk changes from 1574 to 1580.



Revision 1581 - Directory Listing
Modified Wed Jun 4 07:10:43 2008 UTC (14 years, 9 months ago) by phornby
Prepare for merging the latest trunk changes onto the windows branch.



Revision 1580 - Directory Listing
Modified Tue Jun 3 14:03:40 2008 UTC (14 years, 9 months ago) by phornby
This once again compiles and links under windows after merging to trunk version 1574. scons run_tests also passes now. py_tests still fails in the same way.  Had to link against winsock2 to get gethostname(), and had to re-do some work on eliminating unused vars. Also eliminated signed/unsigned comparisons where I saw them.

Revision 1578 - Directory Listing
Modified Wed May 28 11:16:10 2008 UTC (14 years, 10 months ago) by phornby
Now restore the old 1544 merged branch to its previous state. 
(Yup, I forgot to do an svn cp and an svn switch before doing the merge....).



Revision 1577 - Directory Listing
Modified Wed May 28 11:13:51 2008 UTC (14 years, 10 months ago) by phornby
After checking in the merged files, rename 1544 merge branch to a 1574 merged branch.



Revision 1576 - Directory Listing
Modified Wed May 28 11:10:51 2008 UTC (14 years, 10 months ago) by phornby
Merged in trunk up to rev. 1574.



Revision 1575 - Directory Listing
Modified Wed May 28 11:07:33 2008 UTC (14 years, 10 months ago) by phornby
Prepare for a shuffle of branch names to bring in the new trunk merge.



Revision 1558 - Directory Listing
Modified Tue May 20 07:33:49 2008 UTC (14 years, 10 months ago) by ksteube
Windows branch now compiles on UNIX with one warning


Revision 1549 - Directory Listing
Modified Fri May 2 07:22:52 2008 UTC (14 years, 10 months ago) by phornby
Complete the op=() implementations for exceptions.
Don't expect any effect yet. Problems lay elsewhere.



Revision 1548 - Directory Listing
Modified Fri May 2 06:59:11 2008 UTC (14 years, 10 months ago) by phornby
Update all escript exceptions with an explicit op=() method.



Revision 1547 - Directory Listing
Modified Fri May 2 06:30:48 2008 UTC (14 years, 10 months ago) by phornby
Adjust comment.



Revision 1546 - Directory Listing
Modified Thu May 1 07:09:49 2008 UTC (14 years, 10 months ago) by phornby
Copy branch to new name to reflect the new trunk version merged in



Revision 1545 - Directory Listing
Modified Thu May 1 07:08:20 2008 UTC (14 years, 10 months ago) by phornby
Merg in trunk changes.



Revision 1544 - Directory Listing
Modified Thu May 1 03:09:42 2008 UTC (14 years, 10 months ago) by phornby
Dummy commit to test e-mail notification



Revision 1540 - Directory Listing
Modified Wed Apr 30 00:06:31 2008 UTC (14 years, 10 months ago) by phornby
disable PCH and put symbols in .obj files just in case....

Revision 1539 - Directory Listing
Modified Tue Apr 29 10:32:59 2008 UTC (14 years, 11 months ago) by phornby


Revision 1538 - Directory Listing
Modified Tue Apr 29 09:01:17 2008 UTC (14 years, 11 months ago) by phornby
Explicit, presumably leaky destructor added to
thwart 'clever' destructor generated code that
assumes a good programmer.

Revision 1537 - Directory Listing
Modified Tue Apr 29 08:18:15 2008 UTC (14 years, 11 months ago) by phornby
Add the link_flags_debug to the windows options example.

Revision 1536 - Directory Listing
Modified Tue Apr 29 08:08:58 2008 UTC (14 years, 11 months ago) by phornby
Add link_flags and link_flags_debug options

Revision 1535 - Directory Listing
Modified Tue Apr 29 03:45:06 2008 UTC (14 years, 11 months ago) by phornby
Unimplemented function now returns an error value.

Revision 1534 - Directory Listing
Modified Tue Apr 29 03:34:38 2008 UTC (14 years, 11 months ago) by phornby
Eliminate unused vars & fix a possible bug in Assemble_jacobeans (use of unitialised
variable).



Revision 1533 - Directory Listing
Modified Tue Apr 29 03:12:46 2008 UTC (14 years, 11 months ago) by phornby
Be explicit about the external linkage of constructors.
Fix syntax to compile on linux.



Revision 1532 - Directory Listing
Modified Tue Apr 29 02:44:58 2008 UTC (14 years, 11 months ago) by phornby
remove a comment.

Revision 1531 - Directory Listing
Modified Tue Apr 29 02:44:31 2008 UTC (14 years, 11 months ago) by phornby
dll export all virtual methods.

Revision 1530 - Directory Listing
Modified Tue Apr 29 02:15:27 2008 UTC (14 years, 11 months ago) by phornby
Add operator=()

Revision 1529 - Directory Listing
Modified Tue Apr 29 02:03:19 2008 UTC (14 years, 11 months ago) by phornby
Add an updateMessage to DerivedEX::operator=(), just in case.
This test case is the pattern to be used in deriving EsysExceptions.

Revision 1528 - Directory Listing
Modified Tue Apr 29 01:51:01 2008 UTC (14 years, 11 months ago) by phornby
Add operator=() to DerivedEx.
Make sure virtual what() extends down to std::exception
and that the virtual exceptioName() method picks up
the right exception name when called as a std::exception.

Revision 1526 - Directory Listing
Modified Mon Apr 28 10:19:08 2008 UTC (14 years, 11 months ago) by phornby
Add operator= and modify copy constructor to guard
against implementations that do pointer copies in
std::exception......

Revision 1525 - Directory Listing
Modified Mon Apr 28 07:46:17 2008 UTC (14 years, 11 months ago) by phornby
Explicitly link to python in case of creating a .so.



Revision 1523 - Directory Listing
Modified Tue Apr 22 06:15:31 2008 UTC (14 years, 11 months ago) by phornby
Rename to reflect the trunk version merged in.

Revision 1522 - Directory Listing
Modified Tue Apr 22 06:13:48 2008 UTC (14 years, 11 months ago) by phornby
Keep tracking the trunk changes, currently tracked to rev. 1520.
The trunk version of finley/test/python/run_pde.... is not being
tracked for now; keeping the branch version.


Revision 1521 - Directory Listing
Modified Tue Apr 22 06:06:56 2008 UTC (14 years, 11 months ago) by phornby
Put the abs back to an fabs. Is this so wrong?

Revision 1520 - Directory Listing
Modified Tue Apr 22 05:32:08 2008 UTC (14 years, 11 months ago) by phornby
Catch up with Lutz' mods  of files I've modded before merging in recent trunk changes.

Revision 1510 - Directory Listing
Modified Mon Apr 14 13:09:17 2008 UTC (14 years, 11 months ago) by trankine
Failed attempt to get esysUtils to compile first during debug cycles.

Revision 1509 - Directory Listing
Modified Mon Apr 14 13:07:50 2008 UTC (14 years, 11 months ago) by trankine
Get more explicit about linkage class of methods on windows.
Make into a shared library for testing purposes.

Revision 1508 - Directory Listing
Modified Mon Apr 14 13:06:23 2008 UTC (14 years, 11 months ago) by trankine
Unused vars and signed/unsigned in comparisons.

Revision 1507 - Directory Listing
Modified Mon Apr 14 13:05:08 2008 UTC (14 years, 11 months ago) by trankine
More unused vars.

Revision 1506 - Directory Listing
Modified Mon Apr 14 13:03:29 2008 UTC (14 years, 11 months ago) by trankine
Lint unused vars.

Revision 1505 - Directory Listing
Modified Mon Apr 14 12:57:37 2008 UTC (14 years, 11 months ago) by trankine
Guard the declaration of loc_norm.

Revision 1504 - Directory Listing
Modified Mon Apr 14 12:56:54 2008 UTC (14 years, 11 months ago) by trankine
Initialise tau before its first use to silence the compiler.

Revision 1503 - Directory Listing
Modified Mon Apr 14 12:40:21 2008 UTC (14 years, 11 months ago) by trankine
replace an ineffectual == with an = at line 104. Please check.

Revision 1502 - Directory Listing
Modified Mon Apr 14 10:04:36 2008 UTC (14 years, 11 months ago) by trankine
Remove loss of precision waring errors.

Revision 1501 - Directory Listing
Modified Mon Apr 14 09:09:20 2008 UTC (14 years, 11 months ago) by trankine
You've been programming in python too long. "or", "and" and "not" are not C++ boolean ops. The SGI compiler is being kind to you :)

Revision 1500 - Directory Listing
Modified Mon Apr 14 09:05:37 2008 UTC (14 years, 11 months ago) by trankine
Lint unused vars, watch out for ifdefed code.

Revision 1499 - Directory Listing
Modified Mon Apr 14 09:03:46 2008 UTC (14 years, 11 months ago) by trankine
Lint inused var.

Revision 1498 - Directory Listing
Modified Mon Apr 14 09:02:47 2008 UTC (14 years, 11 months ago) by trankine
Silence some unrefed var warnings, being careful to not blow away vars used in the ifdef'd MPI code.

Revision 1497 - Directory Listing
Modified Mon Apr 14 09:00:03 2008 UTC (14 years, 11 months ago) by trankine
abs -> fabs. Potentially serious error, norms were being converted to ints in convergence tests.

Revision 1496 - Directory Listing
Modified Mon Apr 14 08:58:27 2008 UTC (14 years, 11 months ago) by trankine
attempt a fix to the 2x2 block diagonal multiply case.

Revision 1495 - Directory Listing
Modified Mon Apr 14 07:51:19 2008 UTC (14 years, 11 months ago) by trankine
And replace this with the test version on the branch.

Revision 1493 - Directory Listing
Modified Mon Apr 14 06:47:26 2008 UTC (14 years, 11 months ago) by trankine
moved to windows_from_1456_trunk_1490_merged_in after merging to revision 1490 of the trunk.

Revision 1492 - Directory Listing
Modified Mon Apr 14 06:43:51 2008 UTC (14 years, 11 months ago) by trankine
Copied remotely

Revision 1491 - Directory Listing
Modified Mon Apr 14 06:41:35 2008 UTC (14 years, 11 months ago) by trankine
merge the trunk changes onto the branch.

Revision 1490 - Directory Listing
Modified Mon Apr 14 06:35:21 2008 UTC (14 years, 11 months ago) by trankine
Prepare for another update to the branch to keep up with the trunk

Revision 1462 - Directory Listing
Modified Fri Mar 28 15:50:20 2008 UTC (15 years ago) by trankine
1. Fix the THROW() macro so it appears only in esysUtils.
2. Introduce the THROW_ANY macro to silence windows compilers.
3. Eliminate many unused variables.

Point 3 needs testing on ALTIX with MPI turned on to see if I have over-looked and removed variables that were in idef'ed out code.

Only compiled and linked on windows at this point.

Revision 1461 - Directory Listing
Modified Fri Mar 28 07:51:34 2008 UTC (15 years ago) by trankine
get the name right

Revision 1460 - Directory Listing
Modified Fri Mar 28 07:48:46 2008 UTC (15 years ago) by trankine
update of branch to keep up with trunk

Revision 1457 - Directory Listing
Modified Fri Feb 29 06:18:21 2008 UTC (15 years ago) by phornby
Open new branch for system_dep.h fixup & dealing with intermittent run_tests failures on windows.



Revision 1453 - Directory Listing
Modified Thu Feb 28 16:11:03 2008 UTC (15 years ago) by phornby
Is now restored to run_linearPDEsOnFinley.py



Revision 1452 - Directory Listing
Modified Thu Feb 28 16:06:17 2008 UTC (15 years ago) by trankine
Restore full version of this test ready for merge with trunk
Keep the branch version for the re-branch

Revision 1451 - Directory Listing
Modified Thu Feb 28 14:14:12 2008 UTC (15 years, 1 month ago) by phornby
Compiles and passes run_tests on debian.

The Exception scheme has been reworked somewhat. All classes
manage their own internal copies of strings using strin manipulations only.
Class name strings are kept as class static consts, and virtual function
pick up the right class name string and concatinate with the reason string to form the
message string.

Only the copy constructor is implemented, so there can be no funny business with
class name strings. operator=() is gone, and good riddance to it.



Revision 1450 - Directory Listing
Modified Thu Feb 28 13:59:24 2008 UTC (15 years, 1 month ago) by phornby
Leaving the land where the text editor works.



Revision 1449 - Directory Listing
Modified Thu Feb 28 13:40:48 2008 UTC (15 years, 1 month ago) by phornby
Have to go to another machine, my editor keeps crashing....



Revision 1448 - Directory Listing
Modified Thu Feb 28 12:31:04 2008 UTC (15 years, 1 month ago) by phornby
Derived a consistent method of derivation from EsysException embodied in
EsysExceptionTestCase.cpp.
Eliminated xxxxException::operator=(). It was not used, and just made more work.

run_tests passes on linux.



Revision 1447 - Directory Listing
Modified Thu Feb 28 10:47:57 2008 UTC (15 years, 1 month ago) by phornby
Deal with the throw vs nothrow issue in declarations on linux & windows.

All the system_dep.h's (BTW, there should only be one) #define a macro
THROW(ARG) depending on the system/compiler, and the code uses THROW() in
declarations.



Revision 1446 - Directory Listing
Modified Thu Feb 28 09:59:14 2008 UTC (15 years, 1 month ago) by trankine
synching windows & linux code.

Revision 1445 - Directory Listing
Modified Thu Feb 28 09:55:31 2008 UTC (15 years, 1 month ago) by trankine
get rid of a throw() qualifier.

Revision 1444 - Directory Listing
Modified Thu Feb 28 09:42:55 2008 UTC (15 years, 1 month ago) by trankine
Completing the exception changes. Still fragile
on the unit tests.
going to continue on linux to fix some obvious bugs.

Revision 1443 - Directory Listing
Modified Thu Feb 28 08:17:40 2008 UTC (15 years, 1 month ago) by trankine
Had enough of the warnings about e being unused.

Revision 1442 - Directory Listing
Modified Thu Feb 28 07:25:19 2008 UTC (15 years, 1 month ago) by trankine
Successful compile & link. Remove warnings about signed/unsigned comparisons from MeshAdapter.cpp

Revision 1441 - Directory Listing
Modified Thu Feb 28 06:50:26 2008 UTC (15 years, 1 month ago) by trankine
We have a successful compile & link of escript & esysUtils.

Revision 1440 - Directory Listing
Modified Thu Feb 28 06:27:48 2008 UTC (15 years, 1 month ago) by trankine
Pretty much settled on a coding pattern for the exception classes.
Other changes are me eliminating unused variables and signed/unsigned comparisons as I go.

This is a backup commit, still not compiling.

Revision 1439 - Directory Listing
Modified Thu Feb 28 04:56:16 2008 UTC (15 years, 1 month ago) by trankine
Working to eliminate stringstreams from exceptions.
All exception methods return const refs to self-owned members.
(i.e. no temporaries allowed after construction.)

Not compiling, this is a lunch break checkin.


Revision 1438 - Directory Listing
Modified Thu Feb 28 04:43:56 2008 UTC (15 years, 1 month ago) by trankine
must commit the rename before editing


Revision 1437 - Directory Listing
Modified Thu Feb 28 04:41:38 2008 UTC (15 years, 1 month ago) by trankine
Must commit this before re-naming to the proper name

Revision 1436 - Directory Listing
Modified Wed Feb 27 15:05:50 2008 UTC (15 years, 1 month ago) by trankine
Restore the debug version from the terminated branch and save the trunk version.

This branch is now pretty much in the same run-state as the terminated branch apart from the debug printouts.

Revision 1435 - Directory Listing
Modified Wed Feb 27 14:40:28 2008 UTC (15 years, 1 month ago) by trankine
Update for the file name and exponent stuff in regression tests

Revision 1434 - Directory Listing
Modified Wed Feb 27 10:50:55 2008 UTC (15 years, 1 month ago) by trankine
Comment the daylights out of toString et al.

Revision 1433 - Directory Listing
Modified Wed Feb 27 10:10:09 2008 UTC (15 years, 1 month ago) by trankine
This branch replaces 
https://shake200.esscc.uq.edu.au/svn/esys13/branches/windows_from_1383_trunk

as the windows port branch.

If you were on the above branch, an svn switch will get you across.

The added file is a temporary test file to be deleted later. I excercises some (ex-)misbehaviour caused by returning anonymous temporary copies of local stack temporary variables across windows DLL boundaries.

Revision 1432 - Directory Listing
Modified Wed Feb 27 10:02:34 2008 UTC (15 years, 1 month ago) by trankine
Copied remotely

Revision 1424 - Directory Listing
Modified Wed Feb 27 05:27:18 2008 UTC (15 years, 1 month ago) by trankine
removed the toPyString code by undefining DEBUG_PY_STRINGS.
passes the python string() call test 50000 times. Also passes run_rests, but the slightest thing makes it fail.

Revision 1422 - Directory Listing
Modified Tue Feb 26 13:44:12 2008 UTC (15 years, 1 month ago) by trankine
this passes scons_run_tests

Revision 1421 - Directory Listing
Modified Tue Feb 26 10:17:33 2008 UTC (15 years, 1 month ago) by trankine
In this version

1. with DEBUG_PY_STRINGS not defined, it succeeds to run repeated str(a_fn_space) 50000 times. However it fails run_tests and py_tests in the same way it did previously.
2. with DEBUG_PY_STRINGS it uses toPyString, and almost passes run_tests, and gets far further into py_tests, to a point that looks quite different.

Revision 1420 - Directory Listing
Modified Tue Feb 26 07:30:08 2008 UTC (15 years, 1 month ago) by trankine
1. toString returns a cost ref to a string.
2. the return value is a member of the function space.
3. the string member is declared mutable so that toString can lazy init. it.
4. this assumes type_str is virtually non mutable for the life of a FunctionSpace.cpp
5. operator=() is now private and users are declared friend classes; This is temporary.
6. the nullDomainValue is now static const, and it's no longer allowed to have external linkage.
7. as a result of 6, methods of FunctionSpace that need to be exported outside a windows dll need to be individually dll_export/import'ed using the ESCRIPT_..... macro 

Revision 1419 - Directory Listing
Modified Tue Feb 26 07:29:41 2008 UTC (15 years, 1 month ago) by trankine
1. toString returns a cost ref to a string.
2. the return value is a member of the function space.
3. the string member is declared mutable so that toString can lazy init. it.
4. this assumes type_str is virtually non mutable for the life of a FunctionSpace.cpp
5. operator=() is now private and users are declared friend classes; This is temporary.
6. the nullDomainValue is now static const, and it's no longer allowed to have external linkage.
7. as a result of 6, methods of FunctionSpace that need to be exported outside a windows dll need to be individually dll_export/import'ed using the ESCRIPT_..... macro 

Revision 1418 - Directory Listing
Modified Tue Feb 26 07:18:15 2008 UTC (15 years, 1 month ago) by trankine
Specify return value policy for __str__

Revision 1406 - Directory Listing
Modified Thu Jan 31 11:41:58 2008 UTC (15 years, 1 month ago) by trankine
Make it easer to change the boost location.
Remove a dated options file.

Revision 1405 - Directory Listing
Modified Thu Jan 31 11:36:33 2008 UTC (15 years, 1 month ago) by trankine
Make the boost location easier to change

Revision 1404 - Directory Listing
Modified Thu Jan 31 11:31:14 2008 UTC (15 years, 1 month ago) by trankine
Added a comment line for building on windows with the intel compiler

Revision 1399 - Directory Listing
Modified Wed Jan 23 08:03:22 2008 UTC (15 years, 2 months ago) by trankine
It helps if I link against the correct version of python.......
Also update the netCDF variables to be the same as the
msc71 options file.

Revision 1398 - Directory Listing
Modified Wed Jan 23 07:46:09 2008 UTC (15 years, 2 months ago) by trankine
Remove the throw() modifier from the destructor declaration.

Revision 1397 - Directory Listing
Modified Wed Jan 23 07:44:46 2008 UTC (15 years, 2 months ago) by trankine
Implicit destructors are generally not virtual. DerivedEx
therefore had a non-virual destructor, which was not
compatible with the parent class destructor. That could be dangerous on some compilers.

Revision 1396 - Directory Listing
Modified Wed Jan 23 05:39:27 2008 UTC (15 years, 2 months ago) by trankine
A few functions had been moved from the cpp to the header (it appears) to inline them. However, the declarations had been lest in with an ESCRIPT_DLL_API declaration that conflicted with the inline definition.
Deleted the ESCRIPT_DLL_API forward declaration completely, and moved the doxygen style comment to the inline definition.

Revision 1395 - Directory Listing
Modified Wed Jan 23 05:32:17 2008 UTC (15 years, 2 months ago) by trankine
Remove the netCDF stuff for now, and fix the boost wchar_t handling for the intel compiler.

Revision 1394 - Directory Listing
Modified Wed Jan 23 05:24:17 2008 UTC (15 years, 2 months ago) by trankine
Somehow an ESCRIPT_DLL_API had crept into the header file, and to compound matters, the definition in the cpp file had no call method specifier at all. Windows hates people doing that.

Revision 1386 - Directory Listing
Modified Fri Jan 11 07:40:29 2008 UTC (15 years, 2 months ago) by trankine
Moving the just checked in windows modified trunk onto a branch

Revision 1320 - Directory Listing
Modified Thu Sep 27 00:51:32 2007 UTC (15 years, 6 months ago) by ksteube
Moved trunk-mpi-branch into the branches subdirectory where it belongs


Revision 756 - Directory Listing
Modified Mon Jun 26 09:35:04 2006 UTC (16 years, 9 months ago) by woo409
+ Allow for single CPU builds on cognac


Revision 755 - Directory Listing
Modified Mon Jun 26 09:31:20 2006 UTC (16 years, 9 months ago) by woo409
+get run_visualization_interface.py to look for test files in win32 area. Tests still fail because of the ordering issues mentioned in previous logs. 

Revision 754 - Directory Listing
Modified Mon Jun 26 08:00:38 2006 UTC (16 years, 9 months ago) by woo409
+ Discussion with Lutz Gross showed the tests to be dependent on the sort order, not escript itself. As a result I've backed out the addition of qsortG. Win32 will fail file comparison tests in run_generators.py (unless it uses its own generated versions). It will also fail ...onContactZero/One (8 of them) tests in run_utilOnFinley.py since the sort order change causes some of the normals to be defined the opposite way around to the reference test orientation since they are defined on the opposite face.

Revision 753 - Directory Listing
Modified Mon Jun 26 02:51:25 2006 UTC (16 years, 9 months ago) by woo409
+ Made qsortG usage conditional on USE_QSORTG being defined

Note both altix and win32 fail the test_normal_onFunctionContactOne/Zero tests when using QSORTG.

Perhaps QSORTG isn't stable or altix isn't or I've introduced some other bug...I'll try altix without qsortG and see what happens.
This is becoming painful.

Revision 752 - Directory Listing
Modified Mon Jun 26 02:25:41 2006 UTC (16 years, 9 months ago) by woo409
+ Added a qsort.c file which contains a drop in replacement for qsort (call it as qsortG). This one appears to be a stable implementation and the test .msh files on windows have been set up to be the same as unix again except for the exponent digits (3 instead of 2).
With ALL the qsorts replaced with qsortG only two tests fail now on win32:
test_normal_onFunctionOnContactOne
test_normal_onFunctionOnContactZero

Both give wrong result errors.

I will check this same code on the altix (including the use of qsortG and see if Altix has the same problem.

Revision 750 - Directory Listing
Modified Sun Jun 25 13:05:29 2006 UTC (16 years, 9 months ago) by woo409
+ Removed the debugging code inserted in an effort to track down a difference in the win32 and linux codes. Turns out the problem is with the Utils.c use of quicksort and the test cases. Quicksort is not guaranteed to be stable (retain array order when comparison is equal) which it isn't on Win32. As a result the output files used for regression tests are different for windows
Still verifying but make sense.

Revision 749 - Directory Listing
Modified Sun Jun 25 08:26:40 2006 UTC (16 years, 9 months ago) by woo409
+ Commiting some DEBUGGING code which will need to be removed later. I need to test on both win32 and altix. It appears something is being initialised incorrectly for Finley_ElementFile stuff on win32. I've modified Mesh_line2.c to assist in tracking this down (though it is common to anything that has useElementsOnFace true when constructed).
When I find it this is going to be one seriously stupid and expensive to find bug.

Revision 748 - Directory Listing
Modified Sat Jun 24 15:09:10 2006 UTC (16 years, 9 months ago) by woo409
+ run_generators.py now has a commented section that you can uncomment to have it dump out the reference files
+ Win32 output files differ not only in the exponent (e+000 instead of e+00) format but also in order for part of the file. The same code has been compiled on altix and it passes the tests with the original files. I've no idea why the win32 version produces a different order.
THIS REQUIRES FURTHER INVESTIGATION
Does the output file require the lines to be in a specific order (it doesn't appear to effect anything else)?

Revision 747 - Directory Listing
Modified Sat Jun 24 12:58:50 2006 UTC (16 years, 9 months ago) by woo409
+ re-enabled all the tests in run_generators.py
+ Fixed up some extra #includes left over from initial port
+ nelix_kb_options.py now has some additional optimisation flags for my notebooks pentium M processor

Revision 746 - Directory Listing
Modified Sat Jun 24 12:47:22 2006 UTC (16 years, 9 months ago) by woo409
+ Just turning on and off a few tests in run_generators which is currently producing different order in the outputs for files with contacts. The lines are the same just in a different order. Quite strange.


Revision 745 - Directory Listing
Modified Sat Jun 24 12:16:19 2006 UTC (16 years, 9 months ago) by woo409
+ The joys of cross-platform and multi-language development. You can't use C preprocessor macros in a PYTHON file!!! <grin>


Revision 744 - Directory Listing
Modified Sat Jun 24 12:05:12 2006 UTC (16 years, 9 months ago) by woo409
+ Fixed up some #else statements that were in the wrong order and prevented compilation on altix


Revision 743 - Directory Listing
Modified Sat Jun 24 11:44:55 2006 UTC (16 years, 9 months ago) by woo409
+ Some additional files for the win32 port
  + The additional test meshes are because windows produces floating point numbers like this 12e+001 where are unix is 12e+01
  + nelix_kb_options.py is my notebooks config file. I've included it as an example of win32 compilation options
  + system_dep.h is there for win32 shared library function export/import macros and also to use the intel mathimf.h library since the standard MS VC++ math.h doesn't have all the necessary functions. NOTE this file must be included before all other headers to prevent inclusion of math.h

Revision 742 - Directory Listing
Modified Sat Jun 24 11:27:16 2006 UTC (16 years, 9 months ago) by woo409
+ Initial commit of win32 port using intel c++ compiler 9.1.x for Windows
+ This version is failing some file handling tests in python

Revision 678 - Directory Listing
Modified Sun Mar 26 12:20:00 2006 UTC (17 years ago) by robwdcock
+Allow for environment variable PATH, LD_LIBRARY_PATH, and PYTHONPATH to 
not exist in the users environment.


Revision 677 - Directory Listing
Modified Sun Mar 26 11:25:19 2006 UTC (17 years ago) by robwdcock
+ Opps forgot to commit the lines that add the PYTHONPATH to the scons ENV used for calling external programs


Revision 676 - Directory Listing
Modified Sun Mar 26 10:13:34 2006 UTC (17 years ago) by robwdcock
+ Modified test SConscript dependencies to remove redundant call to explicit dependency
+ Modified scon_extensions.py - run unit tests (py and C++) now use scons::Execute rather than python os.system. This ensures the development environment
is used rather than the users environment to run the tests
+ SConstruct file now sets up LD_LIBRARY_PATH and PYTHONPATH to point to the current builds pyinstall and libinstall paths as required.
IT IS NO LONGER NECESSARY TO SET LD_LIBRARY_PATH and PYTHONPATH to point at your build outputs. Much safer in the presence of multiple checked out builds.
Under these circumstances you are better of using scons to run the tests rather than doing so directly. Easiest way to do this is to build the test output target for the test you want:
e.g. scons build/posix/bruce/test/python/ImportTest.passed
or if you prefer
cd build/posix/bruce/test/python
scons -u ImportTest.passed



Revision 675 - Directory Listing
Modified Sun Mar 26 07:28:06 2006 UTC (17 years ago) by robwdcock
+ Add an all_tests targets: run_tests and py_tests


Revision 674 - Directory Listing
Modified Sun Mar 26 07:21:48 2006 UTC (17 years ago) by robwdcock
+Some more svn:ignore properties.


Revision 673 - Directory Listing
Modified Sun Mar 26 07:16:42 2006 UTC (17 years ago) by robwdcock
+ Added some svn:ignore properties so .pyc files aren't reported during svn status and friends
+ Removed esys directory. Build system will create the pyinstall/esys target and touch the __init__.py file in it as part of the build process. This means you can now direct scons to perform an install of the python directly into your desired location rather than just in the root of the source tree.


Revision 672 - Directory Listing
Modified Sat Mar 25 16:21:22 2006 UTC (17 years ago) by robwdcock
+ Scons cflags are added to cxxflags. Only need to list extra flags for
C++


Revision 671 - Directory Listing
Modified Sat Mar 25 16:04:24 2006 UTC (17 years ago) by robwdcock
+ scons adds CCFLAGS to CXXFLAGS so the c++ flags only need to specify the c++ specific ones in the options file. 



Revision 670 - Directory Listing
Modified Sat Mar 25 14:56:39 2006 UTC (17 years ago) by robwdcock
+ Changed include paths to no longer require the cpp suffix (missed in earlier
  commit)
+ modified tests so they no longer install to #/lib


Revision 669 - Directory Listing
Modified Sat Mar 25 13:35:55 2006 UTC (17 years ago) by robwdcock
+ Added lib back in. Once cppunit is removed this will no longer be
necessary as scons will no longer through up an error when looking for 
cppunit lib path when it hasn't been built yet.


Revision 668 - Directory Listing
Modified Sat Mar 25 13:27:27 2006 UTC (17 years ago) by robwdcock
+ finally figured out why the tests failed when the python extension libs were
  no longer sym links. The original setup for python extension modules was to
  have sym links in the esys/* directories named, for example escriptcpp.so.
  These would link to the actual libraries libescriptcpp.so. The lib*.so would
  link to each other. When you replaced the symlink with a copy of the lib*.so
  but renamed without the lib you would then get problems. In particular,
  py_tests would suddenly start failing.

  The problem appears (I've not been able to find documentary evidence to this
  case) to be that when, for example, you import bruce, brucecpp.so imports
  lib/libescriptcpp.so (which intialises escript python bits), bruce then
  imports escriptcpp.so (which also initialised escript python bits).

  Whether that is exactly correct or not is of interest but the important bit
  is you appear to get two versions. After thinking about this for a bit and
  reviewing a bunch of other examples of working python modules I noticed a
  pattern. NONE of the other examples ever included more than the python
  wrapper code in the python extension library. Instead they just link to
  the pure C++ library. This would avoid the duplicate load.

  So, I've refactored the code. If you consider escript the pattern in now:
  lib/libescript.so - which has all of escript EXCEPT the python escriptcpp.cpp
  esys/escript/escriptcpp.so - which has ONLY the escriptcpp.cpp and links to
                               lib/libescript.so
  
  Run the tests and low and behold they all pass again.

  Q: Why doesn't this problem occur with sym links?
  A: My guess is that python and the dynamic linker take a look at the actual
     absolute python of libraries to determine if its a "different" library.
     I did fine some discussions that seem to suggest this.

  Q: Why can't you just set LD_LIBRARY_PATH==PYTHONPATH and stick all the
     libs in that directory?
  A: I (in fact we, Peter Hornby was there) tried. With the renaming of the
     python module so it doesn't have a lib prefix you get problems with
     getting the shared libraries to be looked up in LD_LIBRARY_PATH. Do
     the opposite and use lib on the python modules and you have problems
     with windows which doesn't prepend the lib. Various combination
     in between were also tried but you end up in a catch 22 situation so far
     as I could tell

  Please if you know more about the ins and outs of python and shared
  libraries let me know if this isn't true. I'd really like to know if my
  guesses are correct. In any event, the fix is more consistent with the
  patterns I've seen

  Phew! this was a long log message, glad it is on a branch!




Revision 667 - Directory Listing
Modified Fri Mar 24 13:25:00 2006 UTC (17 years ago) by robwdcock
+ OUCH ARGHH
+ Okay the wizzy linkHack doesn't work. Not sure why but py_tests fail
when the shared library is on the link line directly (without a -l)

+ Unfortunately we can't figure out how to use -l without it prepending
a lib prefix. Hence all the shareable objects in python now need to be
called libblah.so (and lib will need to be prepended on windows!!!!).
This is not the python way and its very annoying. Why do we have this
problem? Because the C++ shared libraries link with each other.



Revision 666 - Directory Listing
Modified Fri Mar 24 11:29:40 2006 UTC (17 years ago) by robwdcock
+ Fix up python esys area:
  + libraries are named without lib prefix on posix platforms (python standard)
  + libraries are now installed into the pyinstall area (python standard)
  + symlinks removed, no longer required
  + LD_LIBRARY_PATH is now optional for PYTHON programs (still required for c++)
+ lib PREFIX removal NOTES:
  + removing the lib prefix is non-standard for the linker. As such we've created a
    custom function sharedLinkHack to specify the .so on the link command line
    (as opposed to using -l<archive> which will prepend the lib). This has a
    a small slight of hand for scons which was being to "helpful". Scons
    verifies that when creating a shared libray all objects specified are
    created shareable (e.g. ensure objects are compiler with -fPIC). Since
    we are linking a .so out of the blue we had to wrap it up in a File note
    and flag it as shared.
    Easily done, once you know how. Thankfully this is all wrapped
    up in a simple function (sharedLinkHack) that looks like ordinary scons so
    you will never know!
    



Revision 665 - Directory Listing
Modified Fri Mar 24 09:30:44 2006 UTC (17 years ago) by robwdcock
+Some tidying up and fixme comments so we remember to fix this test later


Revision 664 - Directory Listing
Modified Fri Mar 24 09:28:36 2006 UTC (17 years ago) by robwdcock
+Remove old unit test


Revision 663 - Directory Listing
Modified Fri Mar 24 09:26:58 2006 UTC (17 years ago) by robwdcock
+Remove old Sconstruct files


Revision 662 - Directory Listing
Modified Fri Mar 24 09:15:54 2006 UTC (17 years ago) by robwdcock
+Modellib now include in build


Revision 661 - Directory Listing
Modified Fri Mar 24 09:13:00 2006 UTC (17 years ago) by robwdcock
+py_tests now runs. Be patient, it is all of them!!


Revision 659 - Directory Listing
Modified Fri Mar 24 08:40:50 2006 UTC (17 years ago) by robwdcock
+Added dependency to libinstall. Painful because these tests should depend only on escript. Unfortunately some python unit tests are requiring finley to do stuff.


Revision 658 - Directory Listing
Modified Fri Mar 24 08:39:41 2006 UTC (17 years ago) by robwdcock
+Linker is sensitive to library order. mkl_solver needs to be near the
end or paradiso_ goes missing


Revision 656 - Directory Listing
Modified Fri Mar 24 08:12:40 2006 UTC (17 years ago) by robwdcock
+Add sys_libs to libraries to link with for escript


Revision 655 - Directory Listing
Modified Fri Mar 24 07:55:21 2006 UTC (17 years ago) by robwdcock
# fix some lib flags


Revision 654 - Directory Listing
Modified Fri Mar 24 07:35:06 2006 UTC (17 years ago) by robwdcock
+Opps, missed a file again


Revision 652 - Directory Listing
Modified Fri Mar 24 07:34:18 2006 UTC (17 years ago) by robwdcock
+Add py_tests targets and get script ones running


Revision 651 - Directory Listing
Modified Fri Mar 24 06:44:23 2006 UTC (17 years ago) by robwdcock
+Python file now compile and install into pyinstall directory


Revision 650 - Directory Listing
Modified Fri Mar 24 06:13:52 2006 UTC (17 years ago) by phornby
Builds and passes on linux (debian)



Revision 649 - Directory Listing
Modified Fri Mar 24 06:07:07 2006 UTC (17 years ago) by robwdcock
+Opps, helps if you include the two new files for Finley tests


Revision 648 - Directory Listing
Modified Fri Mar 24 06:04:57 2006 UTC (17 years ago) by robwdcock
+Finely unit tests now running in build system

All C++ tests run and compile on Altix, I expect the same result for Linux so you may not see another log message for that.



Revision 647 - Directory Listing
Modified Fri Mar 24 05:23:05 2006 UTC (17 years ago) by robwdcock
+ Prep for unit test consolidation consistent with other modules
NOTE: HBtest and MMtest appear to be stale tests and are not built using the scons system. They have been removed.


Revision 646 - Directory Listing
Modified Fri Mar 24 04:22:28 2006 UTC (17 years ago) by robwdcock
+ Now compiles and passes tests on AcCESS machine. Some minor mods to
the configuraiton file required as we've moved to the intel 9.0.026
compiler


Revision 642 - Directory Listing
Modified Thu Mar 23 14:03:49 2006 UTC (17 years ago) by robwdcock
+ Bruce unit tests consolidated and added to build system


Revision 641 - Directory Listing
Modified Thu Mar 23 14:02:26 2006 UTC (17 years ago) by robwdcock
+ First compilation under Linux with new xplatform build system. Some minor adjustments because didn't like None objects in a list so using '' instead
Note: Most everything appears to compile but the Data test suite is failing to pass in testMore - Exercise wherePositive method.
This test passes on altix.



Revision 640 - Directory Listing
Modified Thu Mar 23 13:45:12 2006 UTC (17 years ago) by robwdcock
+Preparing for unit test consolidation


Revision 639 - Directory Listing
Modified Thu Mar 23 13:06:40 2006 UTC (17 years ago) by robwdcock
+Unit tests for esysUtils and escript added


Revision 638 - Directory Listing
Modified Thu Mar 23 13:06:01 2006 UTC (17 years ago) by robwdcock
+Unit tests unified into escript_UnitTest
+SConscript support for build_tests and run_tests


Revision 636 - Directory Listing
Modified Thu Mar 23 09:46:31 2006 UTC (17 years ago) by robwdcock
Clean up test into single test suite and only one SConscript file so it is easier to maintain.
Note:
+ Use the command line options on tests in order to run only one of them if you need to
+ THIS DOESN'T WORK YET: I've not merged the tests, that will follow shortly
+ I do hope this merges with the changes on the trunk!


Revision 635 - Directory Listing
Modified Thu Mar 23 08:56:35 2006 UTC (17 years ago) by robwdcock
+EsysExceptionTest and build_tests and run_tests targets now operating as per original build system



Revision 634 - Directory Listing
Modified Thu Mar 23 06:03:46 2006 UTC (17 years ago) by robwdcock
+ Opps windows build wasn't getting options passed into environment!
Note: Windows build environment for intel_c compiler is only partially building. Looks like there will be a few source code adjustments necessary to tweak things. Still, much better than the msvc compiler. It also has openmp support - now I just need a dual core cpu notebook upgrade.

Revision 632 - Directory Listing
Modified Thu Mar 23 05:00:51 2006 UTC (17 years ago) by robwdcock
+Fix problem in setting flags when no options file is used

Revision 630 - Directory Listing
Modified Thu Mar 23 04:02:59 2006 UTC (17 years ago) by robwdcock
Some minor tweaks on the flags for the new build system


Revision 624 - Directory Listing
Modified Wed Mar 22 23:00:01 2006 UTC (17 years ago) by robwdcock
+ Finish off the header file path changes
+ The C/C++ libraries now all compile on the ivec altix (cognac) using the xplatform build system


Revision 623 - Directory Listing
Modified Wed Mar 22 14:11:03 2006 UTC (17 years ago) by robwdcock
Beginning of a fully cross-platform (win32+intelc, linux+g++, altix+intelc)
scons build system
WORK IN PROGRESS NOT COMPLETE
+Incorporates ideas from trunks scons build system and the RW_WIN32 branch
+New Header layout as include/<modulename>, hence the changes to the headers
+Not all modules or features from trunk build system are fully implemented
-Removes need for intermediary SConstruct files - the top SConstruct is more complex but handle cross-platform better AND the SConscript are a LOT simpler
and only differ slightly. It should be simpler to maintain
-Options are now handled via either a: config file supplied on command line, a config file in the scons/hostname_options.py, or as individual command line arguments
-Need help with options: scons -h will give you a list of options and their current settings



Revision 622 - Directory Listing
Modified Wed Mar 22 14:00:08 2006 UTC (17 years ago) by robwdcock
Creating a private branch so I can test and verify cross-platform build

Revision 333 - Directory Listing
Modified Wed Dec 7 08:00:54 2005 UTC (17 years, 3 months ago) by phornby
Getting to build on our altix to see if any of the source files have been broken by the windows changes.



Revision 332 - Directory Listing
Modified Wed Dec 7 07:50:18 2005 UTC (17 years, 3 months ago) by phornby
Split the include and lib dirs for python & boost.
Added the altix support to SConstruct & tidied the options handling a bit.



Revision 305 - Directory Listing
Modified Sat Dec 3 05:05:25 2005 UTC (17 years, 3 months ago) by robwdcock
+ Added default targets and test target aliases to control what is built better.

Revision 240 - Directory Listing
Modified Mon Nov 28 06:09:41 2005 UTC (17 years, 4 months ago) by robwdcock
+ Fixed problem with build paths for python tests being in the wrong location
+ Added build & run for python unit tests for escript and finley.

NOTES
+ scons defaults to building ALL targets so if will build everything, including running all tests. This behaviour can be modified by specifying the DEFAULT targets but I've not done this yet. In the interim specify the target you want.
+ Some dependencies need to be specified as scons does not figure them out automatically, though a helper scanner might be able to. These can be specified explicitly using scons Depend function. Not yet done so you can get an invalid build (especially in parallel). Examples include python depends on shared libraries, possibly a couple of library dependencies for install targets - need to verify. 

Revision 234 - Directory Listing
Modified Sun Nov 27 05:34:35 2005 UTC (17 years, 4 months ago) by robwdcock
Paso -> paso  - why do these changes just not stick!!!!

Revision 233 - Directory Listing
Modified Sun Nov 27 05:15:46 2005 UTC (17 years, 4 months ago) by robwdcock
fixed case for Paso/ includes to be paso/

Revision 232 - Directory Listing
Modified Fri Nov 25 09:59:48 2005 UTC (17 years, 4 months ago) by phornby
1) Rob, could you please set up your editor to not put CR's into the files.
2) The import esys.bruce fails on Linux, but the rest seems OK.

Here is how things go.

If a directory (bruce say) contains an __init__.py, then import esys.bruce actually imports
the __init__.py file. One can either phoney up the namespace by then saying

from bruce import *

in __init__.py (ugly!!) or just rename bruce.py to __init__.py.

All the sub-packages need this treatment. I suggest doing it with the .py files in the
source tree rather than re-naming at build time. Any other modules in the sub-directory
can then be imported into the __init__.py in the usual way in order to make them visible
to the user. Alternatively, any module not imported to __init__.py is invisible to the user.
This is much better than mucking with PYTHON_PATH and LD_LIBRARY_PATH, which has a tendency
to make everything visible, and creates module name clashes in site-packages on occasions. 
The .so associated with a sub-directory should reside with the corresponding __init__.py
that imports it.

Careful use of "from AClass import AClass" and "from ASharedLib import *" in __init__.py
is also a good method of making classes contained in submodules
look like they are in the namespace of the __init__.py, thereby hiding
the intervening module name from the user. That way esys.bruce.AClass.AClass can be morphed
into esys.bruce.AClass, eliminating the annoying intervening module namespace.



Revision 231 - Directory Listing
Modified Fri Nov 25 09:15:24 2005 UTC (17 years, 4 months ago) by phornby
Case sensitive file names.



Revision 230 - Directory Listing
Modified Fri Nov 25 06:51:36 2005 UTC (17 years, 4 months ago) by robwdcock
+ Added ability to RunPyUnitTests when anything they depend on changes (assuming all dependencies are set up that is). Only implemented for bruce/test/python at this stage

Revision 229 - Directory Listing
Modified Fri Nov 25 06:17:13 2005 UTC (17 years, 4 months ago) by robwdcock
+ Added Options capability
+ All py files are now compiled and installed into lib directory hierarchy
+ scons now reads custom options from custom.py. Examples are in the scons_custom_templates directory, just copy to top level build dir and rename to custom.py
+ scons_ext.py now has some helper functions for building pyc from python and running unit tests (but only when some dependency changes).



Revision 222 - Directory Listing
Modified Thu Nov 24 12:54:42 2005 UTC (17 years, 4 months ago) by robwdcock
+Unified with linux build (tested on windows only at this point)

Revision 221 - Directory Listing
Modified Thu Nov 24 11:23:33 2005 UTC (17 years, 4 months ago) by phornby
Builds on Linux. Changes to path names in top level
SConstruct will break the windows build. I've done my best
to not change anything else that would break windows, but
something might have slipped past.

Please check the finley_UnitTests.cpp, bruce_UnitTests.cpp and
escript_UnitTest.cpp (look at the TODO).



Revision 220 - Directory Listing
Modified Thu Nov 24 09:11:38 2005 UTC (17 years, 4 months ago) by robwdcock
Python compile builder function added to scons. Bruce sconscript file shows usage

Revision 219 - Directory Listing
Modified Thu Nov 24 08:21:21 2005 UTC (17 years, 4 months ago) by phornby
Case matters on Linux



Revision 218 - Directory Listing
Modified Thu Nov 24 07:42:12 2005 UTC (17 years, 4 months ago) by robwdcock
All C++/C Unit tests now build (using scons) and pass on win32

Revision 213 - Directory Listing
Modified Thu Nov 24 04:18:40 2005 UTC (17 years, 4 months ago) by robwdcock
SystemMatrixAdapterTestCase is broken and will not compile. Looks like it hasn't been updated to use Paso_SystemMatrix (used to be Finley_SystemMatrix?). I don't know the history so I'm moving the test out of the way for the moment.

Revision 212 - Directory Listing
Modified Thu Nov 24 04:16:33 2005 UTC (17 years, 4 months ago) by robwdcock
Reorganise the unit test source tree and how it operates. All tests in the suite are now compiled into a single executable. If for some reason you want to run just one then use the following syntax on the command line:
finley_UnitTests --suite=Atest,AnotherTest,YetAnotherTest,...



Revision 210 - Directory Listing
Modified Wed Nov 23 09:54:02 2005 UTC (17 years, 4 months ago) by robwdcock
PARTIAL WIN32 BUILD SYSTEM AND PORT
+ All libraries now build under new build system. No unit test routines yet
+ Reversed some incorrect refactorings in Bruce.cpp


Revision 209 - Directory Listing
Modified Wed Nov 23 06:32:25 2005 UTC (17 years, 4 months ago) by robwdcock
PARTIAL WIN32 BUILD SYSTEM AND PORT
+ bruce, escript build system and library now ported
+ other no longer necessary directories removed from this branches subversion repository


Revision 200 - Directory Listing
Modified Tue Nov 22 07:55:09 2005 UTC (17 years, 4 months ago) by robwdcock
PARTIAL WIN32 BUILD SYSTEM AND PORT
+ CppUnitTest build system and library now ported
+ make directory and other no longer necessary directories removed from this branches subversion repository
+ moved a few include files so they are now resident with sources. Build system will Install these to the appropriate location during build.

Revision 194 - Directory Listing
Modified Mon Nov 21 08:39:19 2005 UTC (17 years, 4 months ago) by phornby
Remove hanging }



Revision 186 - Directory Listing
Modified Sun Nov 20 10:51:16 2005 UTC (17 years, 4 months ago) by robwdcock
PARTIAL WIN32 PORT
+ Paso, ext_math and mmio libraries build using scons in top level directory
+ Scons build system currently hard coded against RW's third-party library paths.
+ Still lots TODO to complete port and build system 

Revision 185 - Directory Listing
Modified Sun Nov 20 05:43:12 2005 UTC (17 years, 4 months ago) by robwdcock
Robert Woodcock private branch for win32 port. Will eventually be merged with trunk when build systems are unified.

Revision 1 - Directory Listing
Added Wed Nov 2 04:33:37 2005 UTC (17 years, 4 months ago) by jgs
add branches/tags/trunk directories to esys13 repository


  ViewVC Help
Powered by ViewVC 1.1.26