{"id":16723123,"url":"https://github.com/musm/amal.jl","last_synced_at":"2025-04-10T10:08:01.249Z","repository":{"id":197651747,"uuid":"80132366","full_name":"musm/Amal.jl","owner":"musm","description":"A pure Julia math library","archived":false,"fork":false,"pushed_at":"2021-10-07T17:14:37.000Z","size":86,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-24T08:55:45.693Z","etag":null,"topics":["hacktoberfest","julia","math"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/musm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-01-26T16:31:25.000Z","updated_at":"2023-03-01T14:37:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"dbe53fd6-7d07-4d02-a841-5962503add6c","html_url":"https://github.com/musm/Amal.jl","commit_stats":null,"previous_names":["musm/amal.jl"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musm%2FAmal.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musm%2FAmal.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musm%2FAmal.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musm%2FAmal.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/musm","download_url":"https://codeload.github.com/musm/Amal.jl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248198883,"owners_count":21063628,"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":["hacktoberfest","julia","math"],"created_at":"2024-10-12T22:36:57.465Z","updated_at":"2025-04-10T10:08:01.228Z","avatar_url":"https://github.com/musm.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"**This package is more or less superseded by the SLEEF.jl package and the Julia math module itself, as many libm implementations have now been converted to pure Julia in the core library**\n\n\u003cdiv align=\"center\"\u003e\u003cimg src=\"https://cloud.githubusercontent.com/assets/4319522/19199051/1ecffc38-8c90-11e6-8617-19208b61a07b.jpg\" alt=\"Amal\"\u003e\u003c/img\u003e \u003c/div\u003e\n\n\nAmal, a pure Julia math library *(work in progress)*\n\n\n\n\n[![Travis Build Status](https://travis-ci.org/musm/Amal.jl.svg?branch=master)](https://travis-ci.org/musm/Amal.jl)\n[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/9eh7v6a7rm0ju0p3/branch/master?svg=true)](https://ci.appveyor.com/project/musm/amal-jl-9l512/branch/master)\n[![Coverage Status](https://coveralls.io/repos/github/musm/Amal.jl/badge.svg?branch=master)](https://coveralls.io/github/musm/Amal.jl?branch=master)\n[![codecov.io](http://codecov.io/github/musm/Amal.jl/coverage.svg?branch=master)](http://codecov.io/github/musm/Amal.jl?branch=master)\n\n\nAmal is an amalgamation of ideas from several open source math libraries, including SLEEF, Cephes, and Musl, and other references, which have all been taken into consideration for the design of this library, combining the best of breed ideas.\n\nThe Amal library principles include: avoid expensive branches, avoid table look ups, and to use FMA instructions for CPU's that support it. For CPU's with FMA instruction we take advantage of FMA and prefer polynomial functions to maximize performance if it does not sacrifice accuracy.\n\n\n## Installation\n\n\nWe recommend running julia with `-O3` for maximal performance using `Amal.jl` and to also build a custom system image by running\n```julia\njulia\u003e is_windows() \u0026\u0026 (Pkg.add(\"WinRPM\"); using WinRPM; WinRPM.install(\"gcc\", yes=true))\njulia\u003e include(joinpath(dirname(JULIA_HOME),\"share\",\"julia\",\"build_sysimg.jl\"))\njulia\u003e build_sysimg(force=true)\n```\nand then to restart `julia`; this will ensure you are taking full advantage of hardware [FMA](https://en.wikipedia.org/wiki/FMA_instruction_set)  if your CPU supports it.\n\n## Usage\n\n\nThe exported functions presently include\n```julia\nexp, exp2, exp10,\nlog,\nfrexp, ldexp, ilog2\n```\nMore functions to come in the near future.\n\n\n\nTo use  `Amal.jl`\n```julia\njulia\u003e Pkg.clone(\"https://github.com/JuliaMath/Amal.jl.git\")\njulia\u003e using Amal\njulia\u003e Amal.exp(2.0)\n7.38905609893065\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmusm%2Famal.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmusm%2Famal.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmusm%2Famal.jl/lists"}