{"id":20338897,"url":"https://github.com/7244/witch","last_synced_at":"2026-05-11T14:33:04.265Z","repository":{"id":156871404,"uuid":"603714859","full_name":"7244/WITCH","owner":"7244","description":"base library","archived":false,"fork":false,"pushed_at":"2026-04-30T08:58:00.000Z","size":817,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-30T10:26:10.189Z","etag":null,"topics":[],"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/7244.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-19T11:13:50.000Z","updated_at":"2026-04-30T08:58:04.000Z","dependencies_parsed_at":"2026-01-02T06:08:05.504Z","dependency_job_id":null,"html_url":"https://github.com/7244/WITCH","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/7244/WITCH","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7244%2FWITCH","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7244%2FWITCH/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7244%2FWITCH/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7244%2FWITCH/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/7244","download_url":"https://codeload.github.com/7244/WITCH/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7244%2FWITCH/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32899018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-10T13:40:02.631Z","status":"online","status_checked_at":"2026-05-11T02:00:05.975Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-14T21:14:37.896Z","updated_at":"2026-05-11T14:33:04.243Z","avatar_url":"https://github.com/7244.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WITCH\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\nWITCH is crossplatform all in one library which provides basic functionality (like libc) for developing thingies. It also contains libraries that supposed to work with WITCH.\n\n## Base features and rules\n- stdint.h like types. integers must have s or u in begin like `sint32_t`. floating point data types are `f32_t` `f64_t` `f128_t` `f_t`\n- c data types are only allowed if external library uses it.\n- `__unreachable();` used if code never gonna reach the place.\n- `__unreachable_or(...);` same as `__unreachable();` it expands args if platform or compiler doesnt support `unreachable` hint.\n- `__flush_compiler_memory()` flushes compiler's memory operations.\n- `__flush_compiler_variable_*()` flushes compiler's operations on variable.\n- `__cta(condition);` compile time assert. same as static_assert.\n- `__sanit` define means if program gonna use a sanitizer eg valgrind. it will be defined as 0 if WITCH can't find any hint for debug. `__sanit` also can be defined by user.\n- `__platform_*` defines. `__platform_unix` is defined for every unix based system including linux. check `internal/WOS.h` for more information about `__platform_*` defines.\n- `__compiler_*` defines. currently supported compilers are: `gcc`, `clang`, `tinyc` and `msvc`.\n- `__language_*` defines. currently supported languages are: `__language_c` and `__language_cpp`\n- `__forceinline` used to force inline a function. inline keyword is not needed.\n- `__atomic_*` defines even if compiler doesnt support it. Will give error in compile time if wanted atomic operation is not possible.\n- `__restrict_or_nothing` gives restrict keyword if language has it.\n- `__abort();` WITCH provides a default implement to abort that can be redefined by `PR` library or by user.\n- `__empty_struct` is data type which is struct that doesnt have any members.\n- `PRE` used to run code before entry of program comes. not supported in many platforms.\n- `WITCH_num_online_cpus()` gives number of available threads. 0 and below is error.\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7244%2Fwitch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F7244%2Fwitch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7244%2Fwitch/lists"}