-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: integral #55
chore: integral #55
Conversation
OpenSeries/matematika.py
Outdated
def integral( | ||
f: Callable[[float], float], a: float, b: float, iterable: int = 4 | ||
) -> float: | ||
""" | ||
integral merupakan suatu konsep yang merupakan operasi kebalikan dari diferensiasi. | ||
Integral memiliki dua bentuk utama: integral tak tentu (indefinite integral) | ||
dan integral tentu (definite integral). | ||
Args: | ||
f (Callable[[float],float]): fungsi input | ||
a (float): nilai awal | ||
b (float): nilai atas | ||
iterable (int, optional): mengatur putaran. Defaults to 4. | ||
|
||
""" | ||
delta = (b - a) / iterable | ||
result = 0.5 * (f(a) + f(b)) | ||
for i in range(1, iterable): | ||
result += f(a + i * delta) | ||
return round(result * delta) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def integral( | |
f: Callable[[float], float], a: float, b: float, iterable: int = 4 | |
) -> float: | |
""" | |
integral merupakan suatu konsep yang merupakan operasi kebalikan dari diferensiasi. | |
Integral memiliki dua bentuk utama: integral tak tentu (indefinite integral) | |
dan integral tentu (definite integral). | |
Args: | |
f (Callable[[float],float]): fungsi input | |
a (float): nilai awal | |
b (float): nilai atas | |
iterable (int, optional): mengatur putaran. Defaults to 4. | |
""" | |
delta = (b - a) / iterable | |
result = 0.5 * (f(a) + f(b)) | |
for i in range(1, iterable): | |
result += f(a + i * delta) | |
return round(result * delta) | |
def integral( | |
f: Callable[[float], float], a: float, b: float, iterable: int = 4 | |
) -> Union[float, error.errorTipeData]: | |
""" | |
integral merupakan suatu konsep yang merupakan operasi kebalikan dari diferensiasi. | |
Integral memiliki dua bentuk utama: integral tak tentu (indefinite integral) | |
dan integral tentu (definite integral). | |
Parameter: | |
f (Callable[[float],float]): fungsi input | |
a (float): nilai awal | |
b (float): nilai atas | |
iterable (int, optional): mengatur putaran. Defaults to 4. | |
Return: | |
float: hasil dari integral | |
error.errorTipeData: return error jika tipe data salah | |
""" | |
if not all(isinstance(data, float) for data in [a, b]): | |
return error.errorTipeData(["float"]) | |
if not isinstance(iterable, int): | |
return error.errorTipeData(["int]) | |
delta = (b - a) / iterable | |
result = 0.5 * (f(a) + f(b)) | |
for i in range(1, iterable): | |
result += f(a + i * delta) | |
return round(result * delta) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tambahkan unittesting untuk mengetest dari fungsi, jika user memasukkan tipe data yang salah
done bang |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 💯
terima kasih atas kontribusinya @kayabaakihiko13 🤩 |
* Update pypi.yml * Update pypi.yml * fix: mencoba menggunakan ke branch release (#18) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * Update pypi.yml * chore: merubah branch release (#19) * fix: mencoba menggunakan ke branch release Signed-off-by: slowy07 <slowy.arfy@gmail.com> * chore: merubah branch release merubah branch release menjadi `develop-library` dan hasil dari branch ini akan di push ke main untuk upload package ke pypi Signed-off-by: slowy07 <slowy.arfy@gmail.com> * docs: menambahkan dokumentasi tentang branch Signed-off-by: slowy07 <slowy.arfy@gmail.com> * docs: memperbaiki dokumentasi dari CONTRIBUTING.md Signed-off-by: slowy07 <slowy.arfy@gmail.com> * fix: mengubah konfigurasi dari mergify Signed-off-by: slowy07 <slowy.arfy@gmail.com> --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> * Barometrik (#20) * fix: mencoba menggunakan ke branch release Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: menambahkan ketinggian barometrik menghitung ketinggian dengan menggunakan rumus barometrik, menggunakan daripada menggunakan prinsip penurunan tekanan udara dengan meningkatnya ketinggian rumus: kettingian = 44330 * [1 - (P/p0)^(1/5.255) dimana: p = tekanan yang sudah terukur p0 = tekanan udara standard pada permukaan laut (101325 Pa) Signed-off-by: slowy07 <slowy.arfy@gmail.com> --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> * chore: menambahakan natural language indonesia (#21) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: menambahkan fungsi euler pi (#22) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: upgrade dari error handling (#23) * feat: mengganti fitur dari error handling Signed-off-by: slowy07 <slowy.arfy@gmail.com> * fix: memperbaiki dari mypy typehinting Signed-off-by: slowy07 <slowy.arfy@gmail.com> --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: meanambahkan fungsi fisika (#24) menambahkan beberapa fungsi dari - efek doppler - gaya sentripental Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: menambahkan utils.error dan fungsi sigmoid Signed-off-by: slowy07 <slowy.arfy@gmail.com> * docs: menambahkan dokumentasi docstring (#25) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: dockerize for testing OpenSeries (#28) * feat: dockerize for testing OpenSeries * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix: for named files --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat: deploy to pypi (#29) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * docs: change banner openseries (#31) * chore: merubah variable constant ke huruf KAPITAL (#33) menggunakan variable dengan huruf kapital dimaksudkan untuk menandai variable yang bersifat konstanta, atau variable yang nilainya tidak dapat diubah Signed-off-by: slowy07 <slowy.arfy@gmail.com> * chore: improvisasi error (#34) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * Distribusi binomial (#36) * chore: menambahkan distribusi binomial distribusi binomial adalah distribusi probabilitas yang menggambarkan probabilitas mendapatkan sejumlah keberhasilan tertentu dalam serangkaian percobaan idependen, di mana setiap percobaan memilki dua kemungkinan antara berhasil atau gagal Signed-off-by: slowy07 <slowy.arfy@gmail.com> * fix: menghapus test setup dari cython Signed-off-by: slowy07 <slowy.arfy@gmail.com> --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: menambahkan angka armstrong (#38) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * chore: menambahkan angka automorphic (#42) angka automorphic adalah bilangan asli dalam basis bilangan tertentu yang kuadratnya "berakhir" dengan angka yang sama dengan bilangan itu sendiri Signed-off-by: slowy07 <slowy.arfy@gmail.com> * fix: memperbaiki beberapa fn yang terlalu ribet (#44) menambahkan library colorama untuk meningkatkan keterbacaan kode warna ANSI dan memperjelas nilai konstan Signed-off-by: slowy07 <slowy.arfy@gmail.com> * chore: menambahkan fungsi gaussian (#49) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * chore: mengganti banner * [pre-commit.ci] pre-commit autoupdate (#50) * Develop library (#30) * Update pypi.yml * Update pypi.yml * fix: mencoba menggunakan ke branch release (#18) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * Update pypi.yml * chore: merubah branch release (#19) * fix: mencoba menggunakan ke branch release Signed-off-by: slowy07 <slowy.arfy@gmail.com> * chore: merubah branch release merubah branch release menjadi `develop-library` dan hasil dari branch ini akan di push ke main untuk upload package ke pypi Signed-off-by: slowy07 <slowy.arfy@gmail.com> * docs: menambahkan dokumentasi tentang branch Signed-off-by: slowy07 <slowy.arfy@gmail.com> * docs: memperbaiki dokumentasi dari CONTRIBUTING.md Signed-off-by: slowy07 <slowy.arfy@gmail.com> * fix: mengubah konfigurasi dari mergify Signed-off-by: slowy07 <slowy.arfy@gmail.com> --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> * Barometrik (#20) * fix: mencoba menggunakan ke branch release Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: menambahkan ketinggian barometrik menghitung ketinggian dengan menggunakan rumus barometrik, menggunakan daripada menggunakan prinsip penurunan tekanan udara dengan meningkatnya ketinggian rumus: kettingian = 44330 * [1 - (P/p0)^(1/5.255) dimana: p = tekanan yang sudah terukur p0 = tekanan udara standard pada permukaan laut (101325 Pa) Signed-off-by: slowy07 <slowy.arfy@gmail.com> --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> * chore: menambahakan natural language indonesia (#21) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: menambahkan fungsi euler pi (#22) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: upgrade dari error handling (#23) * feat: mengganti fitur dari error handling Signed-off-by: slowy07 <slowy.arfy@gmail.com> * fix: memperbaiki dari mypy typehinting Signed-off-by: slowy07 <slowy.arfy@gmail.com> --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: meanambahkan fungsi fisika (#24) menambahkan beberapa fungsi dari - efek doppler - gaya sentripental Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: menambahkan utils.error dan fungsi sigmoid Signed-off-by: slowy07 <slowy.arfy@gmail.com> * docs: menambahkan dokumentasi docstring (#25) Signed-off-by: slowy07 <slowy.arfy@gmail.com> * feat: dockerize for testing OpenSeries (#28) * feat: dockerize for testing OpenSeries * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix: for named files --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * feat: deploy to pypi (#29) Signed-off-by: slowy07 <slowy.arfy@gmail.com> --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> Co-authored-by: Rull <88574877+rulanugrh@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * [pre-commit.ci] pre-commit autoupdate updates: - [github.com/astral-sh/ruff-pre-commit: v0.1.14 → v0.2.0](astral-sh/ruff-pre-commit@v0.1.14...v0.2.0) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> Co-authored-by: arfy slowy <slowy.arfy@gmail.com> Co-authored-by: Rull <88574877+rulanugrh@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore: menambahkan angka pronic (#51) angka pronic adalah bilangan bulat positif yang merupakan hasil perkalian dari dua bilangan bulat berurutan Signed-off-by: arfy slowy <slowy.arfy@gmail.com> * chore: menambahkan angka segitiga (#52) Signed-off-by: arfy slowy <slowy.arfy@gmail.com> * docs: menambahkan informasi dari parameter commit (#53) Signed-off-by: arfy slowy <slowy.arfy@gmail.com> * chore: menambahkan badge (#54) Signed-off-by: arfy slowy <slowy.arfy@gmail.com> * Dev algorithm (#55) * feat: menambahkan integral * feat: menambahkan integral * feat: menambahkan integral * chore: fungsi derivative (#56) * feat: menambahkan integral * feat: menambahkan integral * feat: menambahkan integral * feat: menambahkan algoritma turunan * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore: update v1.7.0 (#57) Signed-off-by: arfy slowy <slowy.arfy@gmail.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com> Signed-off-by: arfy slowy <slowy.arfy@gmail.com> Co-authored-by: Rull <88574877+rulanugrh@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: envil a.k.a pow <86885041+abnvlf@users.noreply.github.com> Co-authored-by: Iqbal Ramadhan Anniswa <95537097+kayabaakihiko13@users.noreply.github.com>
Deskripsi (Description)
Checklist:
Umum:
Contributor Requirements (Syarat Kontributor) dan Lain-Lain:
Unit Testing dan Linting (wajib):
Environment
Saya menggunakan (I'm using):
os
=linux (ubuntu Distro)
python
=python3.11.6
linked issue #NOMOR_ISSUE