Releases
sdeverywhere-v0.6.0
0.6.0 (2022-06-04)
Features
add runModelWithBuffers
entry point that takes pre-allocated input/output buffers (#50 ) (083109a ), closes #49
add basic support for GET DATA BETWEEN TIMES function (#42 ) (8a294aa ), closes #33
add sde command for flattening parent+submodels (#59 ) (50e11ec ), closes #58
add support for external data variables that use subscript or dimension (#41 ) (035ab5c ), closes #32
add support for external data variables with > 2 dimensions (#47 ) (6683e63 ), closes #45
allow for specifying I/O variables using Vensim names in spec file (#61 ) (a6bc98d ), closes #60
implement ALLOCATE AVAILABLE function (#106 ) (ebd0311 )
implement DELAY FIXED function (#108 ) (bd3b3e8 ), closes #29
implement GET DIRECT CONSTANTS for CSV (#86 ) (beedd4f )
implement GET DIRECT DATA for CSV (#82 ) (b40e738 ), closes #81
implement GET DIRECT LOOKUPS including a test model (#99 ) (47f6fe5 ), closes #98
implement GET DIRECT SUBSCRIPT for CSV (#79 ) (51691e7 )
implement NPV function (#95 ) (9fa17eb ), closes #94
implement QUANTUM function (#89 ) (42225f9 ), closes #87
implement the <-> subscript alias operator (#80 ) (a43917f ), closes #78
increase the number of dimension and array loop index vars (#138 ) (4c66470 ), closes #137
remove inline comments in the preprocessor (#74 ) (d23b1c3 )
sort equations alphabetically when preprocessing mdl file (#56 ) (bb968f7 ), closes #55
Bug Fixes
abort code generation on finding a lookup of size zero (#162 ) (44c1202 ), closes #161
add async and await to some chained cli functions (#37 ) (afdbb77 ), closes #35
allow > 2 dimensions when generating Vensim array names (#155 ) (6575ea9 ), closes #154
allow extra index subscripts in 2D const lists (#110 ) (f5494af ), closes #109
allow GET DIRECT CONSTANTS to use 2 subscripts in the same family (#144 ) (e53d876 ), closes #143
correct declarations when subscripted variable is initialized from data and constants (#116 ) (7c51641 ), closes #115
correct GET DIRECT DATA with mapped dim by directly comparing indices (#146 ) (fa2097b ), closes #145
correct initialization of 2D arrays to allow dimensions with matching subscript names (#101 ) (2ed7e42 ), closes #84
emit any expression for the offset arg of VECTOR ELM MAP (#129 ) (bd0a724 ), closes #128
exclude data vars from initLevels (#127 ) (93a49cf ), closes #126
expand references to vars with any number of separated dimensions (#112 ) (0d0d40e ), closes #111
expand variables allowing for any number of indices in EXCEPT clause (#118 ) (d92343e ), closes #117
fix LOOKUP FORWARD to correctly handle fractional inputs (#38 ) (c1f9580 ), closes #36
generate correct references for the ALLOCATE AVAILABLE priority profile (#136 ) (b1d8ae2 ), closes #135
get direct data offset from the separated dimension (#114 ) (ebbaa01 ), closes #113
handle subdimensions correctly for GET DIRECT CONSTANTS and fix EXCEPT handling (#125 ) (2fdfb34 ), closes #124 #134
handle subscripts correctly when nested in expr within array function call (#48 ) (b2458ab ), closes #46
make sde log
wait for DAT file to be fully written and improve error handling (#123 ) (34f25f8 ), closes #122
make browserify an optional dependency (#53 ) (e9bbbc6 ), closes #52
make flatten command work when equations don't include continuation backslash (#173 ) (ac7c027 )
prevent memory leaks in fixed delay initialization (#160 ) (e158b2f ), closes #159
record variants of a subscripted variable in removeUnusedVariables (#65 ) (f6d7035 ), closes #64
refine the ALLOCATE AVAILABLE search algorithm (#141 ) (bca43a0 ), closes #139
remove fcmp library and rewrite expressions without using its macros (#131 ) (df76872 ), closes #107
remove unnecessary memcpy loop in lookup data initialization (#166 ) (b94d9c4 ), closes #165
set model directory in the sde causes command (#142 ) (44d326e ), closes #140
take DELAY FIXED value from input when delay time = 0 (#148 ) (328d050 ), closes #147
terminate generated equations with ~~| (#120 ) (44d1c2a ), closes #119
use a global replace to join multiple line Vensim equations in comments (#175 ) (678f2bb )
use case-insensitive sort and remove trailing whitespace in preprocessor (#57 ) (d58390a ), closes #55
use chunkedFunction to break up initLookups into smaller functions (#133 ) (bad4580 ), closes #132
use correct subdimension index for delay aux vars (#92 ) (7158b0f ), closes #91
use subdim indices for GET DIRECT DATA (#164 ) (d7b46c6 ), closes #163
wrap conditional branch expression in parentheses when optimizing IF THEN ELSE (#153 ) (bd42d54 ), closes #152
Performance Improvements
cache last input and last accessed index for faster lookups (#43 ) (0933a89 ), closes #34
cache parsed CSV file data and replace Array with Set to improve code gen performance (#168 ) (58a45ba ), closes #167
improve code gen performance by avoiding linear searches (#63 ) (d4bf555 ), closes #62
optimize IF THEN ELSE for cases where condition expression resolves to a constant (#103 ) (f9ef675 ), closes #102
remove variables that are not referenced by input or output variables (#44 ) (6c80c59 ), closes #1
You can’t perform that action at this time.