{"id":15060499,"url":"https://github.com/aandreba/clnooms","last_synced_at":"2026-03-01T15:03:30.761Z","repository":{"id":57605833,"uuid":"441533827","full_name":"Aandreba/clnooms","owner":"Aandreba","description":"Assembly-level implementation of interesting data types","archived":false,"fork":false,"pushed_at":"2022-01-02T14:59:51.000Z","size":18,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T00:46:35.155Z","etag":null,"topics":["asm","asmx86","assembly","assembly-arm","assembly-x86","data-type","data-types","math","rust","rust-crate","rust-lang","rust-library"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aandreba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-24T18:39:15.000Z","updated_at":"2024-11-16T11:09:50.000Z","dependencies_parsed_at":"2022-09-26T20:01:56.355Z","dependency_job_id":null,"html_url":"https://github.com/Aandreba/clnooms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aandreba%2Fclnooms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aandreba%2Fclnooms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aandreba%2Fclnooms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aandreba%2Fclnooms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aandreba","download_url":"https://codeload.github.com/Aandreba/clnooms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166926,"owners_count":21058480,"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":["asm","asmx86","assembly","assembly-arm","assembly-x86","data-type","data-types","math","rust","rust-crate","rust-lang","rust-library"],"created_at":"2024-09-24T22:59:31.899Z","updated_at":"2025-10-12T20:46:46.997Z","avatar_url":"https://github.com/Aandreba.png","language":"Rust","readme":"# Clnooms\n[![Crate](https://img.shields.io/crates/v/clnooms.svg)](https://crates.io/crates/clnooms)\n[![API](https://docs.rs/clnooms/badge.svg)](https://docs.rs/clnooms)\n\nAssembly-level implementation of various interesting data types on Rust\n\n# Table of Contents\n- Data Types\n    - Half-precision floating point (f16)\n    - Extended floating point (f80)\n- Progress\n    - Half-precision floating point (f16)\n        - Arithmetic\n        - Exponential\n        - Trigonometry\n        - Comparing\n        - From Casting\n        - Into Casting\n        - Miscelaneous\n    - Extended floating point (f80)\n        - Arithmetic\n        - Exponential\n        - Trigonometry\n        - Comparing\n        - From Casting\n        - Into Casting\n        - Miscelaneous\n- Benchmarks\n- Installation\n\n# Data types\n## Half-precision floating point (f16)\n\nA 16-bit floating point type; specifically, the ARM alternative half-precision.\nIt is only available for aarch64 targets \u0026 it differs from it's IEEE variant by doing away with the special case for an exponent value of 31, disallawing infinities \u0026 NaNs.\nFor non-compatible targets, the \"f16\" type is an alias of \"f32\"\u003cbr\u003e\n\nSee the \u003ca href=\"https://en.wikipedia.org/wiki/Half-precision_floating-point_format\"\u003eWikipedia article\u003c/a\u003e\n\n## Extended floating point (f80)\n\nA 80-bit floating point type that provides greater precision than the basic floating-point formats.\nIt is an x86 exclusive and it's mainly used to minimize roundoff and overflow errors in smaller floating point types.\nFor non-compatible targets, the \"f80\" type is an alias of \"f64\"\u003cbr\u003e\n\nSee the \u003ca href=\"https://en.wikipedia.org/wiki/Extended_precision\"\u003eWikipedia article\u003c/a\u003e\n\n# Progress\n\n## Half-precision floating point (f16)\n### Arithmetic\n- [x] Addition\n- [x] Subtraction\n- [x] Multiplication\n- [x] Division\n- [x] Negation\n- [x] Square root\n\n### Exponential\n- [ ] Exponential\n- [ ] Natural Logarithm\n\n### Trigonometry\n- [ ] Sine\n- [ ] Cosine\n- [ ] Tangent\n- [ ] Arc Sine\n- [ ] Arc Cosine\n- [ ] Arc Tangent\n- [ ] Arc Tangent 2\n\n### Comparing\n- [x] By Equal\n- [x] By Order\n\n### From Casting\n- [x] 8-bit unsigned integer\n- [x] 8-bit signed integer\n- [x] 16-bit unsigned integer\n- [x] 16-bit signed integer\n- [x] 32-bit unsigned integer\n- [x] 32-bit signed integer\n- [x] 64-bit unsigned integer\n- [x] 64-bit signed integer\n- [ ] 128-bit unsigned integer\n- [ ] 128-bit signed integer\n- [x] Single precision floating point\n- [x] Double precision floating point\n\n### Into Casting\n- [ ] 8-bit unsigned integer\n- [ ] 8-bit signed integer\n- [x] 16-bit unsigned integer\n- [ ] 16-bit signed integer\n- [ ] 32-bit unsigned integer\n- [x] 32-bit signed integer\n- [ ] 64-bit unsigned integer\n- [ ] 64-bit signed integer\n- [ ] 128-bit unsigned integer\n- [ ] 128-bit signed integer\n- [x] Single precision floating point\n- [x] Double precision floating point\n\n### Miscelaneous\n- [x] Absolute\n- [x] Round\n- [x] Truncate\n- [x] Floor\n- [x] Ceil\n\n## Extended floating point (f80)\n### Arithmetic\n- [x] Addition\n- [x] Subtraction\n- [x] Multiplication\n- [x] Division\n- [x] Negation\n- [x] Square root\n\n### Exponential\n- [ ] Exponential\n- [ ] Natural Logarithm\n\n### Trigonometry\n- [x] Sine\n- [x] Cosine\n- [x] Tangent\n- [ ] Arc Sine\n- [ ] Arc Cosine\n- [x] Arc Tangent\n- [x] Arc Tangent 2\n\n### Comparing\n- [ ] By Equal\n- [ ] By Order\n\n### From Casting\n- [ ] 8-bit unsigned integer\n- [ ] 8-bit signed integer\n- [ ] 16-bit unsigned integer\n- [ ] 16-bit signed integer\n- [ ] 32-bit unsigned integer\n- [ ] 32-bit signed integer\n- [ ] 64-bit unsigned integer\n- [ ] 64-bit signed integer\n- [ ] 128-bit unsigned integer\n- [ ] 128-bit signed integer\n- [x] Single precision floating point\n- [x] Double precision floating point\n\n### Into Casting\n- [ ] 8-bit unsigned integer\n- [ ] 8-bit signed integer\n- [ ] 16-bit unsigned integer\n- [ ] 16-bit signed integer\n- [ ] 32-bit unsigned integer\n- [ ] 32-bit signed integer\n- [ ] 64-bit unsigned integer\n- [ ] 64-bit signed integer\n- [ ] 128-bit unsigned integer\n- [ ] 128-bit signed integer\n- [x] Single precision floating point\n- [x] Double precision floating point\n\n### Miscelaneous\n- [x] Absolute\n- [x] Round\n- [ ] Truncate\n- [ ] Floor\n- [ ] Ceil\n\n# Benchmarks\nTodo\n\n# Instalation\nThis library can be installed through cargo with the command\u003cbr\u003e\n```cargo install clnooms```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faandreba%2Fclnooms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faandreba%2Fclnooms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faandreba%2Fclnooms/lists"}