mirror of
https://hub.njuu.cf/TheAlgorithms/Python.git
synced 2023-10-11 13:06:12 +08:00
[mypy] Fix directory arithmetic_analysis (#4304)
* fix directory arithmetic_analysis * Update build.yml * temporary fix for psf/black bug see https://github.com/psf/black/issues/2079 * Update in_static_equilibrium.py
This commit is contained in:
parent
895bca3654
commit
5229c74955
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
||||
python -m pip install mypy pytest-cov -r requirements.txt
|
||||
# FIXME: #4052 fix mypy errors in the exclude directories and remove them below
|
||||
- run: mypy --ignore-missing-imports
|
||||
--exclude '(arithmetic_analysis|ciphers|conversions|data_structures|digital_image_processing|dynamic_programming|graphs|hashes|linear_algebra|maths|matrix|other|project_euler|scripts|searches|strings*)/$' .
|
||||
--exclude '(ciphers|conversions|data_structures|digital_image_processing|dynamic_programming|graphs|hashes|linear_algebra|maths|matrix|other|project_euler|scripts|searches|strings*)/$' .
|
||||
- name: Run tests
|
||||
run: pytest --doctest-modules --ignore=project_euler/ --ignore=scripts/ --cov-report=term-missing:skip-covered --cov=. .
|
||||
- if: ${{ success() }}
|
||||
|
2
.github/workflows/pre-commit.yml
vendored
2
.github/workflows/pre-commit.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
~/.cache/pip
|
||||
key: ${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
|
||||
- uses: actions/setup-python@v2
|
||||
- uses: psf/black@stable
|
||||
- uses: psf/black@20.8b1
|
||||
- name: Install pre-commit
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
|
@ -7,7 +7,7 @@ Gaussian elimination - https://en.wikipedia.org/wiki/Gaussian_elimination
|
||||
import numpy as np
|
||||
|
||||
|
||||
def retroactive_resolution(coefficients: np.matrix, vector: np.array) -> np.array:
|
||||
def retroactive_resolution(coefficients: np.matrix, vector: np.ndarray) -> np.ndarray:
|
||||
"""
|
||||
This function performs a retroactive linear system resolution
|
||||
for triangular matrix
|
||||
@ -38,7 +38,7 @@ def retroactive_resolution(coefficients: np.matrix, vector: np.array) -> np.arra
|
||||
return x
|
||||
|
||||
|
||||
def gaussian_elimination(coefficients: np.matrix, vector: np.array) -> np.array:
|
||||
def gaussian_elimination(coefficients: np.matrix, vector: np.ndarray) -> np.ndarray:
|
||||
"""
|
||||
This function performs Gaussian elimination method
|
||||
|
||||
@ -57,7 +57,7 @@ def gaussian_elimination(coefficients: np.matrix, vector: np.array) -> np.array:
|
||||
# coefficients must to be a square matrix so we need to check first
|
||||
rows, columns = np.shape(coefficients)
|
||||
if rows != columns:
|
||||
return []
|
||||
return np.array((), dtype=float)
|
||||
|
||||
# augmented matrix
|
||||
augmented_mat = np.concatenate((coefficients, vector), axis=1)
|
||||
|
@ -3,7 +3,7 @@ Checks if a system of forces is in static equilibrium.
|
||||
"""
|
||||
from typing import List
|
||||
|
||||
from numpy import array, cos, cross, radians, sin
|
||||
from numpy import array, cos, cross, ndarray, radians, sin
|
||||
|
||||
|
||||
def polar_force(
|
||||
@ -23,7 +23,7 @@ def polar_force(
|
||||
|
||||
|
||||
def in_static_equilibrium(
|
||||
forces: array, location: array, eps: float = 10 ** -1
|
||||
forces: ndarray, location: ndarray, eps: float = 10 ** -1
|
||||
) -> bool:
|
||||
"""
|
||||
Check if a system is in equilibrium.
|
||||
@ -42,7 +42,7 @@ def in_static_equilibrium(
|
||||
False
|
||||
"""
|
||||
# summation of moments is zero
|
||||
moments: array = cross(location, forces)
|
||||
moments: ndarray = cross(location, forces)
|
||||
sum_moments: float = sum(moments)
|
||||
return abs(sum_moments) < eps
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user