diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 5ef731d..145c3b0 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -16,21 +16,21 @@ on: - Project.toml jobs: test: - name: Julia ${{ matrix.julia-version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + name: Julia ${{ matrix.julia-version }} - ${{ matrix.os }} - ${{ matrix.julia-arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [windows-latest, macos-latest] - julia-version: ['1.10', 'lts'] - arch: - - x64 + julia-arch: [x64] + julia-version: ['1.10','1.11','1.12', 'lts'] + steps: - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.julia-version }} - arch: ${{ matrix.arch }} + arch: ${{ matrix.julia-arch }} - uses: actions/cache@v4 env: cache-name: cache-artifacts @@ -45,7 +45,7 @@ jobs: ${{ runner.os }}- - uses: julia-actions/julia-buildpkg@v1 - name: Resolve/Update dependencies - run: julia -e 'using Pkg; Pkg.resolve()' # Or Pkg.update() + run: julia -e 'using Pkg; Pkg.activate("."); Pkg.instantiate(); Pkg.update();' # Or Pkg.update() - uses: julia-actions/julia-runtest@v1 with: annotate: true diff --git a/Project.toml b/Project.toml index 02d7e07..35d26d1 100644 --- a/Project.toml +++ b/Project.toml @@ -3,6 +3,9 @@ uuid = "c853eca7-4467-4dac-871a-88cef1644acc" version = "1.0.0" authors = [] +[workspace] +projects = ["test", "docs"] + [deps] AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" @@ -17,14 +20,8 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [weakdeps] -AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" -FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -[extras] -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" # UUID for the standard library Test -AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" - [compat] AbstractFFTs = "1" FFTW = "1" @@ -32,9 +29,14 @@ FileIO = "1" ImageIO = "0.6" ImageMagick = "1" Images = "0.26" -MAT = "0.10, 0.11" +MAT = "0.10" Plots = "1" Statistics = "1" +[extras] +AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" +FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + [targets] test = ["Test", "FFTW", "AbstractFFTs"] diff --git a/docs/Project.toml b/docs/Project.toml new file mode 100644 index 0000000..dfa65cd --- /dev/null +++ b/docs/Project.toml @@ -0,0 +1,2 @@ +[deps] +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 0000000..d3d9908 --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,26 @@ +using Documenter, PolyharmonicTrigTransforms + +makedocs( + sitename="PolyharmonicTrigTransforms.jl", + format = Documenter.HTML(collapselevel = 1), + authors = "", + clean = true, + pages = [ + "Home" => "index.md", + "Examples" => [ + "LLST" => "examples/llst.md", + ], + "Functions" => [ + "DST" => "docs/dst.md", + "Utils" => "functions/Utils.md", + ], + ] +) + + +# Documenter can also automatically deploy documentation to gh-pages. +# See "Hosting Documentation" and deploydocs() in the Documenter manual +# for more information. +deploydocs( + repo = "github.com/UCD4IDS/PolyharmonicTrigTransforms.jl.git" +) \ No newline at end of file diff --git a/docs/src/dst.md b/docs/src/dst.md new file mode 100644 index 0000000..bae9d3e --- /dev/null +++ b/docs/src/dst.md @@ -0,0 +1,28 @@ +For Intel might need to run for MKL +FFTW.set_provider!("mkl") +# DST Discrete Sine Transform. +Computes the type I discrete sine transform of 'x'. If 'n' is given, +then 'x' is padded or trimmed to length 'n' before computing the +transform. If 'x' is a matrix, compute the transform along the columns of +the matrix. + +The discrete sine transform X of x can be defined as follows: +`NX[k] = sum x[n] sin (pi n k / (N+1)), k = 1, ..., N + n=1 +` +Syntax: +y = DST(x) +y = DST(x, n) + +Inputs: +x - vector to be transformed +n - length of tranform to perform + +Outputs: +y - tranformed vector + +Author: +Jason Hee Yoon (2022) +Shuchen Ye (2022) + +See also: IDST \ No newline at end of file diff --git a/docs/src/idst.md b/docs/src/idst.md new file mode 100644 index 0000000..bae9d3e --- /dev/null +++ b/docs/src/idst.md @@ -0,0 +1,28 @@ +For Intel might need to run for MKL +FFTW.set_provider!("mkl") +# DST Discrete Sine Transform. +Computes the type I discrete sine transform of 'x'. If 'n' is given, +then 'x' is padded or trimmed to length 'n' before computing the +transform. If 'x' is a matrix, compute the transform along the columns of +the matrix. + +The discrete sine transform X of x can be defined as follows: +`NX[k] = sum x[n] sin (pi n k / (N+1)), k = 1, ..., N + n=1 +` +Syntax: +y = DST(x) +y = DST(x, n) + +Inputs: +x - vector to be transformed +n - length of tranform to perform + +Outputs: +y - tranformed vector + +Author: +Jason Hee Yoon (2022) +Shuchen Ye (2022) + +See also: IDST \ No newline at end of file diff --git a/docs/src/llst.md b/docs/src/llst.md new file mode 100644 index 0000000..2caface --- /dev/null +++ b/docs/src/llst.md @@ -0,0 +1,28 @@ +llFor Intel might need to run for MKL +FFTW.set_provider!("mkl") +# DST Discrete Sine Transform. +Computes the type I discrete sine transform of 'x'. If 'n' is given, +then 'x' is padded or trimmed to length 'n' before computing the +transform. If 'x' is a matrix, compute the transform along the columns of +the matrix. + +The discrete sine transform X of x can be defined as follows: +`NX[k] = sum x[n] sin (pi n k / (N+1)), k = 1, ..., N + n=1 +` +Syntax: +y = DST(x) +y = DST(x, n) + +Inputs: +x - vector to be transformed +n - length of tranform to perform + +Outputs: +y - tranformed vector + +Author: +Jason Hee Yoon (2022) +Shuchen Ye (2022) + +See also: IDST \ No newline at end of file