{"id":18854359,"url":"https://github.com/urbanjost/m_sort","last_synced_at":"2026-01-27T05:04:44.685Z","repository":{"id":55147661,"uuid":"327479108","full_name":"urbanjost/M_sort","owner":"urbanjost","description":"basic sorting","archived":false,"fork":false,"pushed_at":"2025-07-11T04:28:49.000Z","size":3677,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-11T05:53:20.128Z","etag":null,"topics":["fortran","fortran-package-manager","fpm","sort","sorting","sorting-algorithms"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/urbanjost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-01-07T02:14:50.000Z","updated_at":"2025-07-11T04:23:21.000Z","dependencies_parsed_at":"2024-03-29T09:37:49.348Z","dependency_job_id":null,"html_url":"https://github.com/urbanjost/M_sort","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/urbanjost/M_sort","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_sort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_sort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_sort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_sort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/urbanjost","download_url":"https://codeload.github.com/urbanjost/M_sort/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_sort/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28803643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T03:44:14.111Z","status":"ssl_error","status_checked_at":"2026-01-27T03:43:33.507Z","response_time":168,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fortran","fortran-package-manager","fpm","sort","sorting","sorting-algorithms"],"created_at":"2024-11-08T03:47:57.790Z","updated_at":"2026-01-27T05:04:44.673Z","avatar_url":"https://github.com/urbanjost.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![](docs/images/sort.gif)](https://urbanjost.github.io/M_sort/fpm-ford/index.html)\n# [M_sort](https://urbanjost.github.io/M_sort/man3.html)\n\n## Name\n   M_sort - Fortran modules for sorting\n\n## Description\nThe `M_sort`(3fm) module is a collection of Fortran procedures that\ndo simple sorts.\n\n---\n![gmake](docs/images/gnu.gif)\n---\n## Building the Module using make(1)\nJust download the github repository, enter the src/ directory and run make(1):\n```bash\n     git clone https://github.com/urbanjost/M_sort.git\n     cd M_sort/src\n     # change Makefile if not using one of the listed compilers\n\n     # for gfortran\n     make clean\n     make gfortran\n\n     # for ifort\n     make clean\n     make ifort\n\n     # for nvfortran\n     make clean\n     make nvfortran\n\n     # optionally\n     make run  # run all the demo programs from the man-pages\n     make help # see other developer options\n```\nThis will compile the M_sort(3f) module and optionally build all the\nexample programs from the document pages in the example/ sub-directory\nand run the unit tests.\n\n---\n![-](docs/images/fpm_logo.gif)\n---\n## Build and Test with FPM\n\n#### (registered at the [fpm(1) registry](https://github.com/fortran-lang/fpm-registry) )\n\nAlternatively, download the github repository and build it with\nfpm ( as described at [Fortran Package Manager](https://github.com/fortran-lang/fpm) )\n\n```bash\n     git clone https://github.com/urbanjost/M_sort.git\n     cd M_sort\n     fpm test  # run unit tests\n```\nor just list it as a dependency in your fpm.toml project file.\n```toml\n     [dependencies]\n     M_sort        = { git = \"https://github.com/urbanjost/M_sort.git\" ,tag=\"v1.0.1\"}\n```\n---\n![-](docs/images/cmake.png)\n---\n## Build and Test with CMake\n```bash\n      git clone https://github.com/urbanjost/M_sort.git\n      cd M_sort\n\n      # Create a Build Directory:\n      mkdir -p build\n\n      cd build\n      cmake -S ../src -B .\n\n      # Configure the Build, specifying your preferred compiler (ifort, flang, etc.):\n      cmake . -DCMAKE_Fortran_COMPILER=gfortran\n\n      # Build the Project:\n      cmake --build .\n```\n### Optional CMake section:\n```bash\n      # Verify build\n      # On Linux this would create, for example:\n      ls build/lib/libM_sort.a   # the static library\n      ls build/include/*.mod     # module files\n      ls build/test/*            # test executables\n      ls build/example/*         # example executables\n\n      #Optionally Run Tests and Examples:\n      for name in ./test/* ./example/*\n      do\n         $name\n      done\n\n      #Install (Optional):\n      # This installs the library and module files to the system\n      # (e.g., /usr/local/lib/ and /usr/local/include/).\n      cmake --install .\n\n      # if you have insufficient permissions sudo(1) may be required\n      # to perform the install\n      #sudo cmake --install .\n\n      # Verify installation\n      ls /usr/local/lib/libM_sort.a\n      ls /usr/local/include/*.mod\n\n      # Cleaning Up: To clean artifacts, remove the build/ directory:\n      rm -rf build\n```\n## Demo Programs\n![demos](docs/images/demo.gif)\n\nThere are demo programs extracted from the man pages in the [example/](example/) directory\n\n## Documentation\n![docs](docs/images/docs.gif)\n\n### User\n - A single page that uses javascript to combine all the HTML descriptions\n   of the man-pages is at\n   [BOOK_M_sort](https://urbanjost.github.io/M_sort/BOOK_M_sort.html).\n\n - An [index](https://urbanjost.github.io/M_sort/man3.html) to HTML versions\n   of the man-pages\n\nin addition in the docs/ directory there is\n\n - ![man-pages](docs/images/manpages.gif)\n    + [manpages.zip](https://urbanjost.github.io/M_sort/manpages.zip)\n    + [manpages.tgz](https://urbanjost.github.io/M_sort/manpages.tgz)\n\n - [CHANGELOG](docs/CHANGELOG.md) provides a history of significant changes\n\n### Developer\n\n - [ford(1) output](https://urbanjost.github.io/M_sort/fpm-ford/index.html).\n\u003c!--\n   - [doxygen(1) output](https://urbanjost.github.io/M_sort/doxygen_out/html/index.html).\n--\u003e\n - [github action status](docs/STATUS.md)\n\n## See Also\n\n * [Fortran Package Manager](https://github.com/fortran-lang/fpm)\n * [Fortran Wiki](http://fortranwiki.org)\n * [Fortran Discourse](https://fortran-lang.discourse.group)\n * [Google Fortran newsgroup](https://groups.google.com/forum/#!forum/comp.lang.fortran)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furbanjost%2Fm_sort","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furbanjost%2Fm_sort","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furbanjost%2Fm_sort/lists"}