Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 52 (100.0%) | 539 (100.0%) | 10.3 |
sjoelund.se | 18 (34.6%) | 249 (46.2%) | 13.8 |
adrpo | 6 (11.5%) | 101 (18.7%) | 16.8 |
perost | 15 (28.8%) | 96 (17.8%) | 6.4 |
Frenkel TUD | 8 (15.4%) | 65 (12.1%) | 8.1 |
mahge930 | 1 (1.9%) | 28 (5.2%) | 28.0 |
alash325 | 4 (7.7%) | 0 (0.0%) | 0.0 |
_Moved /testsuite/benchmarks to testsuite/openmodelica
0 lines of code changed in 4 files:
- Changed Util.swap to work as expected (i.e. swap on true).
14 lines of code changed in 1 file:
#1829
- Fixes lookup of short class definitions in MetaModelica code
5 lines of code changed in 2 files:
#1801
- Fix problem with matrix-vector operations being converted into array-multiplication of vector and scalar
- All tests that worked still work except for one: ./libraries/msl31/simulate/Modelica.Mechanics.MultiBody.Examples.Elementary.PointGravityWithPointMasses2.mos, presumably because of a better solution now
14 lines of code changed in 1 file:
#1767
- Marked strings for translation in Error.mo
- Removed some useless whitespace from a few error-messages
2 lines of code changed in 1 file:
- fix tests
3 lines of code changed in 1 file:
- Implemented a new template based expression dumping.
- Updated test suite.
26 lines of code changed in 1 file:
+ The test-suite makefile now contain DEPENDENCIES. This are the files that are needed for the test cases.
+ "make clean" or (make -j clean) will clean the test-suite. i.e. all files that are not listed as DEPENDENCIES will be cleaned.
For OMDEV/MINGW ppl (linux already has partest)
+ "make threaded" will clean and then run the test-suite with 5 threads (my pc has 4 cores so :) ). (or just use "make -jN")
- 'msl31simulation.log' and 'msl31mediasimulation.log' still give problems with multiple threads. Very strange problem since the
output matches exactly with the expected but for some reason it is compared with outputs from another file. But For now this might help a bit.
Normal test-suite operation is not affected in anyway as far as I can tell. (Just some additions)
28 lines of code changed in 1 file:
- Improved modification handling in SCodeInst.
1 lines of code changed in 1 file:
- Fixed error message in BackendDAEOptimize.partitionIndependentBlocksSplitBlocks
for over/underdetermined equation systems.
- Updated dependency/Modelica.Mechanics.MultiBody test.
10 lines of code changed in 1 file:
- Expected output
17 lines of code changed in 1 file:
HUGE update to SVN with *a lot* of changes: DO MAKE CLEAN!
==========================================================
- The DAE.ExpType is *no more*
- The BackendDAE.Type is *no more*
Both got replaced by DAE.Type!
- The DAE.ExpVar is *no more*
It got replaced by DAE.Var!
Now we have *ONLY ONE* type in the compiler: DAE.Type!
Just to know why I got this done:
BEFORE, the model HumMod took 6m51 seconds to instantiate
adrpo@ida-liu050 ~/dev/OpenModelica/doc/performance/benchmarks/tests
$ time /c/OpenModelica1.8.0-r10584/bin/omc instHumMod.mos > trace.txt 2>&1
real 6m51.354s
user 0m0.000s
sys 0m0.015s
AFTER, the model HumMod takes 47 seconds to instantiate
adrpo@ida-liu050 ~/dev/OpenModelica/doc/performance/benchmarks/tests
$ time ../../../../build/bin/omc instHumMod.mos > mytrace.txt 2>&1
real 0m47.248s
user 0m0.000s
sys 0m0.000s
Is about 8,74468085106383 times faster now.
Basically, before, we were doing DAE.T_*
-> DAE.ET_* translation for 6 minutes!
I started this work on Friday after the OpenModelica 1.8.0
got released, so for 4+ days of work I think the result is
quite OK.
Crash course into the new types (actually old ones from DAE.Type):
==================================================================
1. DAE.Type is not a tuple anymore, instead the optional path
became DAE.TypeSource which is a list of paths and is now
part of *all* the records in DAE.Type.
The needed types from DAE.ExpType got merged into DAE.Type:
DAE.ET_METATYPE -> DAE.T_METATYPE
DAE.ET_FUNCTION_REFERENCE_VAR -> DAE.T_FUNCTION_REFERENCE_VAR
DAE.ET_FUNCTION_REFERENCE_FUNC -> DAE.T_FUNCTION_REFERENCE_FUNC
Some DAE.Type types got split:
DAE.T_COMPLEX split into DAE.T_COMPLEX for types not extending
basic types and DAE.T_SUBTYPE_BASIC is now used for types
extending basic types.
Some DAE.Type types changed name:
DAE.T_NOTYPE -> DAE.T_UNKNOWN
Renamed also the meta-types a bit to make them more homogeneous.
Some DAE.ExpType are gone:
DAE.ET_OTHER is gone, use DAE.T_UNKNOWN instead!
Some DAE.Type types changed structure (besides the DAE.TypeSource addition):
(DAE.T_ARRAY(dim, ty), optPath) -> DAE.T_ARRAY(ty, list<dim>, list<Path>)
so we now have similar structure for DAE.T_ARRAY and the previous DAE.ET_ARRAY.
2. In cases, when matching:
Instead of | Use now:
-------------------------------------------------------
DAE.ET_INT() | DAE.T_INTEGER(source = _)
DAE.ET_REAL() | DAE.T_REAL(source = _)
DAE.ET_BOOL() | DAE.T_BOOL(source = _)
DAE.ET_STRING() | DAE.T_STRING(source = _)
DAE.ET_ENUMERATION(...) | DAE.T_ENUMERATION(...)
DAE.ET_COMPLEX(...) | DAE.T_COMPLEX(...)
DAE.ET_OTHER(...) | DAE.T_UNKNOWN(source = _)
DAE.ET_ARRAY(...) | DAE.T_ARRAY(...)
-------------------------------------------------------
3. When constructing values, in the then part or in right
hand side in equations:
Instead of | Use now:
-------------------------------------------------------
DAE.ET_INT() | DAE.T_INTEGER_DEFAULT
DAE.ET_REAL() | DAE.T_REAL_DEFAULT
DAE.ET_BOOL() | DAE.T_BOOL_DEFAULT
DAE.ET_STRING() | DAE.T_STRING_DEFAULT
DAE.ET_ENUMERATION(...) | DAE.T_ENUMERATION(...)
DAE.ET_COMPLEX(...) | DAE.T_COMPLEX(...)
DAE.ET_OTHER(...) | DAE.T_UNKNOWN(source = _)
DAE.ET_ARRAY(...) | DAE.T_ARRAY(...)
-------------------------------------------------------
4. Types.elabType got renamed to Types.simplifyType
and does some type simplification (instead of the
previous DAE.T_* -> DAE.ET_* translation).
Feel free to ask me anything if something is unclear.
The code can be further improved (we need better handling
of DAE.T_ARRAY that has several dimensions instead of one)
by getting rid of Types.simplifyType/Types.expTypetoTypesType,
but for now is good enough. Also, functionality for the old
DAE.ET_* handling from Expression*.mo can be merged with the
DAE.T_ handling from Types so we can get rid of duplicate
code too.
8 lines of code changed in 1 file:
Error.mo
- typo fix
DAEUtil.mo
- better error messages
Inst.mo
- sort innerouter after the element dependency analysis
- add record constructors that are function inputs to the DAE (IdealGasH2O now compiles but has dassl issues)
- speedup Inst.makeFullyQualified a bit
InstExtends.mo
- more fix* calls which were missed
Interactive.mo
- use System.get/setPartialInst instead of RTOpts debug flags as they are REALLY slow
- this will speed up the MSL query for qt & java clients a bit.
SimCodeC.tpl
- use -O0 when running the testsuite.
Derive.mo
- better printout for derivative function error message
testsuite/
- update tests (more record constructors now)
- add one more to Media simulation and 2 more to Fluid flattening
mingw makefiles
- use wget (will be replaced by svn put into OMDev later)
to fetch revision number and put it part of the OMC version
11 lines of code changed in 1 file:
- include the modifiers and dimensions in the dependency analysis in Inst.instElementList
- move annotation checking functions from DAEUtil to SCode.
- convert type of the Value in the binding if needed (to get rid of things like min = 0, instead of min = 0.0)
- in partial instantiation disregard parameters, instantiate only constants.
- rename the really bad name "subs" to restCref in Static.elabCrefSubs.
- clear errors when loadingFileInteractiveQualified API and parseFile API
- added vaporizing.mo test
- a LOT of tests have changed
- small fixes to tools/validatetest/validatetest.pl
16 lines of code changed in 1 file:
- Fixed spelling in testcases too.
3 lines of code changed in 2 files:
- Added a flag to OMC, +std, to set the Modelica language version to use. API
calls setLanguageStandard and getLanguageStandard are also implemented for
this.
- The Modelica language version is now set automatically if a specific version
of the MSL is loaded, and gives a notification if the version has changed.
- Added new package RTOptsData, which contains data types and some functions
which can't be in RTOpts since RML doesn't allow mixing external and
non-external things.
- Turned on error messages for replaceable base classes if Modelica version is
at least 3.0.
- Turned on balance checking of connectors if Modelica version is at least 3.0.
- Updated test suite, and added a new test case redeclare/ReplaceableBaseClass.
1 lines of code changed in 1 file:
- Made the dumping of external declarations better.
- Changed so that only constant complex equations are constant evaluated in
InstSection.instEqEquation2.
- Added handling of integers in omc-diff, so that integers are compared exactly
(otherwise we allow a relative error for line numbers in errors).
2 lines of code changed in 1 file:
- Reimplemented connection handling to be more efficient.
2 lines of code changed in 1 file:
- Removed cref filter argument in call to Inst.instClassIn in Lookup.lookupVarInPackages.
This makes the whole test suite ~35% faster, and some media tests ~97% faster.
- Updated test suite.
18 lines of code changed in 2 files:
- Added flag to Inst.instElement to ignore failed elements, which is used by
Inst.partialInstClassIn to allow Lookup to find elements in packages that
contain components with unknown dimensions.
- Updated test suite.
1 lines of code changed in 1 file:
- Integrated the uses annotation with the loadModel command
1 lines of code changed in 1 file:
- Changed the installed library structure to omlibrary/Modelica 3.1 instead of omlibrary/msl31/Modelica
- Testcases now use loadModel(Modelica,{"3.1"}), etc, instead of env.vars
2 lines of code changed in 1 file:
- Added rule to simplify x+x+x-x-x=x
8 lines of code changed in 1 file:
Fix for big #1224:
- Added dumping of function comments to DAEDump.
- Updated test suit.
8 lines of code changed in 1 file:
- CevalSrcipt use BackendDAEOptimize.countSimpleEquations for checkModel (speedup testsuite)
3 lines of code changed in 1 file:
- Enabled SCodeFlatten by default.
- Updated the test suite to comply with SCodeFlatten.
8 lines of code changed in 1 file:
- bugfix removeSimpleEquation, do not remove toplevel inputs
2 lines of code changed in 1 file:
- BackendDAEOptimize.mo:
- remove old remove simple Equation
- add remove equal function calls equations module
- use new remove simple Equation for Linearization
- BackEnd/BackendDAEUtil.mo
- change incidenceMatrix, now it generates the incidenceMatrix and the transposed incidenceMatrix at once
- use removeFinalParameters,removeEqualFunctionCalls,removeSimpleEquations,expandDerOperator as default preOptModules
- BackendDump.mo: add function debuglst
- update testsuite
3 lines of code changed in 1 file:
- Use simplify1 instead of simplify in many places of the FrontEnd
- simplify now returns a Boolean that signifies if the expression has changed
12 lines of code changed in 1 file:
- BackendDAEOptimize.mo: remove simple equations b = der(x)
- Bugfix for removeParameterEqns
- new module removeProtectedParameters
- update testsuite cause of new case for remove simple eqs
51 lines of code changed in 1 file:
- ExpressionSimplify: bugfix for simplifyVectorBinary0
- fix first part of testsuite
2 lines of code changed in 1 file:
- Fixed line endings of several files
1 lines of code changed in 1 file:
- Updated tests due to commit 7901 by Jens, which changed the number of
equations and variables in some tests.
2 lines of code changed in 1 file:
- Expected output
144 lines of code changed in 1 file:
#1373
- Added Absyn.Info to SCode.EXTENDS
- Added a warning when extending from a function containing an external declaration
1 lines of code changed in 1 file:
- BackendDAETransform.mo
- got ride of some unused print calls
- BackendDump.mo
- add function dumpStateVariables
- fix tests from testcase, now more trivial equation are detected
1 lines of code changed in 2 files:
- Guard parser/ParseModel files from svn-eol-style script
34 lines of code changed in 3 files:
- Fix dependency/Makefile clean (works now that the mos-file is there)
1 lines of code changed in 1 file:
- Update dependency/Makefile
1 lines of code changed in 1 file:
- added missing testsuite/dependency/DependencyChecking.mos
11 lines of code changed in 1 file:
(2 more)