[root]/testsuite/flattening/modelica/algorithms-functions
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 758 (100.0%) | 6973 (100.0%) | 9.1 |
alash325 | 449 (59.2%) | 5675 (81.4%) | 12.6 |
hudson | 119 (15.7%) | 494 (7.1%) | 4.1 |
perost | 35 (4.6%) | 324 (4.6%) | 9.2 |
sjoelund.se | 87 (11.5%) | 272 (3.9%) | 3.1 |
adrpo | 50 (6.6%) | 165 (2.4%) | 3.3 |
lochel | 5 (0.7%) | 26 (0.4%) | 5.2 |
mahge930 | 8 (1.1%) | 12 (0.2%) | 1.5 |
vitalij | 3 (0.4%) | 3 (0.0%) | 1.0 |
leonardo.laguna | 2 (0.3%) | 2 (0.0%) | 1.0 |
- Keep restrictions.
1 lines of code changed in 1 file:
Fix parsing
4 lines of code changed in 3 files:
Fix parsing
12 lines of code changed in 8 files:
+ Removed some unnecessary asub creations.
+ consider subscripts when looking for cref dependencies.
6 lines of code changed in 2 files:
[Janitor mode] Set auto-props
1 lines of code changed in 1 file:
- Improved the handling of if-expressions to better handle arrays with different
sizes in the branches.
30 lines of code changed in 2 files:
- Fixed testsuite makefile.
2 lines of code changed in 1 file:
#2862 - testing performance of not replacing `size(exp, 1)` with a non-constant expressions
16 lines of code changed in 2 files:
Fix bug: #2854 (do scope versioning also in the top scope, but not for builtin classes and builtin types)
- note that flattening/modelica/declarations/Constant12.mo is actually correct now,
see m:#1397, well, except for the fact that it should tell that A.y does not have a binding
52 lines of code changed in 2 files:
Merged branches/FFrontEnd into trunk/
Main changes:
- changed the environment to support both non-destructive and destructive updates
- Env.Cache -> FCore.Cache, Env.Env -> FCore.Graph
- FCore.Graph is not a list of Frames anymore is a stucture where the previous list is saved in component "scope"
- all Frames in the new FCore.Graph are FCore.Ref pointing to FCore.Node having different FCore.Data depending on what they are
- all FCore.Nodes have children (FCore.CAvlTree) which maps names to FCore.Ref (which is Array<FCore.Node>, size 1)
- FGraph.openScope pushes an already existing FCore.Ref (or a new one) on the scope list
- for all components having modifications the last class in the type path is renamed to include the
prefix, see FGraph.createVersionScope (this is done because we need unique names for redeclared functions,
records, etc and we need a unique type scope for that)
Example: A.B.C c -> A.B.C$c c
Bug fixes:
- calling function via component (multibody MSL 3.2.1 patch not needed anymore, will remove it in a next commit)
- #2837 array equations wrongly handled in RemoveSimpleEquations (used in ThermoPower and PowerSystems libraries, etc)
#2784, #2727, #2739 (missing modifiers combined with redeclare and unique function generation for redeclared functions)
#2835 - handle overconstrained connectors extending basic types (used in PowerSystems library)
- do not loose modifications on derived classes handled by InstExtends
- some error messages about missing components in Fluid library are gone
- for components of size 0 do not check if they are assigned before use in functions (residue in equalityConstraint)
10 lines of code changed in 1 file:
#2804 Optimize `(x,_,_) = fn(y)` into `x = TSUB(fn(y),1)`.
Triggered some unwanted optimisations/inlining of function calls that were handled by forcing ceval of some function calls in the backend
3 lines of code changed in 2 files:
+ Propagate dimensions in prefixes so that qualified crefs get the correct type and dimension.
+ Fix wrong uses of subscripts as dimensions.
- Disable non-expanded array compilation test for now. It is broken.
1 lines of code changed in 1 file:
#2786
- Fix code generation for multiple iterators (threaded)
- Ceval constant function calls in the front-end
5 lines of code changed in 3 files:
Fix for #2806:
- Remove input/output from variables which are not at top-level or inside a
top-level connector.
1 lines of code changed in 1 file:
Fix Expression.isConst to also work for function calls.
Changed most ExpressionSimplify routines to call isConstValue instead (since they try to do things like constant folding which fails for compound expressions anyway).
1 lines of code changed in 1 file:
#2770 Handle vectorization of function calls with unknown array dimensions better
1 lines of code changed in 1 file:
CevalFunction: Handle `size(arr,1)` where arr is an array with unknown dimensions (previously, 0 was used regardless if the array had been assigned to)
30 lines of code changed in 2 files:
+ Fix #2688. Removed replacing of loop iterator dependent crefs with ASUB expressions.
3 lines of code changed in 3 files:
Fix for #2729:
- Don't try to evaluate crefs which are not function parameters when resolving
default bindings in Static.addDefaultArgs.
- Some random code improvements.
33 lines of code changed in 2 files:
Fix some of the sorting of components based on dependencies in the bindings
- Would silently fail in some cases in the past
- Some models now give no warnings in compile-time and run-time
- AIMS_Start gives a different result for one variable
- UnevaluateableFixedAttribute.mos gives different results for RML and bootstrapped omc versions
1 lines of code changed in 1 file:
- Improved DAEDumpTpl and switched to it as default.
- Untupled min and max in DAE.VariableAttributes.
1 lines of code changed in 1 file:
Various bugfixes and new features
- A new implementation for overloaded (binary) operators.
* Follows the specification more strictly and produces less fewer warnings for legal code
* matrix*matrix and matrix*vector uses reduction expressions to implement sum and array
* Checked that inlining of the generated functions works and produces simple expressions
* The code has been split into its own file since it is 2200 LOC and very few things in there actually depend on Static.mo (most of the remaining ones should be refactored)
- Implemented inlining of functions that assign to record members instead of call the record constructor in a single statement
- When evaluating function inputs to determine output array dimensions, keep the evaluated results
- Adding new preOptModule evaluateReplaceProtectedFinalEvaluateParameters which replaces evaluateReplaceFinalEvaluateParameters as a default module
* Causes problems for NPendulum.mos and PrismaticConstraint. They have different preOptModules set in the tests
- Added simulation flag `-abortSlowSimulation` used for the library tests in the testsuite
- EngineV6 now causes chattering behaviour. It was set to a Compilation test.
* The test will not spin thanks to the `-abortSlowSimulation` flag
- Improve elaboration, simplification, evaluation, and code generation for reductions
* Each operator now has unique indexes to avoid conflicts when replacing iterator crefs
* We can now simplify user-defined operators
* Added a new kind of mode for reductions: DAE.THREAD(), as opposed to the standard DAE.COMBINE()
- When we have multiple iterators, the default DAE.COMBINE() is used and iterates over all combinations of the expressions in the iterators. DAE.THREAD() instead assumes the arrays have equal length and folds over the reduction expression with the n-th expression in each iterator at a time. Used by operator overloading to implement element-wise and `sum` operations.
* This changes the DAE slightly
- Implemented DAE.FuncArg as a uniontype instead of tuple (DAE change)
- Some better simplification for ASUB (ranges and reductions)
- And some more things. Hopefully the major changes are all listed.
3 lines of code changed in 2 files:
[Janitor mode] Fix whitespace
378 lines of code changed in 103 files:
- Added testcase for #2662 too.
37 lines of code changed in 2 files:
Improve error-message for type mismatch in function calls when there is only one candidate function
4 lines of code changed in 2 files:
Error handling updates
- Strip trailing whitespace from error-messages (error-messages add a trailing newline by default; we do not want 2 of them)
- Register Modelica*Error functions in ErrorExt.mo (for the bootstrapped compiler)
- This means we can use Modelica libraries and simply treat ModelicaError in an external function as Error.addMessage + throw()
0 lines of code changed in 1 file:
[Janitor mode] Set auto-props
2 lines of code changed in 2 files:
Fix for #2366 and #2640:
- Implemented evaluation of default arguments in function calls.
71 lines of code changed in 3 files:
- Output fewer errors when doing partial function type instantiation
0 lines of code changed in 1 file:
- simplify rule x/r = x *(1/r) with test of numerical issues
can someone have a look of
./simulation/libraries/3rdParty/ThermoSysPro/ThermoSysPro.Examples.SimpleExamples.TestJunctions4.mos
3 lines of code changed in 3 files:
#2529
- Vectorize function calls with DIM_EXP() as dimension
32 lines of code changed in 2 files:
- expected results after revert of r17842
1 lines of code changed in 1 file:
Recommit r17828. Updated expected outputs.
1 lines of code changed in 1 file:
- Inline rem() operator so it's not output in flat code.
0 lines of code changed in 1 file:
- last fixes for ExternalMedia
+ fully qualify paths in ClassInf.State
+ do List.unique on records so we don't get duplicates
+ now at least 5 models in ExternalMedia can be compiled
- fix an issue with lookup where path to be looked up
contains the name of the model in the scope we're in.
this fixes instantiation of
ThermoPower.Examples.BraytonCycle.ClosedLoopSimulator,
probably more models in ThemoPower.
added test:
testsuite/flattening/modelica/others/ThermoPower.Examples.BraytonCycle.ClosedLoopSimulator.mos
2 lines of code changed in 2 files:
- fix bug #2363
- keep smooth(0, ...) in Static.mo
- handle smooth(0, ...) in Ceval.mo (smooth(0, constant) -> constant)
- handle smooth in Codegen.tpl
- update expected output for tests
- NOTE: Modelica.Electrical.Analog.Examples.SimpleTriacCircuit gives small numeric differences, use the OpenModelica result file
1 lines of code changed in 1 file:
Fix for bug: #2346
- sort also the variable components for instantiation based on their bindings
- sort the DAE in the order it is defined in the Modelica file
11 lines of code changed in 5 files:
- do not collapse (initial) algorithms for dumping
5 lines of code changed in 3 files:
- fix tests
16 lines of code changed in 1 file:
- Reverting my previous commit to fix the test
1 lines of code changed in 1 file:
(27 more)