Skip to content
Merged
Show file tree
Hide file tree
Changes from 77 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
f24d515
Add test to check challenger's functionality
NimaSarajpoor Mar 1, 2025
8b494c6
add warning to catch issue when function cannot be imported
NimaSarajpoor Mar 1, 2025
5549abf
rename file to reflect expanded scope
NimaSarajpoor Mar 2, 2025
cf79b9a
move functions to utils.py
NimaSarajpoor Mar 2, 2025
a761bc6
testing all modules
NimaSarajpoor Mar 2, 2025
c8efd4c
removed unnecssary import
NimaSarajpoor Mar 2, 2025
69226bb
minor fix
NimaSarajpoor Mar 2, 2025
d0b3324
catch the name of module when there is error
NimaSarajpoor Mar 2, 2025
b1e443a
Merge branch 'main' into add_test
NimaSarajpoor Mar 5, 2025
461fdf6
rename files
NimaSarajpoor Mar 5, 2025
f60b215
remove unnecessary imports and minor changes
NimaSarajpoor Mar 5, 2025
c0008ca
enhance test functions
NimaSarajpoor Mar 5, 2025
e2a097d
minor fixes
NimaSarajpoor Mar 5, 2025
64fc128
Improve msg when assetion fails
NimaSarajpoor Mar 6, 2025
667da6c
add test.sh and other files and clean up scripts
NimaSarajpoor Mar 6, 2025
164e061
add requirements file and github-actions
NimaSarajpoor Mar 6, 2025
e0788b5
Empty commit
NimaSarajpoor Mar 6, 2025
cf607dd
add pytest installation to github actions
NimaSarajpoor Mar 6, 2025
0334788
To run github actions on push on any branch
NimaSarajpoor Mar 6, 2025
6c6058c
minor fix
NimaSarajpoor Mar 6, 2025
8342667
Add pyFFTW to requirements
NimaSarajpoor Mar 6, 2025
ef517dd
Removed python 3.9 and OpenMP
NimaSarajpoor Mar 6, 2025
e43758a
change file mode
NimaSarajpoor Mar 6, 2025
0b1f7f7
fix shape of irfft output
NimaSarajpoor Mar 6, 2025
0c578d3
clean up cache in sdp/
NimaSarajpoor Mar 6, 2025
1570538
change push branch in github-actions
NimaSarajpoor Mar 8, 2025
34b1c93
fix python version in Github Action
NimaSarajpoor Mar 8, 2025
2355ebe
empty commit
NimaSarajpoor Mar 8, 2025
f6f817d
revert a change in github actions
NimaSarajpoor Mar 8, 2025
d5ae710
Add brackets to fix bash script
NimaSarajpoor Mar 9, 2025
aaa062f
temporarily hardcoded python version
NimaSarajpoor Mar 9, 2025
4f6cb91
temporarily
NimaSarajpoor Mar 9, 2025
d4b0c0b
set python version based on the output of a shell script
NimaSarajpoor Mar 9, 2025
f58f8ab
remove leading dash for run
NimaSarajpoor Mar 9, 2025
1751dc4
fixed running shell script
NimaSarajpoor Mar 9, 2025
c27d50f
revised flow to directly assign output to python version variable
NimaSarajpoor Mar 9, 2025
8e90ad5
clean up output
NimaSarajpoor Mar 9, 2025
d180987
minor change
NimaSarajpoor Mar 9, 2025
fc3516e
check version in bash
NimaSarajpoor Mar 9, 2025
031a49f
add python version to GITHUB_ENV in two steps
NimaSarajpoor Mar 9, 2025
35c19f5
fixed assigning value
NimaSarajpoor Mar 9, 2025
dcb8b09
removed echo for python-version
NimaSarajpoor Mar 9, 2025
cd9fd38
directly echo using output of shell script
NimaSarajpoor Mar 9, 2025
ac760e3
Revert change in github action and update python_version to make it m…
NimaSarajpoor Mar 9, 2025
6fedc8d
Removed flag verbose
NimaSarajpoor Mar 9, 2025
734ba7f
Add different cases for tests
NimaSarajpoor Mar 9, 2025
ac940d3
minor changes
NimaSarajpoor Mar 9, 2025
dcad2d0
install xmllint on linux
NimaSarajpoor Mar 10, 2025
8483776
Add shell bash
NimaSarajpoor Mar 10, 2025
30a42fe
improve test functions
NimaSarajpoor Mar 11, 2025
94f3835
fixed black format
NimaSarajpoor Mar 11, 2025
595841f
minor fix
NimaSarajpoor Mar 11, 2025
45cb28f
set push-to-branch to main
NimaSarajpoor Mar 11, 2025
8818cbd
empty commit
NimaSarajpoor Mar 11, 2025
70eb9df
revert change in github-action
NimaSarajpoor Mar 11, 2025
789a0a3
minor fix
NimaSarajpoor Mar 11, 2025
c246a70
add coverage check
NimaSarajpoor Mar 11, 2025
1e030da
only test for some n_Q
NimaSarajpoor Mar 12, 2025
90da515
improve docstring
NimaSarajpoor Mar 12, 2025
9c08d09
fix black formatting
NimaSarajpoor Mar 12, 2025
17c12cd
remove shell script and move code to Github-Actions
NimaSarajpoor Mar 12, 2025
a570f87
Add coverage installation to workflow
NimaSarajpoor Mar 12, 2025
948f7e8
ignore untested lines in coverage
NimaSarajpoor Mar 13, 2025
f0ec471
testing for more values of n_Q
NimaSarajpoor Mar 13, 2025
53de511
use conda to install dependencies on Github Actions
NimaSarajpoor Mar 16, 2025
37a024b
update environment.yml and workflow
NimaSarajpoor Mar 17, 2025
afc2eb2
Removed requirements.txt
NimaSarajpoor Mar 17, 2025
8671d1d
add test for setup function
NimaSarajpoor Mar 17, 2025
9a67f19
including setup for coverage
NimaSarajpoor Mar 17, 2025
4077e08
update gitignore
NimaSarajpoor Mar 17, 2025
092a033
change push branch
NimaSarajpoor Mar 17, 2025
b14b43d
Removed unnecessary check for ENV VAR
NimaSarajpoor Mar 17, 2025
72f74f4
Removed manipulation of unnecessary env var
NimaSarajpoor Mar 17, 2025
aac2bc3
execute instead of sourcing
NimaSarajpoor Mar 17, 2025
93432db
remove test from timing
NimaSarajpoor Mar 18, 2025
7cf868b
minor fix
NimaSarajpoor Mar 18, 2025
279f4ad
revise test_setup
NimaSarajpoor Mar 18, 2025
74e8118
addressed comments
NimaSarajpoor Mar 19, 2025
f8da7e7
add comment to describe test_inputs
NimaSarajpoor Mar 19, 2025
2c5c631
fix format
NimaSarajpoor Mar 19, 2025
47bcaf1
change push branches to main
NimaSarajpoor Mar 19, 2025
a568ff4
Removed unnecessary step in Github Action
NimaSarajpoor Mar 19, 2025
1ff353a
minor change
NimaSarajpoor Mar 19, 2025
6720f80
improve description of step
NimaSarajpoor Mar 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[flake8]
ignore =
E741,
W503,
E203,
D100,
D401,
D200,
D205,
D400,
D301
max-line-length = 88
docstring-convention=numpy
per-file-ignores =
./test.py:D101,D102,D103
63 changes: 63 additions & 0 deletions .github/workflows/github-actions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Tests
on:
push:
branches: add_test
pull_request:
branches: main

jobs:
unit-testing:
defaults:
run:
# Set default shell to login-bash
# This is required to properly activate the conda environment
# https://github.com/conda-incubator/setup-miniconda?tab=readme-ov-file#use-a-default-shell
shell: bash -el {0}

runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- name: Install xmllint on Linux
if: runner.os == 'Linux'
run: sudo apt-get install libxml2-utils

- name: Get safe PYTHON_VERSION
run: echo "PYTHON_VERSION=$(curl --location https://devguide.python.org/versions | xmllint --html --xpath '//section[@id="supported-versions"]//table/tbody/tr[count(//section[@id="supported-versions"]//table/tbody/tr[td[.="security"]]/preceding-sibling::*)]/td[1]/p/text()' - 2> /dev/null)" >> $GITHUB_ENV

- name: Checkout Repository
uses: actions/checkout@v4

- name: Update environment.yml with PYTHON_VERSION
run: sed 's/python.*/python==${{ env.PYTHON_VERSION }}/' environment.yml > environment_new.yml

- name: Display environment_new.yml
run: cat environment_new.yml

- name: set up conda and install dependencies
uses: conda-incubator/setup-miniconda@v3
with:
environment-file: environment_new.yml

- name : Remove environment_new.yml
run: rm -rf environment_new.yml

- name : Display Conda Environments
run: conda env list

- name: Display conda info
run: conda info

- name: Display conda list
run: conda list

- name: Display Python Version
run: python -c "import sys; print(sys.version)"

- name: Show Full Numba Environment
run: python -m numba -s

- name: Run Unit Tests
run: ./test.sh
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
__pycache__
*csv
.ipynb_checkpoints
.coverage
4 changes: 2 additions & 2 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ dependencies:
- numba>=0.59.1
- fftw
- pyfftw
- jax
- panel
- pandas>=0.20.0
- flake8>=3.7.7
- black>=22.1.0
- jupyterlab>=3.0
- matplotlib>=3.3.0
- isort>=5.11.0
- pytest>=4.4.1
- coverage>=4.5.3
1 change: 0 additions & 1 deletion sdp/njit_sdp.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import numpy as np
from numba import njit
import sdp


@njit(fastmath=True)
Expand Down
5 changes: 3 additions & 2 deletions sdp/numpy_fft_sdp.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ def sliding_dot_product(Q, T, order="F"):
tmp = np.empty((2, shape), order=order)
tmp[0, :m] = Q[::-1]
tmp[0, m:] = 0.0
tmp[1, :] = T
tmp[1, :n] = T
tmp[1, n:] = 0.0
fft_2d = np.fft.rfft(tmp, axis=-1)

return np.fft.irfft(np.multiply(fft_2d[0], fft_2d[1]))[m - 1 : n]
return np.fft.irfft(np.multiply(fft_2d[0], fft_2d[1]), n=shape)[m - 1 : n]
Loading