源文件

文件描述
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_codata.f90
stdlib_codata_type.fypp
stdlib_constants.fypp
stdlib_error.f90
stdlib_hash_32bit.fypp
stdlib_hash_32bit_fnv.fypp

FNV_1_HASHFNV_1A_Hash 是 Glenn Fowler、Landon Curt Noll 和 Phong Vo 的 FNV-1FNV-1a 哈希函数的 Fortran 2008 翻译版本,这些函数已发布到公有领域。Landon Curt Noll 已授权在 Fortran 标准库中使用这些算法。这些函数的描述可在 https://en.wikipedia.org/wiki/Fowler–Noll–Vo_hash_function 找到。

阅读更多…
stdlib_hash_32bit_nm.fypp

NM_HASH32NM_HASH32X 是 James Z. M. Gao 版权 2021 年的 nmhash32nmhash32x 标量算法的 Fortran 2008 及有符号二进制补码算术翻译版本。James Z. M. Gao 的原始 C++ 代码 nmhash.h 可在以下网址找到:https://github.com/gzm55/hash-garage/blob/a8913138bdb3b7539c202edee30a7f0794bbd835/nmhash.h,根据 BSD 2-Clause 许可证:https://github.com/gzm55/hash-garage/blob/a8913138bdb3b7539c202edee30a7f0794bbd835/LICENSE 这些算法有多个版本,具体取决于是否可以使用向量化指令 SSE2 或 AVX2。由于这两种指令在可移植的 Fortran 2008 中都不可用,因此使用了不使用这些指令的算法。

阅读更多…
stdlib_hash_32bit_water.fypp

WATER_HASH 是 Tommy Ettinger 的 waterhash 算法的 Fortran 2008 翻译版本。Tommy Ettinger 的原始 C++ 代码 waterhash.h 可在以下网址找到:https://github.com/tommyettinger/waterhash,根据 unlicense 许可证,https://github.com/tommyettinger/waterhash/blob/master/LICENSE。“waterhash 是 Wang Yi 的 wyhash 的变体,具有 32 位输出,最多使用 64 位算术。wyhash 可在以下网址找到:https://github.com/wangyi-fudan/wyhash,也根据 unlicense 许可证:https://github.com/wangyi-fudan/wyhash/blob/master/LICENSE。原始作者:王益 godspeed_china@yeah.net Waterhash 变体作者:Tommy Ettinger tommy.ettinger@gmail.com

阅读更多…
stdlib_hash_64bit.fypp
stdlib_hash_64bit_fnv.fypp

FNV_1_HASHFNV_1A_HASH 是 Glenn Fowler、Landon Curt Noll 和 Phong Vo 的 FNV-1FNV-1a 哈希函数的 Fortran 2008 翻译版本,这些函数已发布到公有领域。Landon Curt Noll 已授权在 Fortran 标准库中使用这些算法。这些函数的描述可在 https://en.wikipedia.org/wiki/Fowler–Noll–Vo_hash_function 找到。这些函数已从其正常形式修改,以在哈希中也编码结构的大小。

阅读更多…
stdlib_hash_64bit_pengy.fypp

PENGY_HASH 是 Alberto Fajardo 版权 2020 年的 pengyhash 算法的 Fortran 2008 及有符号二进制补码算术翻译版本。Alberto Fajardo 的原始 C 代码 pengyhash.c 可在以下网址找到:https://github.com/tinypeng/pengyhash/blob/master/pengyhash.c,根据 BSD 2-Clause 许可证:https://github.com/tinypeng/pengyhash/blob/master/LICENSE

阅读更多…
stdlib_hash_64bit_spookyv2.fypp

SPOOKY_HASH 是 Bob Jenkins 的无符号 64 位 SpookyHash V2 函数 https://burtleburtle.net/bob/hash/spooky.html 到有符号 64 位操作的 Fortran 2008 翻译版本。Bob Jenkins 已将其代码置于公有领域,并已获准在美国将此代码视为公有领域,前提是该代码可以在其他许可证下使用,并且给予他适当的荣誉。该代码是为小端处理器设计的。在大端处理器上的输出不同,但质量可能仍然很好。

阅读更多…
stdlib_hashmap_chaining.f90

模块 STDLIB_HASHMAP_CHAINING 实现了一个简单的分离链接哈希映射。该实现松散地基于 David Chase 的 C 实现,http://chasewoerner.org/src/hasht/,他已授权在 Fortran 标准库中使用。

stdlib_hashmap_open.f90

模块 STDLIB_HASHMAP_OPEN 使用线性寻址实现了一个简单的开放寻址哈希映射。该实现松散地基于 David Chase 的 C 实现,http://chasewoerner.org/src/hasht/,他已授权在 Fortran 标准库中使用。

stdlib_hashmap_wrappers.f90

模块 STDLIB_HASHMAP_WRAPPERS 为哈希映射过程使用的各种实体提供包装器。这些包括 keyother 数据的包装器,以及在 key_type 的实体上操作的哈希过程。

stdlib_hashmaps.f90

模块 STDLIB_HASH_MAPS 实现两个哈希映射:CHAINING_HASH_MAP_TYPE,一个分离链接哈希映射;和 OPEN_HASH_MAP_TYPE,一个使用线性寻址的开放寻址哈希映射。这两个哈希映射是抽象类型 HASH_MAP_TYPE 的实现。

stdlib_io.fypp
stdlib_io_npy.fypp
stdlib_io_npy_load.fypp
stdlib_io_npy_save.fypp
stdlib_kinds.fypp
stdlib_linalg.fypp
stdlib_linalg_blas.fypp
stdlib_linalg_blas_aux.fypp
stdlib_linalg_blas_c.fypp
stdlib_linalg_blas_d.fypp
stdlib_linalg_blas_q.fypp
stdlib_linalg_blas_s.fypp
stdlib_linalg_blas_w.fypp
stdlib_linalg_blas_z.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_kronecker.fypp
stdlib_linalg_least_squares.fypp
stdlib_linalg_outer_product.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

此文件同时受 Fortran 标准库许可证和附加许可证要求的约束,因为它包含其他软件的翻译。

阅读更多…
stdlib_sorting_ord_sort.fypp

此文件同时受 Fortran 标准库许可证和附加许可证要求的约束,因为它包含其他软件的翻译。

阅读更多…
stdlib_sorting_radix_sort.f90
stdlib_sorting_sort.fypp

此文件同时受 Fortran 标准库许可证和附加许可证要求的约束,因为它包含其他软件的翻译。

阅读更多…
stdlib_sorting_sort_index.fypp

此文件同时受 Fortran 标准库许可证和附加许可证要求的约束,因为它包含其他软件的翻译。

阅读更多…
stdlib_specialfunctions.f90
stdlib_specialfunctions_gamma.fypp
stdlib_specialfunctions_legendre.f90
stdlib_stats.fypp
stdlib_stats_corr.fypp
stdlib_stats_cov.fypp
stdlib_stats_distribution_exponential.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_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_version.fypp