| f08estop.f90 |
|
| f18estop.f90 |
|
| stdlib_ansi.f90 |
|
| stdlib_ansi_operator.f90 |
|
| stdlib_ansi_to_string.f90 |
|
| stdlib_array.f90 |
|
| stdlib_ascii.fypp |
|
| stdlib_bitsets.fypp |
|
| stdlib_bitsets_64.fypp |
|
| stdlib_bitsets_large.fypp |
|
| stdlib_blas.fypp |
|
| stdlib_blas_constants.fypp |
|
| stdlib_blas_level1.fypp |
|
| stdlib_blas_level2_ban.fypp |
|
| stdlib_blas_level2_gen.fypp |
|
| stdlib_blas_level2_pac.fypp |
|
| stdlib_blas_level2_sym.fypp |
|
| stdlib_blas_level2_tri.fypp |
|
| stdlib_blas_level3_gen.fypp |
|
| stdlib_blas_level3_sym.fypp |
|
| stdlib_blas_level3_tri.fypp |
|
| stdlib_codata.f90 |
|
| stdlib_codata_type.fypp |
|
| stdlib_constants.fypp |
|
| stdlib_datetime.f90 |
|
| stdlib_error.fypp |
|
| stdlib_hash_32bit.fypp |
|
| stdlib_hash_32bit_fnv.fypp |
FNV_1_HASH and FNV_1A_Hash are translations to Fortran 2008 of the
FNV-1 and FNV-1a hash functions of Glenn Fowler, Landon Curt Noll,
and Phong Vo, that has been released into the public domain. Permission
has been granted, by Landon Curt Noll, for the use of these algorithms
in the Fortran Standard Library. A description of these functions is
available at https://en.wikipedia.org/wiki/Fowler–Noll–Vo_hash_function. Read more… |
| stdlib_hash_32bit_nm.fypp |
NM_HASH32 and NM_HASH32X are translations to Fortran 2008 and signed
two's complement arithmetic of the nmhash32 and nmhash32x scalar
algorithms of James Z. M. Gao, copyright 2021. James Z. M. Gao's original
C++ code, nmhash.h, is available at the URL:
https://github.com/gzm55/hash-garage/blob/a8913138bdb3b7539c202edee30a7f0794bbd835/nmhash.h
under the BSD 2-Clause License:
https://github.com/gzm55/hash-garage/blob/a8913138bdb3b7539c202edee30a7f0794bbd835/LICENSE
The algorithms come in multiple versions, depending on whether the
vectorized instructions SSE2 or AVX2 are available. As neither instruction
is available in portable Fortran 2008, the algorithms that do not use these
instructions are used. Read more… |
| stdlib_hash_32bit_water.fypp |
WATER_HASH is a translation to Fortran 2008 of the waterhash algorithm
of Tommy Ettinger. Tommy Ettinger's original C++ code, waterhash.h, is
available at the URL: https://github.com/tommyettinger/waterhash under the
unlicense, https://github.com/tommyettinger/waterhash/blob/master/LICENSE.
"waterhash is a variant on Wang Yi's wyhash, with 32 bit output,
using at most 64 bit arithmetic. wyhash is available at the URL:
https://github.com/wangyi-fudan/wyhash also under the unlicense:
https://github.com/wangyi-fudan/wyhash/blob/master/LICENSE.
Original Author: Wang Yi godspeed_china@yeah.net
Waterhash Variant Author: Tommy Ettinger tommy.ettinger@gmail.com Read more… |
| stdlib_hash_64bit.fypp |
|
| stdlib_hash_64bit_fnv.fypp |
FNV_1_HASH and FNV_1A_HASH are translations to Fortran 2008 of the
FNV-1 and FNV-1a hash functions of Glenn Fowler, Landon Curt Noll,
and Phong Vo, that has been released into the public domain. Permission
has been granted, by Landon Curt Noll, for the use of these algorithms
in the Fortran Standard Library. A description of these functions is
available at https://en.wikipedia.org/wiki/Fowler–Noll–Vo_hash_function.
The functions have been modified from their normal form to also encode
the size of the structure in the hash. Read more… |
| stdlib_hash_64bit_pengy.fypp |
PENGY_HASH is a translation to Fortran 2008 and signed two's complement
arithmetic of the pengyhash algorithm of Alberto Fajardo, copyright 2020.
Alberto Fajardo's original C code, pengyhash.c, is available at the URL:
https://github.com/tinypeng/pengyhash/blob/master/pengyhash.c
under the BSD 2-Clause License:
https://github.com/tinypeng/pengyhash/blob/master/LICENSE Read more… |
| stdlib_hash_64bit_spookyv2.fypp |
SPOOKY_HASH is a translation to Fortran 2008 of the unsigned 64 bit
SpookyHash V2 function of Bob Jenkins
https://burtleburtle.net/bob/hash/spooky.html to signed 64 bit
operations. Bob Jenkins has put his code in the public domain and has
given permission to treat this code as public domain in the USA,
provided the code can be used under other licenses and he is given
appropriate credit.
The code was designed for Little-Endian processors. The output is
different on Big Endian processors, but still probably as good quality. Read more… |
| stdlib_hashmap_chaining.f90 |
The module STDLIB_HASHMAP_CHAINING implements a simple separate
chaining hash map. The implementation is loosely based on a C
implementation by David Chase, http://chasewoerner.org/src/hasht/, for
which he has given permission to use in the Fortran Standard Library. |
| stdlib_hashmap_open.f90 |
The module, STDLIB_HASHMAP_OPEN implements a simple open addressing hash
map using linear addressing. The implementation is loosely based on a
C implementation by David Chase, http://chasewoerner.org/src/hasht/, for
which he has given permission to use in the Fortran Standard Library. |
| stdlib_hashmap_wrappers.f90 |
The module STDLIB_HASHMAP_WRAPPERS provides wrappers for various
entities used by the hash map procedures. These include wrappers for the
key and other data, and hashing procedures to operate on entities of
the key_type. |
| stdlib_hashmaps.f90 |
The module, STDLIB_HASH_MAPS, implements two hash maps:
CHAINING_HASH_MAP_TYPE, a separate chaining hash map; and OPEN_HASH_MAP_TYPE,
an open addressing hash map using linear addressing. The two hash maps are
implementations of the abstract type, HASH_MAP_TYPE. |
| stdlib_intrinsics.fypp |
|
| stdlib_intrinsics_dot_product.fypp |
|
| stdlib_intrinsics_matmul.fypp |
|
| stdlib_intrinsics_sum.fypp |
|
| stdlib_io.fypp |
|
| stdlib_io_aux.f90 |
|
| stdlib_io_npy.fypp |
|
| stdlib_io_npy_load.fypp |
|
| stdlib_io_npy_save.fypp |
|
| stdlib_kinds.fypp |
|
| stdlib_lapack_auxiliary.fypp |
|
| stdlib_lapack_base.fypp |
|
| stdlib_lapack_blas_like_base.fypp |
|
| stdlib_lapack_blas_like_l1.fypp |
|
| stdlib_lapack_blas_like_l2.fypp |
|
| stdlib_lapack_blas_like_l3.fypp |
|
| stdlib_lapack_blas_like_mnorm.fypp |
|
| stdlib_lapack_blas_like_scalar.fypp |
|
| stdlib_lapack_cosine_sine.fypp |
|
| stdlib_lapack_cosine_sine2.fypp |
|
| stdlib_lapack_eig_svd_lsq.fypp |
|
| stdlib_lapack_eigv_comp.fypp |
|
| stdlib_lapack_eigv_comp2.fypp |
|
| stdlib_lapack_eigv_gen.fypp |
|
| stdlib_lapack_eigv_gen2.fypp |
|
| stdlib_lapack_eigv_gen3.fypp |
|
| stdlib_lapack_eigv_std_driver.fypp |
|
| stdlib_lapack_eigv_svd_bidiag_dc.fypp |
|
| stdlib_lapack_eigv_svd_drivers.fypp |
|
| stdlib_lapack_eigv_svd_drivers2.fypp |
|
| stdlib_lapack_eigv_svd_drivers3.fypp |
|
| stdlib_lapack_eigv_sym.fypp |
|
| stdlib_lapack_eigv_sym_comp.fypp |
|
| stdlib_lapack_eigv_tridiag.fypp |
|
| stdlib_lapack_eigv_tridiag2.fypp |
|
| stdlib_lapack_eigv_tridiag3.fypp |
|
| stdlib_lapack_extended.fypp |
|
| stdlib_lapack_extended_base.fypp |
|
| stdlib_lapack_givens_jacobi_rot.fypp |
|
| stdlib_lapack_householder_reflectors.fypp |
|
| stdlib_lapack_lsq.fypp |
|
| stdlib_lapack_lsq_aux.fypp |
|
| stdlib_lapack_lsq_constrained.fypp |
|
| stdlib_lapack_orthogonal_factors.fypp |
|
| stdlib_lapack_orthogonal_factors_ql.fypp |
|
| stdlib_lapack_orthogonal_factors_qr.fypp |
|
| stdlib_lapack_orthogonal_factors_rz.fypp |
|
| stdlib_lapack_others.fypp |
|
| stdlib_lapack_others_sm.fypp |
|
| stdlib_lapack_solve.fypp |
|
| stdlib_lapack_solve_aux.fypp |
|
| stdlib_lapack_solve_chol.fypp |
|
| stdlib_lapack_solve_chol_comp.fypp |
|
| stdlib_lapack_solve_ldl.fypp |
|
| stdlib_lapack_solve_ldl_comp.fypp |
|
| stdlib_lapack_solve_ldl_comp2.fypp |
|
| stdlib_lapack_solve_ldl_comp3.fypp |
|
| stdlib_lapack_solve_ldl_comp4.fypp |
|
| stdlib_lapack_solve_lu.fypp |
|
| stdlib_lapack_solve_lu_comp.fypp |
|
| stdlib_lapack_solve_tri_comp.fypp |
|
| stdlib_lapack_svd_bidiag_qr.fypp |
|
| stdlib_lapack_svd_comp.fypp |
|
| stdlib_lapack_svd_comp2.fypp |
|
| stdlib_linalg.fypp |
|
| stdlib_linalg_blas.fypp |
|
| stdlib_linalg_blas_aux.fypp |
|
| stdlib_linalg_cholesky.fypp |
|
| stdlib_linalg_constants.fypp |
|
| stdlib_linalg_cross_product.fypp |
|
| stdlib_linalg_determinant.fypp |
|
| stdlib_linalg_diag.fypp |
|
| stdlib_linalg_eigenvalues.fypp |
|
| stdlib_linalg_inverse.fypp |
|
| stdlib_linalg_iterative_solvers.fypp |
The stdlib_linalg_iterative_solvers module provides interfaces for iterative solvers. |
| stdlib_linalg_iterative_solvers_bicgstab.fypp |
|
| stdlib_linalg_iterative_solvers_cg.fypp |
|
| stdlib_linalg_iterative_solvers_pcg.fypp |
|
| stdlib_linalg_kronecker.fypp |
|
| stdlib_linalg_lapack.fypp |
|
| stdlib_linalg_lapack_aux.fypp |
|
| stdlib_linalg_least_squares.fypp |
|
| stdlib_linalg_matrix_functions.fypp |
|
| stdlib_linalg_norms.fypp |
|
| stdlib_linalg_outer_product.fypp |
|
| stdlib_linalg_pinv.fypp |
|
| stdlib_linalg_qr.fypp |
|
| stdlib_linalg_schur.fypp |
|
| stdlib_linalg_solve.fypp |
|
| stdlib_linalg_state.fypp |
|
| stdlib_linalg_svd.fypp |
|
| stdlib_logger.f90 |
|
| stdlib_math.fypp |
|
| stdlib_math_all_close.fypp |
|
| stdlib_math_arange.fypp |
|
| stdlib_math_diff.fypp |
|
| stdlib_math_is_close.fypp |
|
| stdlib_math_linspace.fypp |
|
| stdlib_math_logspace.fypp |
|
| stdlib_math_meshgrid.fypp |
|
| stdlib_optval.fypp |
|
| stdlib_quadrature.fypp |
|
| stdlib_quadrature_gauss.f90 |
|
| stdlib_quadrature_simps.fypp |
|
| stdlib_quadrature_trapz.fypp |
|
| stdlib_random.fypp |
|
| stdlib_selection.fypp |
|
| stdlib_sorting.fypp |
This file is subject both to the Fortran Standard Library license, and
to additional licensing requirements as it contains translations of
other software. Read more… |
| stdlib_sorting_ord_sort.fypp |
This file is subjec† both to the Fortran Standard Library license, and
to additional licensing requirements as it contains translations of
other software. Read more… |
| stdlib_sorting_radix_sort.f90 |
|
| stdlib_sorting_sort.fypp |
This file is subjec† both to the Fortran Standard Library license, and
to additional licensing requirements as it contains translations of
other software. Read more… |
| stdlib_sorting_sort_adjoint.fypp |
This file is subjec† both to the Fortran Standard Library license, and
to additional licensing requirements as it contains translations of
other software. Read more… |
| stdlib_sparse.f90 |
public API |
| stdlib_sparse_constants.fypp |
|
| stdlib_sparse_conversion.fypp |
The stdlib_sparse_conversion submodule provides sparse to sparse matrix conversion utilities. |
| stdlib_sparse_kinds.fypp |
The stdlib_sparse_kinds module provides derived type definitions for different sparse matrices |
| stdlib_sparse_operators.fypp |
|
| stdlib_sparse_spmv.fypp |
The stdlib_sparse_spmv submodule provides matrix-vector product kernels. |
| stdlib_sparse_spmv_coo.fypp |
|
| stdlib_sparse_spmv_csc.fypp |
|
| stdlib_sparse_spmv_csr.fypp |
|
| stdlib_sparse_spmv_ell.fypp |
|
| stdlib_sparse_spmv_sellc.fypp |
|
| stdlib_specialfunctions.fypp |
|
| stdlib_specialfunctions_activations.fypp |
|
| stdlib_specialfunctions_gamma.fypp |
|
| stdlib_specialfunctions_legendre.f90 |
|
| stdlib_specialmatrices.fypp |
|
| stdlib_specialmatrices_sym_tridiagonal.fypp |
|
| stdlib_specialmatrices_tridiagonal.fypp |
|
| stdlib_stats.fypp |
|
| stdlib_stats_corr.fypp |
|
| stdlib_stats_cov.fypp |
|
| stdlib_stats_distribution_exponential.fypp |
|
| stdlib_stats_distribution_gamma.fypp |
|
| stdlib_stats_distribution_normal.fypp |
|
| stdlib_stats_distribution_uniform.fypp |
|
| stdlib_stats_mean.fypp |
|
| stdlib_stats_median.fypp |
|
| stdlib_stats_moment.fypp |
|
| stdlib_stats_moment_all.fypp |
|
| stdlib_stats_moment_mask.fypp |
|
| stdlib_stats_moment_scalar.fypp |
|
| stdlib_stats_pca.fypp |
|
| stdlib_stats_var.fypp |
|
| stdlib_str2num.fypp |
|
| stdlib_string_type.fypp |
|
| stdlib_string_type_constructor.fypp |
|
| stdlib_stringlist_type.f90 |
|
| stdlib_strings.fypp |
|
| stdlib_strings_to_string.fypp |
|
| stdlib_system_path.f90 |
|
| stdlib_version.fypp |
|