{"id":18366450,"url":"https://github.com/aveek-saha/intal","last_synced_at":"2025-09-13T08:13:00.195Z","repository":{"id":94466873,"uuid":"220286111","full_name":"Aveek-Saha/Intal","owner":"Aveek-Saha","description":"C library to perform calculations on integers of arbitrary length","archived":false,"fork":false,"pushed_at":"2019-11-08T16:18:11.000Z","size":15,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-09T13:03:47.039Z","etag":null,"topics":["arithmetic-computation","c","c-library","karatsuba","large-integers"],"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/Aveek-Saha.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":"2019-11-07T16:54:58.000Z","updated_at":"2021-11-23T13:19:43.000Z","dependencies_parsed_at":"2023-07-14T21:30:12.016Z","dependency_job_id":null,"html_url":"https://github.com/Aveek-Saha/Intal","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Aveek-Saha/Intal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2FIntal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2FIntal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2FIntal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2FIntal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aveek-Saha","download_url":"https://codeload.github.com/Aveek-Saha/Intal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aveek-Saha%2FIntal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274935979,"owners_count":25376836,"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","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"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":["arithmetic-computation","c","c-library","karatsuba","large-integers"],"created_at":"2024-11-05T23:17:41.781Z","updated_at":"2025-09-13T08:13:00.129Z","avatar_url":"https://github.com/Aveek-Saha.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Integers of Arbitrary Length\n\nIntal is short for **Int**egers of **A**rbitrary **L**ength. \n\nAn intal (an integer of arbitrary length) is an object pointed to by a `void*` pointer. An intal can be created by `intal_create()` by providing a char string of a nonnegative integer provided in decimal digits. Some intals are created out of some functionalities like `intal_add()`, which creates a new intal.\n\nResponsibility of destroying the intals created lies with the client by calling `intal_destroy()`, which will free whatever memory allocated during the creation of intal.\n\nThere is no theoretical limit to the size of the integer, except for memory limitations of the process (Operating System).\n\n\nThe operations that can be done on intals are-\n* Addition\n* Subtraction\n* Multiplication(Karatsuba)\n* Division\n* Exponent\n* Comparison\n* Increment and decrement by 1\n\n\n## How to run\n\n1. To run the sanity check\n\t ```\n\t $ gcc -c intal_sanity_check.c\n\t $ gcc -Wall intal.c intal_sanity_check.o -lm -lrt -o intal.out\n\t $ ./intal.out\n\t ```\n2. Run a client file\n\t ```\n\t $ gcc -c client.c\n\t $ gcc -Wall intal.c client.o -lm -lrt -o intal.out\n\t $ ./intal.out\n\t ```\n3. Test for memory leaks with valgrind\n\t```\n\t$ valgrind --tool=memcheck ./intal.out\n\t```\n\n\n\t \n\t \n\t \n\t \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faveek-saha%2Fintal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faveek-saha%2Fintal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faveek-saha%2Fintal/lists"}