Changelog

Version 0.7.0

Full release notes available at v0.7.0 tag.

  • new module stdlib_constants #800
  • Many mathematical constants and most common physical (codata) constants

Changes to existing scripts and modules - changes in CI - Use of fortran-setup for GCC, Intel LLVM and Intel Classic #834 - change in module stdlib_hashmaps - Support of hash map key generic interfaces #827 - changes in module stdlib_io - Addition of a Fortran format specifier in loadtxt #805 - changes in module stdlib_linalg - Support of extended and quad precision checking #821 - Several fixes #815 #818 #826 #830 #836 - New procedures for Eigenvalues and Eigenvectors computation: eig, eigh, eigvals, eigvalsh #816 - New procedures for Singular Value Decomposition: svd, svdvals #808 - changes in module stdlib_sorting - Renamed variable from int_size to int_index #824 - Support of int32 index array in sort_index #829

Version 0.6.1

Full release notes available at v0.6.1 tag.

Changes to existing scripts and modules - changes in module stdlib_linalg_lapack - Renamed variable for compiler compliance #812 - change of the format in some example programs #813

Version 0.6.0

Full release notes available at v0.6.0 tag.

  • new script fypp_deployment.py to support fpm in combination with fypp files #802

Changes to existing scripts and modules - change in module stdlib_hashmap_wrappers - addition of int32 hashmap key type #778 - changes in module stdlib_linalg - addition of the procedure det to compute determinants #798 - addition of the procedures lstsq and lstsq_space #801 #809 - addition of the procedures solve and solve_lu #806 - change in module stdlib_linalg_blas - addition of the documentation for rotm and rotmg #795 - use of macOS 12 in macOS CI #807

Changes to existing documentation - Improvement of the documentation linalg #797

Version 0.5.0

Full release notes available at v0.5.0 tag.

  • new module stdlib_linalg_state #774
  • new derived type: linalg_state_type
  • new procedure: linalg_error_handling

Changes to existing scripts and modules - addition of implicit none to all example programs #780 - change in module stdlib_hashmaps - fix the procedure remove_chaining_entry #788 - change in module stdlib_linalg - addition of the BLAS/LAPACK backends and interfaces #772 - change in module stdlib_str2num - fix the procedure to_${k1}$_from_stream #789 - upgrade of the Intel-classic compiler in macOS CI #777

Changes to existing documentation - Improvement of the documentation #784 #781 #786 - Improvement of the support of fpm #787 #790

Version 0.4.0

Full release notes available at v0.4.0 tag.

  • new module stdlib_str2num #743
  • new procedures: to_num, to_num_from_stream

Changes to existing scripts and modules

  • change in .gitignore
  • addition of the file extensions .dat and .stream #768
  • addition of .gitignore to stdlib-fpm #769
  • change in CI/CD
  • support of GCC 13 #737
  • support of Intel compiler ifx #752
  • change in script fpm-deployment.sh
  • changes to facilitate fypp preprocessing for the fpm deployment #758
  • change in module stdlib_ascii
  • Improved procedures to_lower and to_upper #733
  • change in module stdlib_bitsets
  • initialization in bitset_type #753
  • improved procedure bit_count_large #756
  • change in module stdlib_hashmaps
  • new procedure get_all_keys #741
  • new file permissions #762
  • change in module stdlib_math
  • new procedure meshgrid #764
  • change in module stdlib_specialfunctions_gamma
  • fix procedure gamma #730
  • change in module stdlib_string_type
  • fix procedure move #736 #773
  • change in SpookyV2Test.cpp
  • Fix undefined use of types #747

Changes to the existing documentation

  • change in the specs stdlib_hashmaps
  • Correction of an intent of the variable "conflict" #739
  • change in README.md
  • instructions to build stdlib with fpm through the fpm-deployment.sh script #757

Version 0.3.0

Full release notes available at v0.3.0 tag.

  • new modules stdlib_hashmap_wrappers and stdlib_hashmap #611
  • new procedures in stdlib_hashmap_wrappers: copy_key, copy_other, fibonacci_hash, fnv_1_hasher, fnv_1a_hasher, free_key, free_other, get, hasher_fun, operator(==), seeded_nmhash32_hasher, seeded_nmhash32x_hasher, seeded_water_hasher, set, key_type, other_type
  • new procedures in stdlib_hashmaps: chaining_hashmap_type, hashmap_type, `open_hashmap_type

Changes to existing scripts and modules

  • change in script doc-deployment.yml
  • update of the script #681
  • change in script fpm-deployment.sh
  • fixed a problem with dat and npy files in example dir not being deployed #713
  • change in module stdlib_bitsets
  • remove define assignment for bitset_64 and bitset_large #727
  • change in module stdlib_hashmap_open
  • fix access violation in a type-bound procedure of open_hashmap_type #707
  • change in module stdlib_io_npy_load
  • fix various bugs #708 #711
  • change in module stdlib_linalg
  • addition of kronecker_product #700
  • change in module stdlib_quadrature_gauss
  • fix erroneous gaussian quadrature points in gauss_legendre #660
  • change in module stdlib_sorting
  • addition of radix sort #712
  • support for sorting arrays of bitset_64 and of bitset_large #723
  • change in module stdlib_stats_distribution_exponential
  • convert pdf_exp and cdf_exp to pure functions #717
  • change in module stdlib_stats_distribution_normal
  • convert rvs_norm to an impure elemental function #665
  • remove unused module stdlib_error from module stdlib_stats_distribution_normal #716
  • remove support for manual make builds #657

Changes to the existing documentation

  • change in README.md #656 #659 #715 #725
  • change in stdlib_stats_distribution_normal.md
  • Improvement of the documentation #718 #721
  • change in stdlib_stats_distribution_exponential.md
  • Improvement of the documentation #721
  • change in the structure of the project stdlib
  • extraction of the demo programs from the specs in the directory example #662
  • move the directory src/tests to test #669
  • fix various docs #663

Version 0.2.1

Full release notes available at v0.2.1 tag.

  • build system related bugfixes

Version 0.2.0

Full release notes available at v0.2.0 tag.

  • new module stdlib_hash_32bit #573
  • new procedures: fibonacci_hash, fnv_1_hash, fnv_1a_hash, new_nmhash32_seed, new_nmhash32x_seed, new_water_hash_seed, nmhash32, nmhash32x, odd_random_integer, universal_mult_hash, and water_hash
  • new module stdlib_hash_64bit #573
  • new procedures: fibonacci_hash, fnv_1_hash, fnv_1a_hash, new_pengy_hash_seed, new_spooky_hash_seed, odd_random_integer, pengy_hash, spooky_hash, spookyhash_128, and universal_mult_hash
  • new module stdlib_array #603
  • new procedures trueloc, falseloc
  • new module stdlib_distribution_uniform #272
  • new module stdlib_selection #500
  • new procedures select, arg_select
  • new module stdlib_version #579
  • new procedure get_stdlib_version
  • update module stdlib_io 597
  • new procedure getline
  • new module stdlib_io_npy #581
  • new procedures save_npy, load_npy
  • update module stdlib_math
  • new procedures is_close and all_close #488
  • new procedures arg, argd and argpi #498
  • new procedure diff #605

Changes to existing modules

  • change in module stdlib_math
  • linspace and logspace made pure #549
  • change in module stdlib_string_type
  • move procedure made pure/elemental #562
  • support for quadruple precision made optional #565
  • change in module stdlib_io
  • Modified format constants, and made public #617
  • change in module stdlib_math
    • Minor update to stdlib_math module and document #624

Version 0.1.0

Full release notes available at v0.1.0 tag.

  • new module stdlib_ascii #32
  • new module stdlib_bitsets #239
  • new derived types bitset_64 and bitset_large
  • new abstract base class bitset_type
  • new module stdlib_error #53
  • new module stdlib_io
  • new procedures loadtxt and savetxt #23 #37
  • new procedure open #71 #77
  • new module stdlib_kinds #63
  • new module stdlib_linalg
  • new procedures diag, eye and trace #170
  • new procedure outer_product #432
  • new module stdlib_logger
  • new derived type logger_type #228 #261
  • new module stdlib_math
  • new procedure clip #355
  • new procedures linspace and logspace #420
  • new procedure arange #480
  • new procedure gcd #539
  • new module stdlib_optval #73 #96 #139
  • new module stdlib_quadrature
  • new procedures trapz, trapz_weights, simps and simps_weights #146
  • new procedures gauss_legendre, gauss_legendre_lobatto #313
  • new module stdlib_random #271
  • new module stdlib_sorting
  • new procedures sort, ord_sort and sort_index #408
  • new module stdlib_specialfunctions
  • new procedures legendre and dlegendre #313
  • new module stdlib_stats
  • new procedure mean #124 #130 #132
  • new procedure var #144
  • new procedure moment #153
  • new procedure corr #191
  • new procedure median #426
  • new module stdlib_string_type
  • new derived types string_type #320
  • new procedure move #467
  • new module stdlib_stringlist_type
  • new derived types stringlist_type and stringlist_index_type #470
  • new module stdlib_strings
  • new procedure to_string #444
  • new procedures strip and chomp #343
  • new procedures starts_with and ends_with #384
  • new procedure slice #414
  • new procedure find #433
  • new procedure replace_all #436
  • new procedures padl and padr #441
  • new procedure count #453
  • new module stdlib_system
  • new procedure sleep #54