tahoma2d/thirdparty/superlu
Shinya Kitaoka fd19c4eedf Support Visual Studio 2015 (#544)
* 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
2016-07-04 17:50:30 +09:00
..
SuperLU_4.1 Support Visual Studio 2015 (#544) 2016-07-04 17:50:30 +09:00
libsuperlu_4.1.a Add 3rd party libraries 2016-03-24 01:31:57 +09:00
README.txt Add 3rd party libraries 2016-03-24 01:31:57 +09:00
SuperLU_2013_32.d.lib Support Visual Studio 2015 (#544) 2016-07-04 17:50:30 +09:00
SuperLU_2013_32.lib Support Visual Studio 2015 (#544) 2016-07-04 17:50:30 +09:00
SuperLU_2013_64.d.lib Support Visual Studio 2015 (#544) 2016-07-04 17:50:30 +09:00
SuperLU_2013_64.lib Support Visual Studio 2015 (#544) 2016-07-04 17:50:30 +09:00
SuperLU_2015_32.d.lib Support Visual Studio 2015 (#544) 2016-07-04 17:50:30 +09:00
SuperLU_2015_32.lib Support Visual Studio 2015 (#544) 2016-07-04 17:50:30 +09:00
SuperLU_2015_64.d.lib Support Visual Studio 2015 (#544) 2016-07-04 17:50:30 +09:00
SuperLU_2015_64.lib Support Visual Studio 2015 (#544) 2016-07-04 17:50:30 +09:00

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.