diff --git a/CMakeLists.txt b/CMakeLists.txt index 57a0c8d..70ae8a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2022 Markus Wallerberger and others +# Copyright (C) 2023 Markus Wallerberger and others # SPDX-License-Identifier: MIT # cmake_minimum_required(VERSION 3.9) diff --git a/LICENSE b/LICENSE index 3dd158a..8e22b2a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (C) 2022 Markus Wallerberger and others +Copyright (C) 2023 Markus Wallerberger and others Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/README.md b/README.md index 109afaa..72efac0 100644 --- a/README.md +++ b/README.md @@ -27,12 +27,19 @@ is 6u². We report the largest observed error here [^1]. Installation ------------ +libxprec has no mandatory dependencies other than a C++11-compliant compiler. +If you want to run the tests, you need to have GNU MPFR installed and add +`-DBUILD_TESTING=ON` to the cmake flags. mkdir build cd build - cmake .. [EXTRA_CMAKE_FLAGS_GO_HERE] + cmake .. [-DBUILD_TESTING=ON] [EXTRA_CMAKE_FLAGS_GO_HERE] make - ./tests + ./test/tests + +xprec is faster when using the fused-multiply add (FMA) instruction, which should +be available on most modern CPUs. We recommend adding `CMAKE_CXX_FLAGS=-mfma` +to the cmake command. License and Copying ------------------- diff --git a/config/cmake/FindMPFR.cmake b/config/cmake/FindMPFR.cmake index a0380c6..46135eb 100644 --- a/config/cmake/FindMPFR.cmake +++ b/config/cmake/FindMPFR.cmake @@ -20,7 +20,7 @@ # # - MPFR::MPFR : imported target if library has been found # -# Copyright (C) 2022 Markus Wallerberger and others +# Copyright (C) 2023 Markus Wallerberger and others # SPDX-License-Identifier: MIT # include(FindPackageHandleStandardArgs) diff --git a/config/cmake/VersionFromHeader.cmake b/config/cmake/VersionFromHeader.cmake index 87d7e41..df4d2f9 100644 --- a/config/cmake/VersionFromHeader.cmake +++ b/config/cmake/VersionFromHeader.cmake @@ -1,6 +1,6 @@ # Utility for extracting version from C header # -# Copyright (C) 2022 Markus Wallerberger and others +# Copyright (C) 2023 Markus Wallerberger and others # SPDX-License-Identifier: MIT # Function to extract version string from header file diff --git a/include/xprec/ddouble-impl.h b/include/xprec/ddouble-impl.h index 129b774..a1b6fee 100644 --- a/include/xprec/ddouble-impl.h +++ b/include/xprec/ddouble-impl.h @@ -5,7 +5,7 @@ * Most of the basic numerical algorithms are directly lifted from: * M. Joldes, et al., ACM Trans. Math. Softw. 44, 1-27 (2018) * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #pragma once diff --git a/include/xprec/ddouble.h b/include/xprec/ddouble.h index 837a651..d3be8f3 100644 --- a/include/xprec/ddouble.h +++ b/include/xprec/ddouble.h @@ -1,6 +1,6 @@ /* Small double-double arithmetic library. * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #pragma once diff --git a/include/xprec/version.h b/include/xprec/version.h index 7a919aa..48788c3 100644 --- a/include/xprec/version.h +++ b/include/xprec/version.h @@ -1,6 +1,6 @@ /* Small double-double arithmetic library - version info * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #define XPREC_VERSION_MAJOR 0 diff --git a/src/circular.cxx b/src/circular.cxx index f8373a0..176b86c 100644 --- a/src/circular.cxx +++ b/src/circular.cxx @@ -1,6 +1,6 @@ /* Trigonometric functions to quad precision. * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include "xprec/ddouble.h" diff --git a/src/ddouble.cxx b/src/ddouble.cxx index 9f7af4e..0f1e5f1 100644 --- a/src/ddouble.cxx +++ b/src/ddouble.cxx @@ -1,6 +1,6 @@ /* Mathematical functions to quad precision. * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include "xprec/ddouble.h" diff --git a/src/exp.cxx b/src/exp.cxx index 3ad844c..9e95154 100644 --- a/src/exp.cxx +++ b/src/exp.cxx @@ -1,6 +1,6 @@ /* Mathematical functions to quad precision. * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT * * Most strategies are adapted from DoubleFloats.jl which is diff --git a/src/hyperbolic.cxx b/src/hyperbolic.cxx index 7ce57f0..360718b 100644 --- a/src/hyperbolic.cxx +++ b/src/hyperbolic.cxx @@ -1,6 +1,6 @@ /* Hyperbolic functions to quad precision. * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include "xprec/ddouble.h" diff --git a/src/io.cxx b/src/io.cxx index 2ad6660..ffadc71 100644 --- a/src/io.cxx +++ b/src/io.cxx @@ -1,6 +1,6 @@ /* Input/Output functions. * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include "xprec/ddouble.h" diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 45b865e..8cfa132 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2022 Markus Wallerberger and others +# Copyright (C) 2023 Markus Wallerberger and others # SPDX-License-Identifier: MIT # # Require Catch2 for tests diff --git a/test/arith.cxx b/test/arith.cxx index e4e135a..fab9ca3 100644 --- a/test/arith.cxx +++ b/test/arith.cxx @@ -1,6 +1,6 @@ /* Tests * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include diff --git a/test/catch2-addons.h b/test/catch2-addons.h index 6f933db..914b371 100644 --- a/test/catch2-addons.h +++ b/test/catch2-addons.h @@ -1,6 +1,6 @@ /* Convenience functions for Catch2 * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #pragma once diff --git a/test/circular.cxx b/test/circular.cxx index fb2d21b..5092f10 100644 --- a/test/circular.cxx +++ b/test/circular.cxx @@ -1,6 +1,6 @@ /* Tests * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include diff --git a/test/convert.cxx b/test/convert.cxx index ad8181a..e828dca 100644 --- a/test/convert.cxx +++ b/test/convert.cxx @@ -1,6 +1,6 @@ /* Tests * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include diff --git a/test/exp.cxx b/test/exp.cxx index a4843af..0d7d3fb 100644 --- a/test/exp.cxx +++ b/test/exp.cxx @@ -1,6 +1,6 @@ /* Tests * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include diff --git a/test/funcs.cxx b/test/funcs.cxx index 5dec3e6..a88da1d 100644 --- a/test/funcs.cxx +++ b/test/funcs.cxx @@ -1,6 +1,6 @@ /* Tests * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include diff --git a/test/hyperbolic.cxx b/test/hyperbolic.cxx index 4a967d8..b0a22ac 100644 --- a/test/hyperbolic.cxx +++ b/test/hyperbolic.cxx @@ -1,6 +1,6 @@ /* Tests * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include diff --git a/test/mpfloat.cxx b/test/mpfloat.cxx index b45d93d..696e485 100644 --- a/test/mpfloat.cxx +++ b/test/mpfloat.cxx @@ -1,6 +1,6 @@ /* Tests for MPFloat * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #include diff --git a/test/mpfloat.h b/test/mpfloat.h index 5f70e73..f8461dc 100644 --- a/test/mpfloat.h +++ b/test/mpfloat.h @@ -1,6 +1,6 @@ /* Convenience wrapper for MPFloat to allow nice object-oriented stuff. * - * Copyright (C) 2022 Markus Wallerberger and others + * Copyright (C) 2023 Markus Wallerberger and others * SPDX-License-Identifier: MIT */ #pragma once