{"id":24232508,"url":"https://github.com/gasinfinity/rnm","last_synced_at":"2025-03-04T12:38:36.921Z","repository":{"id":263708452,"uuid":"890626365","full_name":"GasInfinity/rnm","owner":"GasInfinity","description":"Small, simple C++26 math library for game development.","archived":false,"fork":false,"pushed_at":"2024-11-28T10:07:30.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-14T15:44:41.336Z","etag":null,"topics":["cpp","cpp26","graphics-programming","math"],"latest_commit_sha":null,"homepage":"","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/GasInfinity.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,"publiccode":null,"codemeta":null}},"created_at":"2024-11-18T22:39:08.000Z","updated_at":"2024-11-28T10:07:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"fac51aa2-60e8-4e08-9f7e-70721d5eeca8","html_url":"https://github.com/GasInfinity/rnm","commit_stats":null,"previous_names":["gasinfinity/rnm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GasInfinity%2Frnm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GasInfinity%2Frnm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GasInfinity%2Frnm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GasInfinity%2Frnm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GasInfinity","download_url":"https://codeload.github.com/GasInfinity/rnm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241851295,"owners_count":20030962,"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":["cpp","cpp26","graphics-programming","math"],"created_at":"2025-01-14T15:44:13.617Z","updated_at":"2025-03-04T12:38:36.899Z","avatar_url":"https://github.com/GasInfinity.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 📏 Rena::Mathematics (rnm)\n\nSmall, simple C++26 math library for game development and such. Use it by adding the headers in your project and including `rnm/rnm.hpp` (or each header individually).\n\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)\n  \n## 🔍 Usage\n\n```cpp\n#include \u003crnm/rnm.hpp\u003e\n\ntypedef rnm::vec\u003cfloat, 2\u003e vec2f; // a.k.a: rnm::vec2\u003cfloat\u003e\ntypedef rnm::vec\u003cfloat, 3\u003e vec3f; // a.k.a: rnm::vec2\u003cfloat\u003e\ntypedef rnm::mat\u003cfloat, 3, 3\u003e mat3f; // a.k.a: rnm::mat3\u003cfloat\u003e\n\nvec2f xy = {100.f, 20.f};\nmat3f translation = rnm::translate(xy);\n\nvec2f translated = (translation * vec3f(xy, 1.f)).xy;\n\nstd::print(\"{:.2f}\", translated / 4.f); // Prints: \"(50.00, 10.00)\"\n```\n\n\n## ❓ FAQ\n\n#### Why don't you use SIMD?\n\nSIMD is overrated for this, you won't get any kind of performance improvement by using it naively. You must think about the data you'll be handling and [put it in optimal ways for SIMD](https://www.reedbeta.com/blog/on-vector-math-libraries/#how-to-simd-and-how-not-to).\n\n## 📜 License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n\n\n## 📝 TODO\n\n- [ ]  Document the entire library.\n- [ ]  Add support for C++20 modules.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgasinfinity%2Frnm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgasinfinity%2Frnm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgasinfinity%2Frnm/lists"}