Skip to content

Repository files navigation

AlmazMath Library Refinement

🎯 Описание проекта (Project Description)

AlmazMath Library Refinement — проект, направленный на перенос библиотеки AlmazMath с C++ на C#, а также её рефакторинг и оптимизацию. Библиотека предназначена для преобразования данных, полученных во времени, в данные по глубине скважины.

AlmazMath Library Refinement is a project aimed at migrating the AlmazMath library from C++ to C#, as well as its refactoring and optimization. The library is designed to convert time-based data into depth-based data for well drilling.


🔍 Проблематика (Problem Statement)

В нефтегазовой отрасли датчики в скважине фиксируют параметры (давление, температуру, скорость бурения) во временных координатах. Однако для анализа эти данные необходимо трансформировать относительно глубины скважины.

In the oil and gas industry, sensors installed in a well record parameters (such as pressure, temperature, and drilling speed) in time coordinates. However, for further analysis, these data need to be transformed relative to the depth of the well.


📌 Цели проекта (Project Goals)

  • 🔄 Перенос кода с C++ на C# / Migration of existing code from C++ to C#
  • 📌 Рефакторинг для повышения читаемости и поддержки / Refactoring to improve readability and maintainability
  • Оптимизация алгоритмов для более точных и быстрых вычислений / Optimization of algorithms for more accurate and faster computations
  • Покрытие тестами (xUnit) / Unit testing coverage (xUnit)
  • 📊 Расширение функционала для поддержки различных сценариев работы / Expanding functionality to support various operational scenarios

🚀 Основные задачи проекта (Key Project Tasks)

  • Анализ существующего C++ кода / Analyze the existing C++ code
  • Перенос алгоритмов в C# с сохранением логики / Migrate algorithms to C# while preserving logic
  • Повышение производительности и читаемости кода / Improve performance and readability
  • Разработка тестового модуля с использованием xUnit / Develop a test module using xUnit
  • Настройка CI/CD для автоматического тестирования / Set up CI/CD for automated testing

🛠️ Технические детали (Technical Details)

Проект реализован на C# (.NET 8.0) и включает:

The project is implemented in C# (.NET 8.0) and includes:

  • 🔹 Исходную C++-библиотеку как основу для портирования / Original C++ library as the basis for migration
  • 🔹 Новую C#-библиотеку (cs-lib) с реализацией алгоритмов / New C# library (cs-lib) with reimplemented algorithms
  • 🔹 Модульные тесты (cs-tests) на базе xUnit / Unit tests (cs-tests) based on xUnit
  • 🔹 Автоматическое тестирование с использованием dotnet test / Automated testing using dotnet test

📂 Структура репозитория (Repository Structure)

(В процессе обсуждения)

Under discussion

/almazmath-refinement
│── /cpp-lib       # Исходная библиотека на C++ / Original C++ library
│── /cs-lib        # Перенесённая библиотека на C# / Migrated C# library
│── /cs-tests      # Модульные тесты / Unit tests
│── /ci-cd         # Скрипты автоматического тестирования / CI/CD automation scripts
/T2dMath
│── /T2dMath        	  # Базовые вычислительные функции 
│── /T2dMath.Test   	  # Набор тестов для базовых вычислительных функций / Unit tests
│── /UtilsTest      	  # Набор утилит для тестирования
│── /UtilsTest.Test 	  # Набор тестов утилит тестирования / Unit tests
│── /T2dMathPipeline      # Набор собранных Pipeline из набора алгоритмов T2dMath 
│── /T2dMathPipeline.Test # Набор тестов Pipeline / Integration tests 

🔬 Запуск тестов (Running Tests)

Для проверки корректности работы библиотеки выполните команду:

To verify the correctness of the library, execute the following command:

dotnet test
dotnet test --logger "console;verbosity=detailed" 

🚀 Проект направлен на повышение точности и эффективности обработки данных в нефтегазовой сфере!

The project aims to improve the accuracy and efficiency of data processing in the oil and gas industry!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages