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.
В нефтегазовой отрасли датчики в скважине фиксируют параметры (давление, температуру, скорость бурения) во временных координатах. Однако для анализа эти данные необходимо трансформировать относительно глубины скважины.
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.
- 🔄 Перенос кода с 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
- Анализ существующего 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
Проект реализован на 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
(В процессе обсуждения)
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 Для проверки корректности работы библиотеки выполните команду:
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!