Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »


Source uses the Microsoft .net framework, the problem was caused by 2 functions in the System.Math library. Both System.Math.Pow() and System.Math.Exp() can give different results for some number combinations on different machines. We believe the issue is from different CPU’s implementing different optimisations to perform the operations as efficiently as possible. They are actually implemented as C++ operations within the .net framework, so the nature of the interpreted .net framework wasn’t part of the issue. We have since tested all available System.Math functions and these are the only two we have found that can produce different results on different machines. The vast majority of models don’t see the issue since the differences are very minor and for an individual operation, the difference is only at the last decimal place. However, for very large models with lots of feedback in the model, when the issue occurs it can snowball into meaningful result differences.

To fix it, we implemented new versions of the two functions that produce consistent results on different machines. The problem has only been detected in 2 Source models, which happen to be 2 of the largest and most complicated. With the fix, we are now getting consistent results for both models, across different machines that were previously giving different results. There will be changes for Plugin developers to use the same functions we are using, instead of the inbuilt System.Math functions when using Pow or Exp.

We have approached Microsoft about the issue and they are yet to respond.

<Kuan: can you add in the link for the Microsoft post and include details about where the library currently is for plugin developers>




Words from Trudy: 

Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.


Plugins can now "unload" themselves from projects  Unable to locate Jira server for this macro. It may be due to Application Link configuration.


Recorder sets are better at picking up "not recorded" elements


Unable to locate Jira server for this macro. It may be due to Application Link configuration.


Plugin Developers

We are planning on moving to C# 7, Visual Studio 2019 and .net 4.7.2 soon, so you will need to make sure you have updated Visual Studio to continue developing plugins in the beta versions.

Regression Testing

Regression test repository changes since the first Source 4.8.2beta:
(warning) 20 Projects with results updated
(warning) 5 Projects edited assurance rule level

(plus)  3 Tests added

Details here: 4.8.3 Regression Test Changes


Insight

To run Insight, you also need to install the 32bit version of Microsoft Visual C++ 2010 Redistributable Package.
This installer is for both 32bit machines and 64bit machines since the library we use is 32bit: Microsoft Visual C++ 2010 Redistributable Package (x86).

Full Release Documentation

type key status summary assignee reporter

Unable to locate Jira server for this macro. It may be due to Application Link configuration.



  • No labels