* [BUG FIX] ICB using rvec/select: rvec/select turned to integer.
bool should be, but, is not always supported (depend on compiler, options).
* [CLEAN] arpackSolver API: clean + more convenient.
The idea is:
- cmake generates arpackdef.h from arpackdef.cmake.h.in
- autoheader generates arpackdef.h from arpackdef.autotools.h[.in]
- arpack includes arpackdef.h when/where needed:
- #define provide c_int/a_int according to architecture.
- all f90 who need to include "arpackdef.h" must be moved to F90.
Note: by convention, F90 are preprocessed (f90 are not).
- MPI does not support ILP64: integer*4 must be imposed in all
calls involving MPI (f90 example/test code).
To enable ILP64 users to compile/link, arpackdef.h is added in
the arpack installation (make install).
Cosmetic bug ("better" way to get same thing - without this, sigma which
is used as an input, is implicitely converted from real to complex. Same
thing for the callee, but more "logical" for the caller).
CI fails because of -0.2% coveralls reg + noticed that cnappas.f and
friend are NOT fully covered => turn ALL flags to 1 hoping this will
get back a +0.2% coverage...
Fortran's logical type has size of 4 bytes, while C and C++ have
sizeof(bool)==1. Thus it's no good to pass bool[ncv] array to a function
expecting logical(ncv).
Currently attempt to do this results in successful compilation and
subsequent buffer overflow in e.g. dseupd_c. This is actually caught at
run time by gcc>=5 by its stack smashing detector, leading to test
failures.
This patch replaces bool* types expected by C and C++ bindings with
int*, and corresponding declarations of the arrays in callers in the
tests from bool[3*ncv] to int[ncv].
This fixes#83.