diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..e1c36bed8 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,265 @@ +name: ci + +on: + push: + branches-ignore: + - gh-pages + pull_request: + branches-ignore: + - gh-pages + +jobs: + linux_gcc_sanitizers: + runs-on: ubuntu-latest + env: + CC: gcc + CXX: g++ + steps: + - uses: actions/checkout@v3 + - name: Build primesieve + run: | + cmake . -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-Wall -Wextra -pedantic -Werror -Wno-long-long -O1 -g -fsanitize=address -fsanitize=undefined -fno-sanitize-recover=all -fno-omit-frame-pointer" -DCMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -Werror -Wno-long-long -O1 -g -fsanitize=address -fsanitize=undefined -fno-sanitize-recover=all -fno-omit-frame-pointer" + make -j2 VERBOSE=1 + - name: CTest (unit tests) + run: ctest -j2 + - name: primesieve --test option + run: ./primesieve --test + # Run primesieve binary + - name: primesieve --cpu-info + run: ./primesieve --cpu-info + - name: primesieve 1e10 + run: ./primesieve 1e10 + - name: primesieve 1e9 --nth-prime + run: ./primesieve 1e9 --nth-prime + - name: primesieve --dist=1e9 --size=32 --print=6 + run: ./primesieve 1e13 --dist=1e9 --size=32 --print=6 + #Test printing primes and prime k-tuplets + - name: primesieve 1e8 -p | md5sum + run: if [ "$(./primesieve 1e8 -p | md5sum | cut -f1 -d' ')" != "4e2b0027288a27e9c99699364877c9db" ]; then exit 1; fi + - name: primesieve 1e8 -p2 | md5sum + run: if [ "$(./primesieve 1e8 -p2 | md5sum | cut -f1 -d' ')" != "5076d235d5b03389034ec107227eab98" ]; then exit 1; fi + - name: primesieve 1e8 -p3 | md5sum + run: if [ "$(./primesieve 1e8 -p3 | md5sum | cut -f1 -d' ')" != "1b40d7e67868ccc857df11c3e0f7e0f5" ]; then exit 1; fi + - name: primesieve 1e8 -p4 | md5sum + run: if [ "$(./primesieve 1e8 -p4 | md5sum | cut -f1 -d' ')" != "b998d7cdbeae6623cdecba1b921cb2e1" ]; then exit 1; fi + - name: primesieve 1e8 -p5 | md5sum + run: if [ "$(./primesieve 1e8 -p5 | md5sum | cut -f1 -d' ')" != "1ec7d5704d7399caf43667090b5bf836" ]; then exit 1; fi + - name: primesieve 1e8 -p6 | md5sum + run: if [ "$(./primesieve 1e8 -p6 | md5sum | cut -f1 -d' ')" != "0fb813d345c94cf2012588d1f71328b5" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p | md5sum | cut -f1 -d' ')" != "5fbe254a97ad3bbc07c224908c9d59b2" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p2 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p2 | md5sum | cut -f1 -d' ')" != "7a7a770c1841a17a9a63b92b7b6532b9" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p3 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p3 | md5sum | cut -f1 -d' ')" != "72323b08c62ad8342f7331e3d6d45a64" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p4 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p4 | md5sum | cut -f1 -d' ')" != "c2b0818499f77aa35681db3826caf3f6" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p5 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p5 | md5sum | cut -f1 -d' ')" != "11b50e4f75899891a62465f6d68fb76e" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p6 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p6 | md5sum | cut -f1 -d' ')" != "5a0bc83fdef0bb116d60f356adfde52f" ]; then exit 1; fi + + linux_gcc_valgrind: + runs-on: ubuntu-latest + env: + CC: gcc + CXX: g++ + steps: + - uses: actions/checkout@v3 + - name: Install valgrind + run: | + sudo apt update + sudo apt install valgrind asciidoc libxml2-utils xmlto + - name: Build primesieve + run: | + cmake . -DBUILD_TESTS=ON -DBUILD_MANPAGE=ON -DCMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -Werror -g" + make -j2 VERBOSE=1 + - name: CTest (unit tests) + run: ctest -j2 + - name: primesieve --test option + run: ./primesieve --test + - name: Valgrind primesieve count test + run: valgrind --error-exitcode=1 ./primesieve 1e9 + - name: Valgrind primesieve print test + run: valgrind --error-exitcode=1 ./primesieve 10000 --print + # Run primesieve binary + - name: primesieve --cpu-info + run: ./primesieve --cpu-info + - name: primesieve 1e10 + run: ./primesieve 1e10 + - name: primesieve 1e9 --nth-prime + run: ./primesieve 1e9 --nth-prime + - name: primesieve --dist=1e9 --size=32 --print=6 + run: ./primesieve 1e13 --dist=1e9 --size=32 --print=6 + #Test printing primes and prime k-tuplets + - name: primesieve 1e8 -p | md5sum + run: if [ "$(./primesieve 1e8 -p | md5sum | cut -f1 -d' ')" != "4e2b0027288a27e9c99699364877c9db" ]; then exit 1; fi + - name: primesieve 1e8 -p2 | md5sum + run: if [ "$(./primesieve 1e8 -p2 | md5sum | cut -f1 -d' ')" != "5076d235d5b03389034ec107227eab98" ]; then exit 1; fi + - name: primesieve 1e8 -p3 | md5sum + run: if [ "$(./primesieve 1e8 -p3 | md5sum | cut -f1 -d' ')" != "1b40d7e67868ccc857df11c3e0f7e0f5" ]; then exit 1; fi + - name: primesieve 1e8 -p4 | md5sum + run: if [ "$(./primesieve 1e8 -p4 | md5sum | cut -f1 -d' ')" != "b998d7cdbeae6623cdecba1b921cb2e1" ]; then exit 1; fi + - name: primesieve 1e8 -p5 | md5sum + run: if [ "$(./primesieve 1e8 -p5 | md5sum | cut -f1 -d' ')" != "1ec7d5704d7399caf43667090b5bf836" ]; then exit 1; fi + - name: primesieve 1e8 -p6 | md5sum + run: if [ "$(./primesieve 1e8 -p6 | md5sum | cut -f1 -d' ')" != "0fb813d345c94cf2012588d1f71328b5" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p | md5sum | cut -f1 -d' ')" != "5fbe254a97ad3bbc07c224908c9d59b2" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p2 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p2 | md5sum | cut -f1 -d' ')" != "7a7a770c1841a17a9a63b92b7b6532b9" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p3 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p3 | md5sum | cut -f1 -d' ')" != "72323b08c62ad8342f7331e3d6d45a64" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p4 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p4 | md5sum | cut -f1 -d' ')" != "c2b0818499f77aa35681db3826caf3f6" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p5 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p5 | md5sum | cut -f1 -d' ')" != "11b50e4f75899891a62465f6d68fb76e" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p6 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p6 | md5sum | cut -f1 -d' ')" != "5a0bc83fdef0bb116d60f356adfde52f" ]; then exit 1; fi + + linux_clang: + runs-on: ubuntu-latest + env: + CC: clang + CXX: clang++ + steps: + - uses: actions/checkout@v3 + - name: Install dependencies + run: | + sudo apt update + sudo apt install libomp-dev + - name: Build primesieve + run: | + cmake . -DBUILD_TESTS=ON -DCMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -Werror" + make -j2 VERBOSE=1 + - name: CTest (unit tests) + run: ctest -j2 + - name: primesieve --test option + run: ./primesieve --test + # Run primesieve binary + - name: primesieve --cpu-info + run: ./primesieve --cpu-info + - name: primesieve 1e10 + run: ./primesieve 1e10 + - name: primesieve 1e9 --nth-prime + run: ./primesieve 1e9 --nth-prime + - name: primesieve --dist=1e9 --size=32 --print=6 + run: ./primesieve 1e13 --dist=1e9 --size=32 --print=6 + #Test printing primes and prime k-tuplets + - name: primesieve 1e8 -p | md5sum + run: if [ "$(./primesieve 1e8 -p | md5sum | cut -f1 -d' ')" != "4e2b0027288a27e9c99699364877c9db" ]; then exit 1; fi + - name: primesieve 1e8 -p2 | md5sum + run: if [ "$(./primesieve 1e8 -p2 | md5sum | cut -f1 -d' ')" != "5076d235d5b03389034ec107227eab98" ]; then exit 1; fi + - name: primesieve 1e8 -p3 | md5sum + run: if [ "$(./primesieve 1e8 -p3 | md5sum | cut -f1 -d' ')" != "1b40d7e67868ccc857df11c3e0f7e0f5" ]; then exit 1; fi + - name: primesieve 1e8 -p4 | md5sum + run: if [ "$(./primesieve 1e8 -p4 | md5sum | cut -f1 -d' ')" != "b998d7cdbeae6623cdecba1b921cb2e1" ]; then exit 1; fi + - name: primesieve 1e8 -p5 | md5sum + run: if [ "$(./primesieve 1e8 -p5 | md5sum | cut -f1 -d' ')" != "1ec7d5704d7399caf43667090b5bf836" ]; then exit 1; fi + - name: primesieve 1e8 -p6 | md5sum + run: if [ "$(./primesieve 1e8 -p6 | md5sum | cut -f1 -d' ')" != "0fb813d345c94cf2012588d1f71328b5" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p | md5sum | cut -f1 -d' ')" != "5fbe254a97ad3bbc07c224908c9d59b2" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p2 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p2 | md5sum | cut -f1 -d' ')" != "7a7a770c1841a17a9a63b92b7b6532b9" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p3 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p3 | md5sum | cut -f1 -d' ')" != "72323b08c62ad8342f7331e3d6d45a64" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p4 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p4 | md5sum | cut -f1 -d' ')" != "c2b0818499f77aa35681db3826caf3f6" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p5 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p5 | md5sum | cut -f1 -d' ')" != "11b50e4f75899891a62465f6d68fb76e" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p6 | md5sum + run: if [ "$(./primesieve 1e10 -d1e8 -p6 | md5sum | cut -f1 -d' ')" != "5a0bc83fdef0bb116d60f356adfde52f" ]; then exit 1; fi + + macos_clang: + runs-on: macos-latest + env: + CC: clang + CXX: clang++ + steps: + - uses: actions/checkout@v3 + - name: Build primesieve + run: | + cmake . -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$(pwd) + make -j2 VERBOSE=1 + make install + - name: CTest (unit tests) + run: ctest -j2 + - name: primesieve --test option + run: ./primesieve --test + # Run primesieve binary + - name: primesieve --cpu-info + run: ./primesieve --cpu-info + - name: primesieve 1e10 + run: ./primesieve 1e10 + - name: primesieve 1e9 --nth-prime + run: ./primesieve 1e9 --nth-prime + - name: primesieve --dist=1e9 --size=32 --print=6 + run: ./primesieve 1e13 --dist=1e9 --size=32 --print=6 + #Test printing primes and prime k-tuplets + - name: primesieve 1e8 -p | md5 + run: if [ "$(./primesieve 1e8 -p | md5 | cut -f1 -d' ')" != "4e2b0027288a27e9c99699364877c9db" ]; then exit 1; fi + - name: primesieve 1e8 -p2 | md5 + run: if [ "$(./primesieve 1e8 -p2 | md5 | cut -f1 -d' ')" != "5076d235d5b03389034ec107227eab98" ]; then exit 1; fi + - name: primesieve 1e8 -p3 | md5 + run: if [ "$(./primesieve 1e8 -p3 | md5 | cut -f1 -d' ')" != "1b40d7e67868ccc857df11c3e0f7e0f5" ]; then exit 1; fi + - name: primesieve 1e8 -p4 | md5 + run: if [ "$(./primesieve 1e8 -p4 | md5 | cut -f1 -d' ')" != "b998d7cdbeae6623cdecba1b921cb2e1" ]; then exit 1; fi + - name: primesieve 1e8 -p5 | md5 + run: if [ "$(./primesieve 1e8 -p5 | md5 | cut -f1 -d' ')" != "1ec7d5704d7399caf43667090b5bf836" ]; then exit 1; fi + - name: primesieve 1e8 -p6 | md5 + run: if [ "$(./primesieve 1e8 -p6 | md5 | cut -f1 -d' ')" != "0fb813d345c94cf2012588d1f71328b5" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p | md5 + run: if [ "$(./primesieve 1e10 -d1e8 -p | md5 | cut -f1 -d' ')" != "5fbe254a97ad3bbc07c224908c9d59b2" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p2 | md5 + run: if [ "$(./primesieve 1e10 -d1e8 -p2 | md5 | cut -f1 -d' ')" != "7a7a770c1841a17a9a63b92b7b6532b9" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p3 | md5 + run: if [ "$(./primesieve 1e10 -d1e8 -p3 | md5 | cut -f1 -d' ')" != "72323b08c62ad8342f7331e3d6d45a64" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p4 | md5 + run: if [ "$(./primesieve 1e10 -d1e8 -p4 | md5 | cut -f1 -d' ')" != "c2b0818499f77aa35681db3826caf3f6" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p5 | md5 + run: if [ "$(./primesieve 1e10 -d1e8 -p5 | md5 | cut -f1 -d' ')" != "11b50e4f75899891a62465f6d68fb76e" ]; then exit 1; fi + - name: primesieve 1e10 -d1e8 -p6 | md5 + run: if [ "$(./primesieve 1e10 -d1e8 -p6 | md5 | cut -f1 -d' ')" != "5a0bc83fdef0bb116d60f356adfde52f" ]; then exit 1; fi + + # See documentation: https://www.msys2.org/docs/ci/ + windows_mingw64: + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v3 + - uses: msys2/setup-msys2@v2 + with: + update: true + install: base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake + - name: Build primesieve + run: | + cmake . -G "Unix Makefiles" -DBUILD_TESTS=ON -DCMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -Werror" + make -j2 VERBOSE=1 + - name: CTest (unit tests) + run: ctest -j2 + - name: primesieve --test option + run: ./primesieve --test + - name: primesieve --cpu-info + run: ./primesieve --cpu-info + - name: primesieve --print + run: ./primesieve 1000 --print + + windows_msvc2022: + runs-on: windows-2022 + steps: + - uses: actions/checkout@v3 + - name: Build primesieve + run: | + cmake . -G "Visual Studio 17 2022" -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON + cmake --build . --config Release --target install + - name: CTest (unit tests) + run: ctest -j2 -C Release --output-on-failure + - name: primesieve --test option + run: Release\primesieve.exe --test + - name: primesieve --cpu-info + run: Release\primesieve.exe --cpu-info + - name: primesieve --print + run: Release\primesieve.exe 1000 --print diff --git a/.gitignore b/.gitignore index b56746844..09a418730 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .* *~ +!/.github !/.gitignore *.exe *.tar.gz diff --git a/CMakeLists.txt b/CMakeLists.txt index d3cf2231c..248768ade 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.4...3.22) project(primesieve CXX) -set(PRIMESIEVE_VERSION "11.1") -set(PRIMESIEVE_SOVERSION "11.1.0") +set(PRIMESIEVE_VERSION "11.2") +set(PRIMESIEVE_SOVERSION "11.2.0") # Build options ###################################################### diff --git a/ChangeLog b/ChangeLog index 644f7084f..0d5b9f68a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Changes in version 11.2, 11/09/2023 +=================================== + +* .github/workflows/ci.yml: Port AppVeyor CI tests to GitHub Actions. +* doc/C_API.md: Fix off by 1 error in OpenMP example #137. +* doc/CPP_API.md: Fix off by 1 error in OpenMP example #137. +* iterator.h: Improve documentation. +* iterator.hpp: Improve documentation. + Changes in version 11.1, 12/05/2023 =================================== diff --git a/README.md b/README.md index 1a9da21c8..189e11d63 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # primesieve -[![Build Status](https://ci.appveyor.com/api/projects/status/github/kimwalisch/primesieve?branch=master&svg=true)](https://ci.appveyor.com/project/kimwalisch/primesieve) +[![Build status](https://github.com/kimwalisch/primesieve/actions/workflows/ci.yml/badge.svg)](https://github.com/kimwalisch/primesieve/actions/workflows/ci.yml) [![Github Releases](https://img.shields.io/github/release/kimwalisch/primesieve.svg)](https://github.com/kimwalisch/primesieve/releases) primesieve is a command-line program and C/C++ library for quickly generating prime numbers. diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index eeb096e41..000000000 --- a/appveyor.yml +++ /dev/null @@ -1,132 +0,0 @@ -# Automated testing using appveyor.com -# https://ci.appveyor.com/projects - -version: 1.0.{build} - -image: -- Ubuntu -- macos -- Visual Studio 2019 - -branches: - except: - - gh-pages - -platform: - - x64 - -configuration: - - Debug - - Release - -for: - # Test using GCC sanitizers - - matrix: - only: - - image: Ubuntu - platform: x64 - configuration: Debug - environment: - CFLAGS: "-Wall -Wextra -pedantic -Werror -Wno-long-long -O1 -g -fsanitize=address -fsanitize=undefined -fno-sanitize-recover=all -fno-omit-frame-pointer" - CXXFLAGS: "-Wall -Wextra -pedantic -Werror -Wno-long-long -O1 -g -fsanitize=address -fsanitize=undefined -fno-sanitize-recover=all -fno-omit-frame-pointer" - build_script: - - cmake . -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=$CONFIGURATION - - make VERBOSE=1 - test_script: - - ctest - # Run primesieve binary - - ./primesieve 1e10 - - ./primesieve 1e9 --nth-prime - - ./primesieve 1e13 --dist=1e9 --size=32 --print=6 - # Test printing primes and prime k-tuplets - - if [ "$(./primesieve 1e8 -p | md5sum | cut -f1 -d' ')" != "4e2b0027288a27e9c99699364877c9db" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p2 | md5sum | cut -f1 -d' ')" != "5076d235d5b03389034ec107227eab98" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p3 | md5sum | cut -f1 -d' ')" != "1b40d7e67868ccc857df11c3e0f7e0f5" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p4 | md5sum | cut -f1 -d' ')" != "b998d7cdbeae6623cdecba1b921cb2e1" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p5 | md5sum | cut -f1 -d' ')" != "1ec7d5704d7399caf43667090b5bf836" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p6 | md5sum | cut -f1 -d' ')" != "0fb813d345c94cf2012588d1f71328b5" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p | md5sum | cut -f1 -d' ')" != "5fbe254a97ad3bbc07c224908c9d59b2" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p2 | md5sum | cut -f1 -d' ')" != "7a7a770c1841a17a9a63b92b7b6532b9" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p3 | md5sum | cut -f1 -d' ')" != "72323b08c62ad8342f7331e3d6d45a64" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p4 | md5sum | cut -f1 -d' ')" != "c2b0818499f77aa35681db3826caf3f6" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p5 | md5sum | cut -f1 -d' ')" != "11b50e4f75899891a62465f6d68fb76e" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p6 | md5sum | cut -f1 -d' ')" != "5a0bc83fdef0bb116d60f356adfde52f" ]; then exit 1; fi - - - matrix: - only: - - image: Ubuntu - platform: x64 - configuration: Release - environment: - CFLAGS: "-Wall -Wextra -pedantic -Werror -Wno-long-long" - CXXFLAGS: "-Wall -Wextra -pedantic -Werror -Wno-long-long" - install: - - sudo apt update -qq - - sudo apt install -y asciidoc libxml2-utils xmlto - build_script: - - cmake . -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DBUILD_MANPAGE=ON -DCMAKE_BUILD_TYPE=$CONFIGURATION -DCMAKE_INSTALL_PREFIX=$(pwd) - - make VERBOSE=1 - - make install - test_script: - - ctest - # Run primesieve binary - - ./primesieve 1e10 - - ./primesieve 1e9 --nth-prime - - ./primesieve 1e13 --dist=1e9 --size=32 --print=6 - # Test printing primes and prime k-tuplets - - if [ "$(./primesieve 1e8 -p | md5sum | cut -f1 -d' ')" != "4e2b0027288a27e9c99699364877c9db" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p2 | md5sum | cut -f1 -d' ')" != "5076d235d5b03389034ec107227eab98" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p3 | md5sum | cut -f1 -d' ')" != "1b40d7e67868ccc857df11c3e0f7e0f5" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p4 | md5sum | cut -f1 -d' ')" != "b998d7cdbeae6623cdecba1b921cb2e1" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p5 | md5sum | cut -f1 -d' ')" != "1ec7d5704d7399caf43667090b5bf836" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p6 | md5sum | cut -f1 -d' ')" != "0fb813d345c94cf2012588d1f71328b5" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p | md5sum | cut -f1 -d' ')" != "5fbe254a97ad3bbc07c224908c9d59b2" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p2 | md5sum | cut -f1 -d' ')" != "7a7a770c1841a17a9a63b92b7b6532b9" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p3 | md5sum | cut -f1 -d' ')" != "72323b08c62ad8342f7331e3d6d45a64" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p4 | md5sum | cut -f1 -d' ')" != "c2b0818499f77aa35681db3826caf3f6" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p5 | md5sum | cut -f1 -d' ')" != "11b50e4f75899891a62465f6d68fb76e" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p6 | md5sum | cut -f1 -d' ')" != "5a0bc83fdef0bb116d60f356adfde52f" ]; then exit 1; fi - - - matrix: - only: - - image: macos - platform: x64 - environment: - CFLAGS: "-Wall -Wextra -pedantic -Werror -Wno-long-long" - CXXFLAGS: "-Wall -Wextra -pedantic -Werror -Wno-long-long" - build_script: - - cmake . -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=$CONFIGURATION -DCMAKE_INSTALL_PREFIX=$(pwd) - - make VERBOSE=1 - - make install - test_script: - - ctest - # Run primesieve binary - - ./primesieve 1e10 - - ./primesieve 1e9 --nth-prime - - ./primesieve 1e13 --dist=1e9 --size=32 --print=6 - # Test printing primes and prime k-tuplets - - if [ "$(./primesieve 1e8 -p | md5 | cut -f1 -d' ')" != "4e2b0027288a27e9c99699364877c9db" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p2 | md5 | cut -f1 -d' ')" != "5076d235d5b03389034ec107227eab98" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p3 | md5 | cut -f1 -d' ')" != "1b40d7e67868ccc857df11c3e0f7e0f5" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p4 | md5 | cut -f1 -d' ')" != "b998d7cdbeae6623cdecba1b921cb2e1" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p5 | md5 | cut -f1 -d' ')" != "1ec7d5704d7399caf43667090b5bf836" ]; then exit 1; fi - - if [ "$(./primesieve 1e8 -p6 | md5 | cut -f1 -d' ')" != "0fb813d345c94cf2012588d1f71328b5" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p | md5 | cut -f1 -d' ')" != "5fbe254a97ad3bbc07c224908c9d59b2" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p2 | md5 | cut -f1 -d' ')" != "7a7a770c1841a17a9a63b92b7b6532b9" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p3 | md5 | cut -f1 -d' ')" != "72323b08c62ad8342f7331e3d6d45a64" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p4 | md5 | cut -f1 -d' ')" != "c2b0818499f77aa35681db3826caf3f6" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p5 | md5 | cut -f1 -d' ')" != "11b50e4f75899891a62465f6d68fb76e" ]; then exit 1; fi - - if [ "$(./primesieve 1e10 -d1e8 -p6 | md5 | cut -f1 -d' ')" != "5a0bc83fdef0bb116d60f356adfde52f" ]; then exit 1; fi - - - matrix: - only: - - image: Visual Studio 2019 - platform: x64 - environment: - CFLAGS: "/W3 /WX" - CXXFLAGS: "/W3 /WX" - build_script: - - cmake . -G "Visual Studio 16 2019" -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=%Configuration% - - cmake --build . --config %Configuration% --target install - test_script: - - ctest -C %Configuration% diff --git a/include/primesieve.h b/include/primesieve.h index eab5b04ec..f62bb5b75 100644 --- a/include/primesieve.h +++ b/include/primesieve.h @@ -15,9 +15,9 @@ #ifndef PRIMESIEVE_H #define PRIMESIEVE_H -#define PRIMESIEVE_VERSION "11.1" +#define PRIMESIEVE_VERSION "11.2" #define PRIMESIEVE_VERSION_MAJOR 11 -#define PRIMESIEVE_VERSION_MINOR 1 +#define PRIMESIEVE_VERSION_MINOR 2 #include diff --git a/include/primesieve.hpp b/include/primesieve.hpp index 47989e84b..41eb7efc6 100644 --- a/include/primesieve.hpp +++ b/include/primesieve.hpp @@ -13,9 +13,9 @@ #ifndef PRIMESIEVE_HPP #define PRIMESIEVE_HPP -#define PRIMESIEVE_VERSION "11.1" +#define PRIMESIEVE_VERSION "11.2" #define PRIMESIEVE_VERSION_MAJOR 11 -#define PRIMESIEVE_VERSION_MINOR 1 +#define PRIMESIEVE_VERSION_MINOR 2 #include #include