exponentation


Nameexponentation JSON
Version 0.0.9 PyPI version JSON
download
home_pagehttps://github.com/katya_r/exponentation
SummaryThis is a computational library based on AI for optimal exponentiation.
upload_time2024-06-16 21:39:47
maintainerNone
docs_urlNone
authorkatya_r
requires_python>=3.6
licenseNone
keywords files speedfiles
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # exponentation

![Build Status](https://img.shields.io/badge/build-passing-brightgreen)
![Coverage](https://img.shields.io/badge/coverage-95%25-brightgreen)
![Version](https://img.shields.io/badge/version-1.0.0-blue)
![License](https://img.shields.io/badge/license-MIT-green)
![Python](https://img.shields.io/badge/python-3.6%2B-blue)
![Downloads](https://img.shields.io/badge/downloads-10k%2B-brightgreen)


## 📊 Описание

**✨Exponentation** - это библиотека Python, которая помогает определить наиболее эффективный метод возведения в степень, учитывая различные критерии, такие как основание степени и температура нагревания процессора. Эта библиотека разработана для того, чтобы помочь вам выбрать оптимальный метод для вашего конкретного случая, учитывая разные факторы.

## 🚀 Функционал

- **Автоматический выбор метода:** Exponentation автоматически выбирает наиболее эффективный метод возведения в степень на основе входных данных, таких как основание, степени и учет нагревания процессора.
- **Результаты с различными методами:** Вы можете получить результаты возведения в степень с использованием различных методов и сравнить их для выбора наилучшего.
- **Управление методом:** Для возведения числа в степень можно использовать различные методы без необходимости выбора наилучшего. Каждый из предложенных методов выполняет эту операцию по-своему:
  - **Древовидный метод (tree)**
  - **Накапливающий метод (accum)**
  - **Наивный метод (power_with_naive)**
  - **Метод "Лестница Монтгомери" (stairs)**
  - **Метод множителей (power_fact)**
  - **Право-левый метод (right_left)**
  - **Бинарный метод (binary)**

  Вы можете использовать каждый из этих методов отдельно для возведения числа в степень.




## 📦 Установка

```bash
pip install exponentation
```

## 🛠️ Доступные функции

Exponentation предоставляет следующие функции для работы с возведением в степень:

- **get_best_methods(base: list[int, float],
    exponent: list[int],
    t_factor: list[int],
    by_time=True,
    by_memory=True,):** Эта функция определяет наиболее эффективный метод возведения числа в степень на основе входных данных, таких как основание степени и учет температуры нагревания процессора.
  
  ```python
  import exponentation
  
  prediction = exponentation.get_best_methods([10, 100, 1500], [101, 13, 170000], [1, 0, 1], by_time=True, by_memory=True))

  print(prediction)  

- **get_result_by_best_method(df: DataFrame, by_time_method=True, by_memory_method=False):** Дополнительно с результатом прошлой функции Вы можете использовать следующую функцию, которая выведет дополнительной колонкой результат предпочтительным методом (по времени или по памяти определяется на входе)
  
  ```python
  result_df = exponentation.get_result_by_best_method(df=df, by_time_method=True)
  
  print(result)

- Также, помимо использования общего метода get_prediction, вы можете вызвать каждый метод отдельно и получить результат возведения чисел в степень.

  ```python
  exponentation.right_left(100, 100)
  
❗❗❗ Важно отметить то, что на вход в основания могут поступать все рациональные числа, а на вход в степень - натуральные.



Made with ❤️ by Katya Ryabova

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/katya_r/exponentation",
    "name": "exponentation",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "files speedfiles",
    "author": "katya_r",
    "author_email": "katerina.riabova@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/f7/dd/6f8e9581b56e796ff38cd306c19411cc588748460b293c28c3b8dfb95f5d/exponentation-0.0.9.tar.gz",
    "platform": null,
    "description": "# exponentation\r\n\r\n![Build Status](https://img.shields.io/badge/build-passing-brightgreen)\r\n![Coverage](https://img.shields.io/badge/coverage-95%25-brightgreen)\r\n![Version](https://img.shields.io/badge/version-1.0.0-blue)\r\n![License](https://img.shields.io/badge/license-MIT-green)\r\n![Python](https://img.shields.io/badge/python-3.6%2B-blue)\r\n![Downloads](https://img.shields.io/badge/downloads-10k%2B-brightgreen)\r\n\r\n\r\n## \ud83d\udcca \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\r\n\r\n**\u2728Exponentation** - \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u044c, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043d\u0430\u0433\u0440\u0435\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u042d\u0442\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u0444\u0430\u043a\u0442\u043e\u0440\u044b.\r\n\r\n## \ud83d\ude80 \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\r\n\r\n- **\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0431\u043e\u0440 \u043c\u0435\u0442\u043e\u0434\u0430:** Exponentation \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435, \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0438 \u0443\u0447\u0435\u0442 \u043d\u0430\u0433\u0440\u0435\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430.\r\n- **\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438:** \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0438\u0445 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0435\u0433\u043e.\r\n- **\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043c:** \u0414\u043b\u044f \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0447\u0438\u0441\u043b\u0430 \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u044b\u0431\u043e\u0440\u0430 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0435\u0433\u043e. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u043f\u043e-\u0441\u0432\u043e\u0435\u043c\u0443:\r\n  - **\u0414\u0440\u0435\u0432\u043e\u0432\u0438\u0434\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 (tree)**\r\n  - **\u041d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 (accum)**\r\n  - **\u041d\u0430\u0438\u0432\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 (power_with_naive)**\r\n  - **\u041c\u0435\u0442\u043e\u0434 \"\u041b\u0435\u0441\u0442\u043d\u0438\u0446\u0430 \u041c\u043e\u043d\u0442\u0433\u043e\u043c\u0435\u0440\u0438\" (stairs)**\r\n  - **\u041c\u0435\u0442\u043e\u0434 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439 (power_fact)**\r\n  - **\u041f\u0440\u0430\u0432\u043e-\u043b\u0435\u0432\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 (right_left)**\r\n  - **\u0411\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 (binary)**\r\n\r\n  \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0447\u0438\u0441\u043b\u0430 \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u044c.\r\n\r\n\r\n\r\n\r\n## \ud83d\udce6 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n\r\n```bash\r\npip install exponentation\r\n```\r\n\r\n## \ud83d\udee0\ufe0f \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\r\n\r\nExponentation \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u044c:\r\n\r\n- **get_best_methods(base: list[int, float],\r\n    exponent: list[int],\r\n    t_factor: list[int],\r\n    by_time=True,\r\n    by_memory=True,):** \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0447\u0438\u0441\u043b\u0430 \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0438 \u0443\u0447\u0435\u0442 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u043d\u0430\u0433\u0440\u0435\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430.\r\n  \r\n  ```python\r\n  import exponentation\r\n  \r\n  prediction = exponentation.get_best_methods([10, 100, 1500], [101, 13, 170000], [1, 0, 1], by_time=True, by_memory=True))\r\n\r\n  print(prediction)  \r\n\r\n- **get_result_by_best_method(df: DataFrame, by_time_method=True, by_memory_method=False):** \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u043c (\u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u043b\u0438 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0445\u043e\u0434\u0435)\r\n  \r\n  ```python\r\n  result_df = exponentation.get_result_by_best_method(df=df, by_time_method=True)\r\n  \r\n  print(result)\r\n\r\n- \u0422\u0430\u043a\u0436\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u0449\u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 get_prediction, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0447\u0438\u0441\u0435\u043b \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u044c.\r\n\r\n  ```python\r\n  exponentation.right_left(100, 100)\r\n  \r\n\u2757\u2757\u2757 \u0412\u0430\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u043d\u0430 \u0432\u0445\u043e\u0434 \u0432 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0432\u0441\u0435 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430, \u0430 \u043d\u0430 \u0432\u0445\u043e\u0434 \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u044c - \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u044b\u0435.\r\n\r\n\r\n\r\nMade with \u2764\ufe0f by Katya Ryabova\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "This is a computational library based on AI for optimal exponentiation.",
    "version": "0.0.9",
    "project_urls": {
        "GitHub": "https://github.com/your_username/your_project",
        "Homepage": "https://github.com/katya_r/exponentation"
    },
    "split_keywords": [
        "files",
        "speedfiles"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "998507cfe575437f60926b9abaa4f2a950f39fb7283eba30b249cc7e0b8e453c",
                "md5": "a02808d2b412562f84c8b1c11fcee9f9",
                "sha256": "1672154f178bec1db570a044e740616ab4a8bf78652f112243d89f91f676735c"
            },
            "downloads": -1,
            "filename": "exponentation-0.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a02808d2b412562f84c8b1c11fcee9f9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 1274017,
            "upload_time": "2024-06-16T21:39:45",
            "upload_time_iso_8601": "2024-06-16T21:39:45.253519Z",
            "url": "https://files.pythonhosted.org/packages/99/85/07cfe575437f60926b9abaa4f2a950f39fb7283eba30b249cc7e0b8e453c/exponentation-0.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f7dd6f8e9581b56e796ff38cd306c19411cc588748460b293c28c3b8dfb95f5d",
                "md5": "f6d487750c7f85e4eb36f01987989204",
                "sha256": "204dc892a56b9a3bcb9ed392aec2b6b3b36314679b9aa0176937dd78e5e5be2e"
            },
            "downloads": -1,
            "filename": "exponentation-0.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "f6d487750c7f85e4eb36f01987989204",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 1228985,
            "upload_time": "2024-06-16T21:39:47",
            "upload_time_iso_8601": "2024-06-16T21:39:47.871883Z",
            "url": "https://files.pythonhosted.org/packages/f7/dd/6f8e9581b56e796ff38cd306c19411cc588748460b293c28c3b8dfb95f5d/exponentation-0.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-16 21:39:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "katya_r",
    "github_project": "exponentation",
    "github_not_found": true,
    "lcname": "exponentation"
}
        
Elapsed time: 1.50439s