Commit Graph

555 Commits

Author SHA1 Message Date
Sergey Fedorov d9f2b0f21a Minor fix-ups for Darwin PowerPC (#303)
* openlibm_fenv.h: fix PowerPC macro for Darwin

* openlibm_fenv_powerpc.h: check if __BYTE_ORDER__ is actually defined

* fpmath.h: fix PowerPC macro for Darwin
2024-06-19 15:01:51 -04:00
ryan-filmware b3a6e991a4 build: use clang instead of llvm-gcc (#300)
Modern clang works just fine, also llvm-gcc is nowhere to be found.
2024-04-03 00:31:00 -04:00
Oscar Smith b42f035afb Merge pull request #297 from JuliaMath/dependabot/github_actions/codecov/codecov-action-4
Bump codecov/codecov-action from 3 to 4
2024-02-01 16:38:58 -05:00
dependabot[bot] 3b6700bcfe Bump codecov/codecov-action from 3 to 4
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 21:14:40 +00:00
inky 4b83beb208 CI: Setup cross build test (#296)
* build: allow set TOOLPREFIX

* readme: add cross build steps

* ci: Setup cross build

* ci: use var in step name

* ci: split build / build test

* ci: add more arch

* ci: update ppc triple

* ci: update actions/checkout

* ci: todo: fix arm cross build

* ci: add more misp ci

* ci: remove mips64, mips64el

* ci: add more ppc ci

* ci: reopen arm CI
2024-02-01 12:26:31 -05:00
inky fc3646625f test: add target to gen coverage report (#295)
* test: add target to gen coverage report

* test: show branch coverage

* ci: setup codecov

* Readme: add codecov badge

* ci: upload coverage report

* test: add note for CODE_COVERAGE flag
2024-01-20 09:14:10 -06:00
dependabot[bot] d3be5dfe07 Bump actions/checkout from 2 to 4 (#294)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 17:30:51 -05:00
Viral B. Shah bc36005af8 Create dependabot.yml 2024-01-16 17:28:48 -05:00
Viral B. Shah 1e3511e407 Delete .github/FUNDING.yml 2024-01-16 17:27:58 -05:00
Viral B. Shah ae59af701d Update README.md 2024-01-16 17:26:56 -05:00
Ryonald Teofilo f3eec73a3f Correct long double check in CMakeLists.txt and remove duplicate definitions for static library builds too (#293)
* Fix mistake in CMakeLists.txt, only add sources in ld128 if long double isn't the same as double + aarch64

* Update README to mention that cmake build now defaults to shared library
2024-01-16 17:26:18 -05:00
Ryonald Teofilo b31c64529c Add support for building shared library with CMake (#291)
* Add support to build openlibm as a shared library using cmake by not compiling the C implementation when a native one exists

* Add CMake static and shared library build instruction and also added info about support for loongarch64

---------

Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com>
2024-01-11 10:36:14 +05:30
inky bd591aaf08 Readme: add new arch: loongarch64 (#287) 2024-01-11 10:34:47 +05:30
A1phaN eb5330efad Support for loongarch64 architecture (#280)
* Support for loongarch64 architecture

* fix compile error
2024-01-10 09:53:48 +05:30
Siva Mahadevan acf58d235e build: fix pkgconfig cflags and libdir variables (#284) 2024-01-10 09:52:08 +05:30
Ryonald Teofilo a010123801 Add CMake support (#286)
* Add CMakeLists file to build with CMake, tested with MinGW on Windows x64 and Apple Clang on MacOS arm64

* Use regex to ensure 'AppleClang' also passes under Clang
2024-01-10 09:50:58 +05:30
MarcusCalhoun-Lopez 12f5ffcc99 Fix Apple PowerPC build (#276)
Apple versions of GCC define __ppc__ instead of __powerpc__

Fixes #275
2023-06-24 23:26:52 -04:00
Keno Fischer 1d2c5e3bf5 Restore original fdlibm copyright on sincos files (#265)
These files are derived from the original fdlibm sin/cos files.
While we do already preserve that license notice in LICENSE.md
(so there's no actual license compliance issue here), it's
cleaner to have the copyright notice in the file as well, in
case somebody copies the file out of the repo.
2022-10-18 11:58:47 -07:00
Mark Kittisopikul 0edf8d6929 Remove non-working www subdomain from OpenLibm (#261) 2022-06-06 15:27:33 -07:00
Keno Fischer ae2d916985 Correctly round double precision sqrt (#256)
As discussed in https://github.com/JuliaLang/julia/pull/43786, openlibm's sqrt function is incorrectly rounded for i387. IEEE requires correct rounding for these functions and LLVM relies on it. Fix that by setting the precision in the FPU control word (see e.g. e_ceil.S for similar FPU modifications).
2022-01-19 18:43:52 -05:00
Viral B. Shah 81d5e1603a Add fmod assembly version (#255)
From https://github.com/freebsd/freebsd-src/tree/master/lib/msun/amd64
2021-11-14 22:12:34 -05:00
Viral B. Shah 465ca0a842 Update README.md 2021-11-09 21:32:18 -05:00
xctan 428e7af214 Support for riscv64 architecture (#254)
Changes needed for riscv64 support have been added.
Code for openlibm_fenv_riscv.h, riscv_fpmath.h and fenv.c
was taken from https://github.com/freebsd/freebsd
2021-11-09 21:31:45 -05:00
Viral B. Shah ed7aea3e2b Bump version to 0.8 (#248)
Bump the SOVERSION as well since we have some new exports and such.
2021-09-14 12:35:03 -04:00
jeremyd2019 69bb2804da Another Windows ARM64 fix (#253)
* Another Windows ARM64 fix

include stdint.h to be sure that uint64_t can be used.
This header already had references to uint32_t, so I assumed it was safe to use those typedefs, but a compile error revealed it was not always.

* fix munged whitespace
2021-09-11 08:00:13 -04:00
jeremyd2019 3d4a902f31 Fixes for Windows ARM64 (#251)
* aarch64_fpmath.h: deal with LLP64 (Windows ARM64)

use uint64_t instead of unsigned long, as unsigned long is only 32 bits on Windows

* Make.inc: WINNT aarch64 long double is double

Add to list along with Darwin
2021-09-10 00:09:04 -04:00
jeremyd2019 a9568fbd22 [Windows] install import library to libdir (#249)
import libraries need to go in libdir (`/lib`), while dlls need to be on the PATH so need to be installed to shlibdir (`/bin`)
2021-09-10 00:06:52 -04:00
Dilum Aluthge f88e52a89e CI (Windows): set msys2 {0} as the default shell for all Windows steps (#247) 2021-09-09 19:21:05 -04:00
Dilum Aluthge b48a2f7019 CI (Linux and macOS): Remove the arch variable, which currently has no effect (#246) 2021-09-09 19:18:40 -04:00
Dilum Aluthge 2a47fa5994 CI: A variety of miscellaneous tweaks (#244) 2021-09-09 19:11:54 -04:00
jeremyd2019 d0ef09a62d prefix symbols with _ for 32-bit x86 Windows (#242)
In a case that I believe can only be hit for Clang i686-*-windows-gnu (AKA MinGW), symbols in asm need to be prefixed with `_`.  Fixes #237
2021-09-09 19:04:44 -04:00
jeremyd2019 60dec83e33 msys2 ci (#243)
* add msys2 ci job

* run CI on any branch

* install base-devel on msys2

* remove soname and nodefaultlibs flags from mingw

* avoid soname on Windows

* add OLM_DLLEXPORT to signgam

it needs to be exported from the DLL also

* define IMPORT_EXPORTS on WINNT

While there are function export thunks in the import library that allow the linker to do the right thing for functions even if this is not set, it is required for the linker to do the right thing with variables being imported from a DLL (namely, signgam)

* add OLM_DLLEXPORT to openlibm_fenv_i387.h

seems this whole header was overlooked

* Update openlibm_fenv_i387.h

include openlibm_defs.h for OLM_DLLEXPORT
2021-09-09 18:49:37 -04:00
Viral B. Shah 6ea5fa2408 Merge pull request #240 from JuliaMath/vs/msys
Update ci.yml for Windows and msys2
2021-09-08 20:57:11 -04:00
Viral B. Shah 437c139718 Update ci.yml 2021-09-08 20:54:41 -04:00
Viral B. Shah e9932670c3 Update ci.yml 2021-09-08 20:53:52 -04:00
Viral B. Shah 4a36c50b97 Update ci.yml 2021-09-08 20:53:03 -04:00
Viral B. Shah 24cec17953 Update ci.yml 2021-09-08 20:46:41 -04:00
Viral B. Shah d26ed9871c Update ci.yml 2021-09-08 20:39:10 -04:00
Viral B. Shah 7b9602507e Update ci.yml 2021-09-08 20:37:22 -04:00
Viral B. Shah 7af65db469 Update ci.yml 2021-09-08 20:33:38 -04:00
Viral B. Shah a2e053ee1f Revert "Update ci.yml"
This reverts commit 4a52bb0dcc.
2021-09-08 20:27:54 -04:00
Viral B. Shah 4a52bb0dcc Update ci.yml 2021-09-08 20:26:07 -04:00
Viral B. Shah fb10fcf746 Update ci.yml 2021-09-08 14:35:21 -04:00
Viral B. Shah abf5aaacaf Update ci.yml 2021-09-08 14:32:56 -04:00
Viral B. Shah 98dcc48ba5 Update ci.yml 2021-09-08 14:31:01 -04:00
Viral B. Shah ff822f3e47 Update ci.yml 2021-09-08 14:29:53 -04:00
Viral B. Shah ab8d1ad003 Update ci.yml 2021-09-08 14:22:34 -04:00
Viral B. Shah 4d97e2d5aa Update ci.yml 2021-09-08 14:10:07 -04:00
Viral B. Shah 72caeab740 Update ci.yml 2021-09-08 13:49:18 -04:00
Viral B. Shah 9dd3049e93 Create ci.yml 2021-09-08 13:41:52 -04:00