You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Not so much an issue but more a look into it at a later date. Original C++ version of chrono uses templates for the Matrix and other core classes, like Vector and Quaternion, so you can pass a int, float, double or long precision, now C# Generics work in a different way to C++ templates, C# uses full object oriented programming so templates are resolved and compile time whereas Generics continue into runtime.
So, the main problem I have here is that if I use Generics for the core classes you can not use mathematics unless I use the dynamic conversion. At the early time I didn't see an issue with this until I ran into cpu ms issues, when I ran some speed tests I noticed if I used a dynamic conversion on mathematics, eg.
T a;
T b;
a += (dynamic)b;
This appeared to run 20x slower than if it used doubles with not dynamic.
So for now the core classes are not Generic, it is just double precision type.
The text was updated successfully, but these errors were encountered:
Not so much an issue but more a look into it at a later date. Original C++ version of chrono uses templates for the Matrix and other core classes, like Vector and Quaternion, so you can pass a int, float, double or long precision, now C# Generics work in a different way to C++ templates, C# uses full object oriented programming so templates are resolved and compile time whereas Generics continue into runtime.
So, the main problem I have here is that if I use Generics for the core classes you can not use mathematics unless I use the dynamic conversion. At the early time I didn't see an issue with this until I ran into cpu ms issues, when I ran some speed tests I noticed if I used a dynamic conversion on mathematics, eg.
T a;
T b;
a += (dynamic)b;
This appeared to run 20x slower than if it used doubles with not dynamic.
So for now the core classes are not Generic, it is just double precision type.
The text was updated successfully, but these errors were encountered: