fd19c4eedf
* Small changes, for some reason VS 2015 can't link cprintf and they added a second function std::map::count and bind couldn't resolve the function. Substituted with a lambda-expression. * Created all 64bit version of the 3rd party libs. * Cleanup popup opens CleanupSettings instead of CleanupSettingsPane. Not finished, panel is wrong now (also uses CleanupSettings). * Tried to get Twain working, failed. * When there are more then 3 peg holes create additional holes. * When a hole touches the boundary it should still be considered a hole. * Do not compare dot size against fixed size. Will not work in some scan resolutions. Used the same value (PERCENT * max dot size) as later in the code in compare_dots. * When there are more than three peg holes the code looked for the best fit and used that. The problem was, that the middle hole was used as center for auto center. For three peg holes that is correct, but does not work for more than three. Now the best fit is calculated and from there the offset of the middle of the three best fit holes is calculated and applied. * One of the last changes broke VS2015 compatibility, it chocked on a missing include. * fix for msvs2013 * revert autopos.cpp * apply clang-format * use GIT-LFS |
||
---|---|---|
.. | ||
SuperLU_4.1 | ||
libsuperlu_4.1.a | ||
README.txt | ||
SuperLU_2013_32.d.lib | ||
SuperLU_2013_32.lib | ||
SuperLU_2013_64.d.lib | ||
SuperLU_2013_64.lib | ||
SuperLU_2015_32.d.lib | ||
SuperLU_2015_32.lib | ||
SuperLU_2015_64.d.lib | ||
SuperLU_2015_64.lib |
To compile SuperLU: Use the Visual Studio project located in the /prj folder. IMPORTANT (THREAD-SAFETY): A slight modification had to be applied to the original sources of the used version (4.1). The edit concerns the presence of static variables, that make SuperLU *NOT* thread-safe. There is a SuperLU version for parallel architectures (SMT), but it's obviously geared toward internal thread management - which is not what we want. The only edit we've done, located in "dgstrf.c", fixes a crash when allocating resources for LU factorization: In "void dgstrf (..)": > /*static*/ GlobalLU_t Glu; /* persistent to facilitate multiple factors. */ /* DANIELE: tolto static, nocivo x multithread */ > memset(&Glu, 0, sizeof(GlobalLU_t)); // static inizializzava tutto a 0 There are other sparse static variables, which we've not had the time to double-check. Everything seems to work. In case it is necessary to further modify source files, remember fiy: * Files NOT starting with "d" - ie "double" - are not interesting; they are intended for single float and complex numbers, we're only sticking to doubles. * We're mainly interested in LU factorization, meaning only dgstrf ramification should be tracked.