15 Commits

Author SHA1 Message Date
2a4701374d Remove typo in github action 2024-07-04 17:19:24 +02:00
d984a3e6f0 Add recursive submodules to github action 2024-07-04 17:11:37 +02:00
44accc3db1 Move sources to a folder and change ArffFiles files to library 2024-07-04 13:49:15 +02:00
32b956a361 Fix some sonar issues in the code 2024-07-04 12:34:54 +02:00
8c536cfc65 Fix sonar github action 2024-07-04 11:56:21 +02:00
a2ba5ee7e0 Fix sonar github action 2024-07-04 09:34:39 +02:00
d6276b46cd Update sonar github action 2024-07-04 01:27:00 +02:00
d9bd689a10 Fix mistake in github sonar action 2024-07-04 00:19:29 +02:00
6f8f535b40 Update sonarqube github action 2024-07-04 00:13:38 +02:00
872385e3ee Update sonar github action 2024-07-04 00:02:00 +02:00
cb3659b225 Add coypright header to sources
Fix coverage report
Add coverage badge to README
2024-07-03 23:43:08 +02:00
fcbd05d842 Fix tests, samples and remove uneeded support files 2024-07-03 18:13:22 +02:00
d90e21ec4c Include upper_bound and lower_bound implementation 2024-07-02 18:54:07 +02:00
c488ace719 Fix FImdlp tests 2024-07-02 11:50:42 +02:00
8f6e16f04f Fix BinDisc quantile mistakes 2024-07-02 09:40:06 +02:00
8 changed files with 21 additions and 40 deletions

View File

@@ -1,10 +1,10 @@
cmake_minimum_required(VERSION 3.20) cmake_minimum_required(VERSION 3.20)
project(fimdlp) project(mdlp)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
cmake_policy(SET CMP0135 NEW) cmake_policy(SET CMP0135 NEW)
find_package(Torch CONFIG REQUIRED) find_package(Torch REQUIRED)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-elide-constructors") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-elide-constructors")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
@@ -22,23 +22,13 @@ else(ENABLE_TESTING)
MESSAGE("Release mode") MESSAGE("Release mode")
endif(ENABLE_TESTING) endif(ENABLE_TESTING)
if (ENABLE_SAMPLE)
message("Building sample") add_subdirectory(sample)
add_subdirectory(sample)
endif(ENABLE_SAMPLE)
include_directories( include_directories(
${TORCH_INCLUDE_DIRS} ${TORCH_INCLUDE_DIRS}
${fimdlp_SOURCE_DIR}/src ${mdlp_SOURCE_DIR}/src
) )
add_library(fimdlp src/CPPFImdlp.cpp src/Metrics.cpp src/BinDisc.cpp src/Discretizer.cpp) add_library(mdlp src/CPPFImdlp.cpp src/Metrics.cpp src/BinDisc.cpp src/Discretizer.cpp)
target_link_libraries(fimdlp "${TORCH_LIBRARIES}") target_link_libraries(mdlp "${TORCH_LIBRARIES}")
# Installation
# ------------
install(TARGETS fimdlp
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
CONFIGURATIONS Release)
install(DIRECTORY src/ DESTINATION include/fimdlp FILES_MATCHING CONFIGURATIONS Release PATTERN "*.h")

View File

@@ -6,16 +6,13 @@ lcov := lcov
build: build:
@if [ -d build_release ]; then rm -fr build_release; fi @if [ -d build_release ]; then rm -fr build_release; fi
@mkdir build_release @mkdir build_release
@cmake -B build_release -S . -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=OFF -DENABLE_SAMPLE=ON @cmake -B build_release -S . -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=OFF
@cmake --build build_release -j 8 @cmake --build build_release -j 8
install:
@cmake --build build_release --target install -j 8
test: test:
@if [ -d build_debug ]; then rm -fr build_debug; fi @if [ -d build_debug ]; then rm -fr build_debug; fi
@mkdir build_debug @mkdir build_debug
@cmake -B build_debug -S . -DCMAKE_BUILD_TYPE=Debug -DENABLE_TESTING=ON -DENABLE_SAMPLE=ON @cmake -B build_debug -S . -DCMAKE_BUILD_TYPE=Debug -DENABLE_TESTING=ON
@cmake --build build_debug -j 8 @cmake --build build_debug -j 8
@cd build_debug/tests && ctest --output-on-failure -j 8 @cd build_debug/tests && ctest --output-on-failure -j 8
@cd build_debug/tests && $(lcov) --capture --directory ../ --demangle-cpp --ignore-errors source,source --ignore-errors mismatch --output-file coverage.info >/dev/null 2>&1; \ @cd build_debug/tests && $(lcov) --capture --directory ../ --demangle-cpp --ignore-errors source,source --ignore-errors mismatch --output-file coverage.info >/dev/null 2>&1; \

View File

@@ -3,9 +3,9 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_BUILD_TYPE Debug) set(CMAKE_BUILD_TYPE Debug)
include_directories( include_directories(
${fimdlp_SOURCE_DIR}/src ${mdlp_SOURCE_DIR}/src
${fimdlp_SOURCE_DIR}/tests/lib/Files ${mdlp_SOURCE_DIR}/tests/lib/Files
) )
add_executable(sample sample.cpp ) add_executable(sample sample.cpp )
target_link_libraries(sample fimdlp "${TORCH_LIBRARIES}") target_link_libraries(sample mdlp "${TORCH_LIBRARIES}")

View File

@@ -3,7 +3,7 @@ sonar.organization=rmontanana
# This is the name and version displayed in the SonarCloud UI. # This is the name and version displayed in the SonarCloud UI.
sonar.projectName=mdlp sonar.projectName=mdlp
sonar.projectVersion=2.0.1 sonar.projectVersion=2.0.0
# sonar.test.exclusions=tests/** # sonar.test.exclusions=tests/**
# sonar.tests=tests/ # sonar.tests=tests/
# sonar.coverage.exclusions=tests/**,sample/** # sonar.coverage.exclusions=tests/**,sample/**

View File

@@ -29,7 +29,7 @@ namespace mdlp {
void fit_t(const torch::Tensor& X_, const torch::Tensor& y_); void fit_t(const torch::Tensor& X_, const torch::Tensor& y_);
torch::Tensor transform_t(const torch::Tensor& X_); torch::Tensor transform_t(const torch::Tensor& X_);
torch::Tensor fit_transform_t(const torch::Tensor& X_, const torch::Tensor& y_); torch::Tensor fit_transform_t(const torch::Tensor& X_, const torch::Tensor& y_);
static inline std::string version() { return "2.0.1"; }; static inline std::string version() { return "1.2.3"; };
protected: protected:
labels_t discretizedData = labels_t(); labels_t discretizedData = labels_t();
cutPoints_t cutPoints; // At least two cutpoints must be provided, the first and the last will be ignored in transform cutPoints_t cutPoints; // At least two cutpoints must be provided, the first and the last will be ignored in transform

View File

@@ -1,9 +1,3 @@
// ****************************************************************
// SPDX - FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
// SPDX - FileType: SOURCE
// SPDX - License - Identifier: MIT
// ****************************************************************
#ifndef TYPES_H #ifndef TYPES_H
#define TYPES_H #define TYPES_H

View File

@@ -10,28 +10,28 @@ FetchContent_MakeAvailable(googletest)
include_directories( include_directories(
${TORCH_INCLUDE_DIRS} ${TORCH_INCLUDE_DIRS}
${fimdlp_SOURCE_DIR}/src ${mdlp_SOURCE_DIR}/src
${fimdlp_SOURCE_DIR}/tests/lib/Files ${mdlp_SOURCE_DIR}/tests/lib/Files
) )
add_executable(Metrics_unittest ${fimdlp_SOURCE_DIR}/src/Metrics.cpp Metrics_unittest.cpp) add_executable(Metrics_unittest ${mdlp_SOURCE_DIR}/src/Metrics.cpp Metrics_unittest.cpp)
target_link_libraries(Metrics_unittest GTest::gtest_main) target_link_libraries(Metrics_unittest GTest::gtest_main)
target_compile_options(Metrics_unittest PRIVATE --coverage) target_compile_options(Metrics_unittest PRIVATE --coverage)
target_link_options(Metrics_unittest PRIVATE --coverage) target_link_options(Metrics_unittest PRIVATE --coverage)
add_executable(FImdlp_unittest FImdlp_unittest.cpp add_executable(FImdlp_unittest FImdlp_unittest.cpp
${fimdlp_SOURCE_DIR}/src/CPPFImdlp.cpp ${fimdlp_SOURCE_DIR}/src/Metrics.cpp ${fimdlp_SOURCE_DIR}/src/Discretizer.cpp) ${mdlp_SOURCE_DIR}/src/CPPFImdlp.cpp ${mdlp_SOURCE_DIR}/src/Metrics.cpp ${mdlp_SOURCE_DIR}/src/Discretizer.cpp)
target_link_libraries(FImdlp_unittest GTest::gtest_main "${TORCH_LIBRARIES}") target_link_libraries(FImdlp_unittest GTest::gtest_main "${TORCH_LIBRARIES}")
target_compile_options(FImdlp_unittest PRIVATE --coverage) target_compile_options(FImdlp_unittest PRIVATE --coverage)
target_link_options(FImdlp_unittest PRIVATE --coverage) target_link_options(FImdlp_unittest PRIVATE --coverage)
add_executable(BinDisc_unittest BinDisc_unittest.cpp ${fimdlp_SOURCE_DIR}/src/BinDisc.cpp ${fimdlp_SOURCE_DIR}/src/Discretizer.cpp) add_executable(BinDisc_unittest BinDisc_unittest.cpp ${mdlp_SOURCE_DIR}/src/BinDisc.cpp ${mdlp_SOURCE_DIR}/src/Discretizer.cpp)
target_link_libraries(BinDisc_unittest GTest::gtest_main "${TORCH_LIBRARIES}") target_link_libraries(BinDisc_unittest GTest::gtest_main "${TORCH_LIBRARIES}")
target_compile_options(BinDisc_unittest PRIVATE --coverage) target_compile_options(BinDisc_unittest PRIVATE --coverage)
target_link_options(BinDisc_unittest PRIVATE --coverage) target_link_options(BinDisc_unittest PRIVATE --coverage)
add_executable(Discretizer_unittest Discretizer_unittest.cpp add_executable(Discretizer_unittest Discretizer_unittest.cpp
${fimdlp_SOURCE_DIR}/src/BinDisc.cpp ${fimdlp_SOURCE_DIR}/src/CPPFImdlp.cpp ${fimdlp_SOURCE_DIR}/src/Metrics.cpp ${fimdlp_SOURCE_DIR}/src/Discretizer.cpp ) ${mdlp_SOURCE_DIR}/src/BinDisc.cpp ${mdlp_SOURCE_DIR}/src/CPPFImdlp.cpp ${mdlp_SOURCE_DIR}/src/Metrics.cpp ${mdlp_SOURCE_DIR}/src/Discretizer.cpp )
target_link_libraries(Discretizer_unittest GTest::gtest_main "${TORCH_LIBRARIES}") target_link_libraries(Discretizer_unittest GTest::gtest_main "${TORCH_LIBRARIES}")
target_compile_options(Discretizer_unittest PRIVATE --coverage) target_compile_options(Discretizer_unittest PRIVATE --coverage)
target_link_options(Discretizer_unittest PRIVATE --coverage) target_link_options(Discretizer_unittest PRIVATE --coverage)

View File

@@ -33,7 +33,7 @@ namespace mdlp {
auto version = disc->version(); auto version = disc->version();
delete disc; delete disc;
std::cout << "Version computed: " << version; std::cout << "Version computed: " << version;
EXPECT_EQ("2.0.1", version); EXPECT_EQ("1.2.3", version);
} }
TEST(Discretizer, BinIrisUniform) TEST(Discretizer, BinIrisUniform)
{ {