{"id":13629941,"url":"https://github.com/nfrechette/rtm","last_synced_at":"2025-05-15T07:03:37.867Z","repository":{"id":38628073,"uuid":"155649584","full_name":"nfrechette/rtm","owner":"nfrechette","description":"Realtime Math","archived":false,"fork":false,"pushed_at":"2025-03-27T22:44:28.000Z","size":1910,"stargazers_count":756,"open_issues_count":13,"forks_count":47,"subscribers_count":21,"default_branch":"develop","last_synced_at":"2025-05-15T07:02:16.830Z","etag":null,"topics":["c-plus-plus","cpp","game-development","game-engine","math","simd"],"latest_commit_sha":null,"homepage":null,"language":"C++","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/nfrechette.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["nfrechette"]}},"created_at":"2018-11-01T02:17:19.000Z","updated_at":"2025-05-14T01:07:48.000Z","dependencies_parsed_at":"2023-01-21T08:15:37.046Z","dependency_job_id":"b0d71aeb-fa82-4436-a5e4-be95aebc38e3","html_url":"https://github.com/nfrechette/rtm","commit_stats":{"total_commits":892,"total_committers":9,"mean_commits":99.11111111111111,"dds":0.03139013452914796,"last_synced_commit":"17805d8af16da2d4f324e5995e9fd50843637103"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrechette%2Frtm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrechette%2Frtm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrechette%2Frtm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrechette%2Frtm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfrechette","download_url":"https://codeload.github.com/nfrechette/rtm/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254291961,"owners_count":22046424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["c-plus-plus","cpp","game-development","game-engine","math","simd"],"created_at":"2024-08-01T22:01:24.947Z","updated_at":"2025-05-15T07:03:37.706Z","avatar_url":"https://github.com/nfrechette.png","language":"C++","readme":"[![CLA assistant](https://cla-assistant.io/readme/badge/nfrechette/rtm)](https://cla-assistant.io/nfrechette/rtm)\n[![All Contributors](https://img.shields.io/github/all-contributors/nfrechette/rtm)](#contributors-)\n[![Build status](https://ci.appveyor.com/api/projects/status/7eh9maq9a721e5on/branch/develop?svg=true)](https://ci.appveyor.com/project/nfrechette/rtm)\n[![Build status](https://github.com/nfrechette/rtm/actions/workflows/build_push.yml/badge.svg)](https://github.com/nfrechette/rtm/actions)\n[![Sonar Status](https://sonarcloud.io/api/project_badges/measure?project=nfrechette_rtm\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=nfrechette_rtm)\n[![GitHub release](https://img.shields.io/github/release/nfrechette/rtm.svg)](https://github.com/nfrechette/rtm/releases)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/nfrechette/rtm/master/LICENSE)\n[![Conan](https://img.shields.io/conan/v/rtm)](https://conan.io/center/recipes/rtm)\n[![Discord](https://img.shields.io/discord/691048241864769647?label=discord)](https://discord.gg/UERt4bS)\n\n# Realtime Math\n\nThis library is geared towards realtime applications that require their math to be as fast as possible. Much care was taken to maximize inlining opportunities and for code generation to be optimal when a function isn't inlined by passing values in registers whenever possible. It contains 3D and 4D arithmetic commonly used in video games and realtime applications.\n\nIt offers an alternative to [GLM](https://github.com/g-truc/glm) and [DirectX Math](https://github.com/Microsoft/DirectXMath). See [here](https://nfrechette.github.io/2019/01/19/introducing_realtime_math/) for a comparison with similar libraries.\n\n## Philosophy\n\nMuch thought was put into designing the library for it to be as flexible and powerful as possible. To this end, the following decisions were made:\n\n*  The library consists of **100% C++11** header files and is thus easy to integrate in any project\n*  The interface follows C-style conventions to ensure optimal code generation\n*  Both *float32* and *float64* arithmetic are supported\n*  Row vectors are used\n*  See [here](./docs/api_conventions.md) for more details\n\n## Supported platforms\n\n*  Windows VS2015 x86 and x64\n*  Windows (VS2017 to VS2022) x86, x64, and ARM64\n*  Windows (VS2017 to VS2022) with clang x86 and x64\n*  Linux (gcc 5 to 13) x86 and x64\n*  Linux (clang 4 to 15) x86 and x64\n*  OS X (Xcode 12.5, 13.2, 14.2) x64 and ARM64\n*  Android (NDK 21) ARMv7-A and ARM64\n*  iOS (Xcode 10.3, 11.7, 12.5, 13.2, 14.2) ARM64\n*  Emscripten (1.39.11) WASM\n*  MSYS2 x64\n\nThe above supported platform list is only what is tested every release but if it compiles, it should work just fine.\n\n## Getting started\n\nThis library is **100%** headers as such you just need to include them in your own project to start using it. However, if you wish to run the unit tests or to contribute to RTM head on over to the [getting started](./docs/getting_started.md) section in order to setup your environment and make sure to check out the [contributing guidelines](CONTRIBUTING.md).\n\nYou can install `rtm` with [Conan](https://conan.io/center/recipes/rtm).\n\n## External dependencies\n\nYou don't need anything else to get started: everything is self contained.\nSee [here](./external) for details.\n\n## License, copyright, and code of conduct\n\nThis project uses the [MIT license](LICENSE).\n\nCopyright (c) 2018 Nicholas Frechette \u0026 Realtime Math contributors\n\nThis project was started from the math code found in the [Animation Compression Library](https://github.com/nfrechette/acl) v1.1.0 and it retains the copyright of the original contributors.\n\nPlease note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/CodyDWJones\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/28773740?v=4?s=100\" width=\"100px;\" alt=\"CodyDWJones\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCodyDWJones\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nfrechette/rtm/commits?author=CodyDWJones\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#platform-CodyDWJones\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e \u003ca href=\"#infra-CodyDWJones\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/mwerschy\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/6616804?v=4?s=100\" width=\"100px;\" alt=\"Malte Werschy\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMalte Werschy\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nfrechette/rtm/commits?author=mwerschy\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#platform-mwerschy\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://gitlab.com/intelligide\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/12529837?v=4?s=100\" width=\"100px;\" alt=\"Yoann Potinet\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYoann Potinet\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-intelligide\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/operasfantom\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/31903947?v=4?s=100\" width=\"100px;\" alt=\"Pavel Iatchenii\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePavel Iatchenii\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nfrechette/rtm/commits?author=operasfantom\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-operasfantom\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/GermanAizek\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/21138600?v=4?s=100\" width=\"100px;\" alt=\"Herman Semenov\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHerman Semenov\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nfrechette/rtm/commits?author=GermanAizek\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/valgur\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1778160?v=4?s=100\" width=\"100px;\" alt=\"Martin Valgur\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMartin Valgur\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nfrechette/rtm/commits?author=valgur\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Kethers\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/49612587?v=4?s=100\" width=\"100px;\" alt=\"Kethers\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKethers\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nfrechette/rtm/commits?author=Kethers\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":["https://github.com/sponsors/nfrechette"],"categories":["Game-Math","C++","Maths"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfrechette%2Frtm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfrechette%2Frtm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfrechette%2Frtm/lists"}