26 Commits
Author SHA1 Message Date
Henri Menke e55d3b2dcb Add missing stdexcept header (#467) 2024-09-14 12:05:42 +02:00
Zhentao Wang 8ecf1be713 Add Ritz options (largest/smallest in real/imaginary parts) for complex routines 2022-08-20 21:30:21 +02:00
Franck HOUSSEN e0c308841e [TravisCI] OS X: running the whole test suite. 2020-08-09 13:02:29 +02:00
Franck HOUSSEN 160b572315 [BUG FIX - Architecture]: arpackdef.h for C/C++, and, arpackicb.h for F77/F90. (#249) 2020-05-31 14:01:20 +02:00
Sylvestre Ledru 6dcecc8eef Update the coding style (#256)
* clang-format the C++ codebase

* clang-format the C code
2020-03-21 18:47:59 +01:00
Franck HOUSSEN 6fa8b271c0 [API] arpackSolver: API change. (#222)
* [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.
2019-10-11 17:03:45 +02:00
Franck HOUSSEN 10fb0c301c [BUG FIX] ILP64 support: using debug_c and stat_c. (#196) 2019-04-01 10:45:32 +02:00
Franck HOUSSEN f5aead95fd [BUG FIX] fix check precision which may fail with some ATLAS versions. (#198) 2019-04-01 10:44:02 +02:00
Franck HOUSSEN dfc8abd708 [BUG FIX] arpack may succeed to compute more EV than expected. (#197) 2019-02-13 17:01:22 +01:00
Franck HOUSSEN aa970cefa6 ILP64 support. (#165)
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).
2018-12-29 13:55:40 +01:00
Franck HOUSSEN b7ce7debe5 [BUG FIX] When using *zneupd, sigma is complex. (#154)
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).
2018-09-15 17:31:35 +02:00
Ruslan Kabatsayev a50b68b48d Extend C++ test to also include double, not only float 2018-06-09 18:28:12 +02:00
Ruslan Kabatsayev ccd45494a8 Synchronize C++ bindings with the fixed C bindings
This no longer includes a tweaked copy of arpack.h. Maintaining both
sets of prototypes separately is too much manual labor.
2018-06-09 18:28:12 +02:00
Darcy Beurle 2333f73976 Parpack bindings modernised 2018-06-04 16:52:54 +02:00
Darcy Beurle d5153b941f Remove last comment 2018-05-22 14:43:00 +02:00
Darcy Beurle 34a81d09fb Remove _c and dead comments. Apply formatting. 2018-05-22 14:43:00 +02:00
Darcy Beurle 74784a5309 Add C++11 interface (#117) 2018-05-21 10:31:12 +02:00
Franck HOUSSEN d67b323399 iso_c_binding: add statistics support. 2018-04-09 17:54:03 +02:00
Franck HOUSSEN a9c71f3180 iso_c_binding : debug - stupid coverage....
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...
2018-04-07 16:53:36 +02:00
Franck HOUSSEN 533b9487b0 iso_c_binding : debug - cosmetic changes hoping the coverage
will get back from 69.8 to 70 % !...
2018-04-07 16:16:49 +02:00
Franck HOUSSEN 40ed22e42f iso_c_binding: debug - examples with and without debug traces. 2018-04-06 22:25:50 +02:00
Franck HOUSSEN 449ae6b95a iso_c_binding: add debug support. 2018-04-05 18:47:35 +02:00
Darcy Beurle 946dc3db7b Test imaginary eigenvalue (#91) 2018-03-12 20:19:57 +01:00
Franck HOUSSEN f14261dcb0 arpack.hpp: add const to improve C++ integration. (#89)
note: as const is added on function arguments, this should be safe from C <-> C++ pitfalls.
2018-03-10 16:26:14 +01:00
Ruslan Kabatsayev cd6366097d Fix C and C++ bindings ABI (#84)
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.
2018-03-02 11:54:50 +01:00
Franck HOUSSEN 19ac60166b Improve iso_c_binding coverage (#73)
* Provide arpack.h/hpp in install directory.

>> tree local/
local/
├── include
│   ├── arpack.h
│   └── arpack.hpp
└── lib
    ├── libarpack.a
    ...

* [BUG FIX] Provide arpack.h/hpp in install directory: fix make distcheck.

* Move iso_c_binding to icb_arpack.
This will ease iso_c_binding implementation for parpack (future dev).

* Improve iso_c_binding coverage. Add tests involving complex.
2017-10-26 11:46:24 +02:00