Skip to content

Commit 8f6d29d

Browse files
committed
Merge branch 'master' into projection
2 parents ce6169a + 008bc5b commit 8f6d29d

File tree

9 files changed

+279
-156
lines changed

9 files changed

+279
-156
lines changed

.cirrus.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
task:
2+
timeout_in: 15m
3+
matrix:
4+
- name: FreeBSD
5+
freebsd_instance:
6+
image_family: freebsd-13-1
7+
env:
8+
matrix:
9+
- JULIA_VERSION: 1.6
10+
- JULIA_VERSION: 1
11+
- JULIA_VERSION: nightly
12+
- name: Linux ARMv8
13+
arm_container:
14+
image: ubuntu:latest
15+
env:
16+
matrix:
17+
- JULIA_VERSION: 1.6
18+
- JULIA_VERSION: 1
19+
- JULIA_VERSION: nightly
20+
- name: musl Linux
21+
container:
22+
image: alpine:3.14
23+
env:
24+
matrix:
25+
- JULIA_VERSION: 1.6
26+
- JULIA_VERSION: 1
27+
- JULIA_VERSION: nightly
28+
- name: MacOS M1
29+
macos_instance:
30+
image: ghcr.io/cirruslabs/macos-monterey-base:latest
31+
env:
32+
matrix:
33+
# - JULIA_VERSION: 1.6 # not available
34+
- JULIA_VERSION: 1
35+
- JULIA_VERSION: nightly
36+
37+
allow_failures: $JULIA_VERSION == 'nightly'
38+
install_script: |
39+
URL="https://raw.githubusercontent.com/ararslan/CirrusCI.jl/master/bin/install.sh"
40+
set -x
41+
if [ "$(uname -s)" = "Linux" ] && command -v apt; then
42+
apt update
43+
apt install -y curl
44+
fi
45+
if command -v curl; then
46+
sh -c "$(curl ${URL})"
47+
elif command -v wget; then
48+
sh -c "$(wget ${URL} -O-)"
49+
elif command -v fetch; then
50+
sh -c "$(fetch ${URL} -o -)"
51+
else
52+
echo "No downloader installed! :( Install one! :)"
53+
fi
54+
build_script:
55+
- cirrusjl build
56+
test_script:
57+
- cirrusjl test
58+
coverage_script:
59+
- cirrusjl coverage codecov

.drone.jsonnet

Lines changed: 0 additions & 28 deletions
This file was deleted.

.drone.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.

.github/workflows/CI.yml

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,15 @@ on:
77
- master
88
tags: '*'
99

10+
concurrency:
11+
# Skip intermediate builds: always.
12+
# Cancel intermediate builds: always.
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: true
15+
1016
jobs:
1117
test:
12-
timeout-minutes: 10
18+
timeout-minutes: 15
1319
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - provider ${{ matrix.provider }} - ${{ matrix.threads }} thread(s)
1420
runs-on: ${{ matrix.os }}
1521
env:
@@ -45,21 +51,12 @@ jobs:
4551
threads: '2'
4652

4753
steps:
48-
- uses: actions/checkout@v2
54+
- uses: actions/checkout@v3
4955
- uses: julia-actions/setup-julia@v1
5056
with:
5157
version: ${{ matrix.version }}
5258
arch: ${{ matrix.arch }}
53-
- uses: actions/cache@v2
54-
env:
55-
cache-name: cache-artifacts
56-
with:
57-
path: ~/.julia/artifacts
58-
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
59-
restore-keys: |
60-
${{ runner.os }}-test-${{ env.cache-name }}-
61-
${{ runner.os }}-test-
62-
${{ runner.os }}-
59+
- uses: julia-actions/cache@v1
6360
- name: Set Preferences
6461
run: julia --project .github/set_ci_preferences.jl "${{ matrix.provider }}"
6562
- uses: julia-actions/julia-runtest@v1
@@ -71,21 +68,11 @@ jobs:
7168
Documentation:
7269
runs-on: ubuntu-latest
7370
steps:
74-
- uses: actions/checkout@v2
71+
- uses: actions/checkout@v3
7572
- uses: julia-actions/setup-julia@latest
7673
with:
7774
version: 1
78-
- name: Cache artifacts
79-
uses: actions/cache@v2
80-
env:
81-
cache-name: cache-artifacts
82-
with:
83-
path: ~/.julia/artifacts
84-
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/docs/Project.toml') }}
85-
restore-keys: |
86-
${{ runner.os }}-test-${{ env.cache-name }}-
87-
${{ runner.os }}-test-
88-
${{ runner.os }}-
75+
- uses: julia-actions/cache@v1
8976
- uses: julia-actions/julia-buildpkg@v1
9077
- uses: julia-actions/julia-docdeploy@releases/v1
9178
env:

.github/workflows/Invalidations.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Invalidations
2+
3+
on:
4+
pull_request:
5+
6+
concurrency:
7+
# Skip intermediate builds: always.
8+
# Cancel intermediate builds: always.
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
jobs:
13+
evaluate:
14+
# Only run on PRs to the default branch.
15+
# In the PR trigger above branches can be specified only explicitly whereas this check should work for master, main, or any other default branch
16+
if: github.base_ref == github.event.repository.default_branch
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: julia-actions/setup-julia@v1
20+
with:
21+
version: '1'
22+
- uses: actions/checkout@v3
23+
- uses: julia-actions/julia-buildpkg@v1
24+
- uses: julia-actions/julia-invalidations@v1
25+
id: invs_pr
26+
27+
- uses: actions/checkout@v3
28+
with:
29+
ref: ${{ github.event.repository.default_branch }}
30+
- uses: julia-actions/julia-buildpkg@v1
31+
- uses: julia-actions/julia-invalidations@v1
32+
id: invs_default
33+
34+
- name: Report invalidation counts
35+
run: |
36+
echo "Invalidations on default branch: ${{ steps.invs_default.outputs.total }} (${{ steps.invs_default.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY
37+
echo "This branch: ${{ steps.invs_pr.outputs.total }} (${{ steps.invs_pr.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY
38+
- name: Check if the PR does increase number of invalidations
39+
if: steps.invs_pr.outputs.total > steps.invs_default.outputs.total
40+
run: exit 1

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "FFTW"
22
uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
3-
version = "1.5.0"
3+
version = "1.7.1"
44

55
[deps]
66
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"
@@ -13,7 +13,7 @@ Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
1313
[compat]
1414
AbstractFFTs = "1.0"
1515
FFTW_jll = "3.3.9"
16-
MKL_jll = "2019.0.117, 2020, 2021, 2022"
16+
MKL_jll = "2019.0.117, 2020, 2021, 2022, 2023"
1717
Preferences = "1.2"
1818
Reexport = "0.2, 1.0"
1919
julia = "1.6"

src/dct.jl

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,14 @@ function idct! end
8080
# Unlike Matlab we compute the multidimensional transform by default,
8181
# similar to the Julia fft functions.
8282

83-
mutable struct DCTPlan{T<:fftwNumber,K,inplace} <: Plan{T}
84-
plan::r2rFFTWPlan{T}
85-
r::Array{UnitRange{Int}} # array of indices for rescaling
83+
mutable struct DCTPlan{T<:fftwNumber,K,inplace,G,R<:r2rFFTWPlan{T}} <: Plan{T}
84+
plan::R
85+
r::Vector{UnitRange{Int}} # array of indices for rescaling
8686
nrm::Float64 # normalization factor
87-
region::Dims # dimensions being transformed
87+
region::G # dimensions being transformed
8888
pinv::DCTPlan{T}
89-
DCTPlan{T,K,inplace}(plan,r,nrm,region) where {T<:fftwNumber,K,inplace} = new(plan,r,nrm,region)
89+
DCTPlan{T,K,inplace}(plan::R,r,nrm,region::G) where {T<:fftwNumber,K,inplace,G,R<:r2rFFTWPlan{T}} =
90+
new{T,K,inplace,G,R}(plan,r,nrm,region)
9091
end
9192

9293
size(p::DCTPlan) = size(p.plan)

0 commit comments

Comments
 (0)