Skip to content

lwd-logging/t2dmath

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages