mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-07-09 06:31:47 +08:00

m_deviceProperties and m_devicePropInitialized are defined as global statics which will define multiple copies which can cause issues if initializeDeviceProp() is called in one translation unit and then m_deviceProperties is used in a different translation unit. Added inline functions getDeviceProperties() and getDevicePropInitialized() which defines those variables as static locals. As per the C++ standard 7.1.2/4, a static local declared in an inline function always refers to the same object, so this should be safer. Credit to Sun Chenggen for this fix. This fixes issue #1475. (cherry picked from commit 3804ca0d905a0a03357db50abc7468f5f90abc98)
This directory contains contributions from various users. They are provided "as is", without any support. Nevertheless, most of them are subject to be included in Eigen in the future. In order to use an unsupported module you have to do either: - add the path_to_eigen/unsupported directory to your include path and do: #include <Eigen/ModuleHeader> - or directly do: #include <unsupported/Eigen/ModuleHeader> If you are interested in contributing to one of them, or have other stuff you would like to share, feel free to contact us: http://eigen.tuxfamily.org/index.php?title=Main_Page#Mailing_list Any kind of contributions are much appreciated, even very preliminary ones. However, it: - must rely on Eigen, - must be highly related to math, - should have some general purpose in the sense that it could potentially become an official Eigen module (or be merged into another one). In doubt feel free to contact us. For instance, if your addons is very too specific but it shows an interesting way of using Eigen, then it could be a nice demo. This directory is organized as follow: unsupported/Eigen/ModuleHeader1 unsupported/Eigen/ModuleHeader2 unsupported/Eigen/... unsupported/Eigen/src/Module1/SourceFile1.h unsupported/Eigen/src/Module1/SourceFile2.h unsupported/Eigen/src/Module1/... unsupported/Eigen/src/Module2/SourceFile1.h unsupported/Eigen/src/Module2/SourceFile2.h unsupported/Eigen/src/Module2/... unsupported/Eigen/src/... unsupported/doc/snippets/.cpp <- code snippets for the doc unsupported/doc/examples/.cpp <- examples for the doc unsupported/doc/TutorialModule1.dox unsupported/doc/TutorialModule2.dox unsupported/doc/... unsupported/test/.cpp <- unit test files The documentation is generated at the same time than the main Eigen documentation. The .html files are generated in: build_dir/doc/html/unsupported/