Skip to content

Provide state/error handling for linear algebra #774

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
Apr 11, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
7ccdb49
add `linalg` state handler
perazz Mar 16, 2024
6d6fb55
cleanup, `fypp`ize numeric types
perazz Mar 16, 2024
e7398a0
more cleanup
perazz Mar 16, 2024
31cb5eb
`complex` format: add brackets i.e. `(0.0,1.0)` instead of `0.0 1.0`
perazz Mar 16, 2024
4ef4fb0
add `linalg_state` tests
perazz Mar 16, 2024
c5c568b
remove multiple `public` statement
perazz Mar 16, 2024
88317d9
Update src/stdlib_linalg_constants.fypp
perazz Mar 25, 2024
9eb9775
Update src/stdlib_linalg_constants.fypp
perazz Mar 25, 2024
9f74fd7
address style changes
perazz Mar 26, 2024
3762517
documentation + example
perazz Mar 26, 2024
cb9a7fc
generalize interface (`rank`-agnostic)
perazz Mar 26, 2024
0782e43
add `xdp` formats
perazz Mar 26, 2024
b9e7e67
intel compiler issue: remove buffer write
perazz Mar 26, 2024
affd5d0
add `xdp` symbol
perazz Mar 26, 2024
322b37e
move kinds to `stdlib_kinds`
perazz Mar 26, 2024
526e816
Merge branch 'master' into linalg_state
perazz Apr 2, 2024
41bf3a3
remove duplicate `stdlib_linalg_constants.fypp`
perazz Apr 2, 2024
a90f25a
more explanation
perazz Apr 2, 2024
fb008b4
Update example_state1.f90
perazz Apr 2, 2024
00db324
add another state example
perazz Apr 6, 2024
9b52091
Update example/linalg/example_state1.f90
perazz Apr 8, 2024
4b3c20a
Update example/linalg/example_state2.f90
perazz Apr 8, 2024
422a3d0
Update example/linalg/example_state2.f90
perazz Apr 8, 2024
c6ab922
Update src/stdlib_linalg_state.fypp
perazz Apr 8, 2024
36b3f93
Update src/stdlib_linalg_state.fypp
perazz Apr 8, 2024
dbc843a
Update src/stdlib_linalg_state.fypp
perazz Apr 8, 2024
33c2de6
example_state1: import `operator(/=)`
perazz Apr 8, 2024
dfd03fc
import `linalg_error_handling`
perazz Apr 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ set(fppFiles
stdlib_linalg_diag.fypp
stdlib_linalg_outer_product.fypp
stdlib_linalg_kronecker.fypp
stdlib_linalg_constants.fypp
stdlib_linalg_cross_product.fypp
stdlib_linalg_state.fypp
stdlib_optval.fypp
stdlib_selection.fypp
stdlib_sorting.fypp
Expand Down
18 changes: 18 additions & 0 deletions src/stdlib_linalg_constants.fypp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#:include "common.fypp"
module stdlib_linalg_constants
use stdlib_kinds, only: sp, dp, qp, int32, int64, lk
use, intrinsic :: ieee_arithmetic, only: ieee_is_nan
!$ use omp_lib
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is omp_lib needed here?

Suggested change
!$ use omp_lib

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it is used by the LAPACK functions. I put it in the constants module to avoid repeated use statements.

implicit none(type,external)
public


! Integer size support for ILP64 builds should be done here
integer, parameter :: ilp = int32
private :: int32, int64





end module stdlib_linalg_constants
Loading