{"id":20454775,"url":"https://github.com/cpiber/evalmath","last_synced_at":"2025-08-29T05:14:05.665Z","repository":{"id":119473004,"uuid":"298623935","full_name":"cpiber/EvalMath","owner":"cpiber","description":"Math string evaluation","archived":false,"fork":false,"pushed_at":"2024-05-16T15:52:50.000Z","size":228,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-05T10:18:01.997Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cpiber.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-25T16:23:42.000Z","updated_at":"2024-05-16T15:52:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"df78a2ad-a224-4f26-a6e9-025b10720ce7","html_url":"https://github.com/cpiber/EvalMath","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cpiber/EvalMath","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpiber%2FEvalMath","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpiber%2FEvalMath/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpiber%2FEvalMath/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpiber%2FEvalMath/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cpiber","download_url":"https://codeload.github.com/cpiber/EvalMath/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpiber%2FEvalMath/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272632620,"owners_count":24967294,"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-08-29T02:00:10.610Z","response_time":87,"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-15T11:17:03.475Z","updated_at":"2025-08-29T05:14:05.634Z","avatar_url":"https://github.com/cpiber.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EvalMath\n\nMath string evaluation.\n\nRepo includes implementations in various languages (java and counting).\n\nCreated for learning purposes.\n\n\n\n## Usage\n\nPass a mathematical expression as argument(s). All arguments are concatenated into one string.\n\nIf no arguments are passed, interactive mode is started. Enter your equations when prompted. Exit by passing an empty string or pressing CTRL+C.\n\nIn the first mode of operation, errors are hidden, and only null is printed. In the second mode of operation more information is printed.\n\nNote that EvalMath supports `()`, `[]` and `{}` for brackets but does not check that the matching bracket is the same type. I.e. `(expr]` is just as valid as `(expr)`.\n\n### Supported operations\n\n- `-` subtraction / negation\n- `+` addition\n- `*` multiplication\n- `/` division\n- `%` modulo\n- `\\` integer division\n- `^` exponentiation\n\n### Language specific notes\n\n#### Java\n\nEvalMath does not explicitly check for division by zero. By language design this returns `Infinity` except when using integer division `\\`, in which case an error is returned. Modulo `%` returns `NaN`.\n\n\n\n## Building JVM-based implementations\n\nBuild all languages: `./gradlew build` or `gradlew.bat build` (windows)\n\nBuilding specific language: `./gradlew :\u003clang\u003e:build` where `\u003clang\u003e` is the language folder (currently `java`).\n\nRunning specific language: `./gradlew :\u003clang\u003e:run --console=plain`. To pass arguments, add `--args \"\u003carguments\u003e\"`.\n\nFor more information visit [the docs](https://docs.gradle.org/current/userguide/userguide.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpiber%2Fevalmath","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcpiber%2Fevalmath","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpiber%2Fevalmath/lists"}