Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
d95189a
Release v0.5.1.
davenza Sep 10, 2024
0e38801
Updates cibuildwheel to support manylinux.
davenza Sep 10, 2024
cdb619c
Python code refactored with "black"
carloslihu Sep 10, 2024
d25d935
python imports sorted
carloslihu Sep 10, 2024
8a3bcb6
Merge remote-tracking branch 'upstream/master' into chore/refactoring
carloslihu Sep 11, 2024
10265b3
extra files removed
carloslihu Sep 11, 2024
a61d2d2
Pytests improved and partially commented
carloslihu Sep 11, 2024
4cebd86
util_test imports updated
carloslihu Sep 11, 2024
8dc996a
dataset/ commented
carloslihu Sep 11, 2024
00acbc4
util commented
carloslihu Sep 11, 2024
c346b66
partial commenting
carloslihu Sep 11, 2024
dd0a4af
more comments
carloslihu Sep 11, 2024
297966a
scotts and normal reference bandwidth recoded
carloslihu Sep 11, 2024
67b83ce
operators operations reordered
carloslihu Sep 11, 2024
fd653a4
pytest warning fixed
carloslihu Sep 11, 2024
3daec54
extra comments cleaned
carloslihu Sep 11, 2024
e2f80f7
0.5.2 changelog updated
carloslihu Sep 11, 2024
f7ee6c3
bandwidth covariances without the diagonal
carloslihu Sep 11, 2024
33b0151
formatted_log_t verbose function
carloslihu Sep 11, 2024
705d15e
is_psd with Cholesky decomposition
carloslihu Sep 11, 2024
db52397
diagonal covariance matrix commented
carloslihu Sep 11, 2024
10554b1
try catch in bandwidth
carloslihu Sep 11, 2024
4dc3c8a
hill climbing verbose logs
carloslihu Sep 11, 2024
0cbd688
indentation fix
carloslihu Sep 11, 2024
42d2e18
set unix compilers
carloslihu Sep 16, 2024
54684ad
ifdef warnings corrected
carloslihu Sep 16, 2024
045360a
typo
carloslihu Oct 1, 2024
3387401
DiscreteFactor_test fix
carloslihu Oct 16, 2024
44c0e8d
code formatted
carloslihu Oct 24, 2024
52613df
pyproject.toml formatted
carloslihu Oct 24, 2024
c8c66a8
warning fix
cli-titanium Nov 21, 2024
1d28196
eigen warnings fixed
cli-titanium Nov 21, 2024
c84a04d
util_test upgraded and renamed
cli-titanium Nov 25, 2024
febdea3
Tests adapted: Variable naming to uppercase
cli-titanium Nov 25, 2024
1213cdb
util_test -> data
cli-titanium Nov 25, 2024
0a31a17
pytest -s
cli-titanium Nov 25, 2024
1d01b69
data.py reviewed
cli-titanium Nov 26, 2024
c602152
linear_correlation and mutual_info began
cli-titanium Nov 28, 2024
6bdf41e
independence_tests done
jcasajus-titanium Dec 3, 2024
2ba50b4
chi square test
jcasajus-titanium Dec 3, 2024
2d74e2f
independence tests documented
jcasajus-titanium Dec 3, 2024
1d77eab
Independence test summary
jcasajus-titanium Dec 3, 2024
b418bc3
data MACROs
cli-titanium Dec 11, 2024
6e1cb57
typo fix
cli-titanium Dec 12, 2024
3896811
warning ignored
cli-titanium Dec 20, 2024
e78146e
Hybrid MI numerical limits fix
JuanFPR-UPM Jan 24, 2025
40b29f2
DiscreteFactor MLE Laplace Smoothing
JuanFPR-UPM Jan 24, 2025
87b572b
Merge pull request #1 from JuanFPR-UPM/Fix-Hybrid-MI-and-Discrete-MLE
carloslihu Jan 24, 2025
a8fdc32
MixedKCMI & VPTrees
JuanFPR-UPM Mar 7, 2025
fc5ca94
Discrete Schurmann-Grassberger smoothing
JuanFPR-UPM Mar 7, 2025
019cdbd
Refactor PR with ms-vscode.cpptools
cli-titanium Mar 7, 2025
a0d94d2
Revert "Refactor PR with ms-vscode.cpptools"
carloslihu Mar 7, 2025
4ba60b6
Revert "Revert "Refactor PR with ms-vscode.cpptools""
carloslihu Mar 7, 2025
af69f43
Added new files to cmake
JuanFPR-UPM Mar 7, 2025
5362681
Merge branch 'MixedKCMI-&-VPTrees' of https://github.com/JuanFPR-UPM/…
JuanFPR-UPM Mar 7, 2025
8f1431e
Merge pull request #2 from JuanFPR-UPM/MixedKCMI-&-VPTrees
carloslihu Mar 8, 2025
5d2d8ab
CMake Intellisense formatting
carloslihu Mar 8, 2025
b9e708e
Fix JSON formatting
carloslihu Mar 8, 2025
05259a5
Numerical fix MixedKCMI
JuanFPR-UPM Mar 10, 2025
9af3c08
Merge pull request #3 from JuanFPR-UPM/MixedKCMI-&-VPTrees
carloslihu Mar 11, 2025
38cb091
Add detailed installation guide for PyBNesian in INSTALLATION.md
carloslihu Mar 11, 2025
07aaeeb
Merge branch 'master' of https://github.com/carloslihu/PyBNesian
carloslihu Mar 11, 2025
5e597af
Merge remote-tracking branch 'origin/feature/ProductSPBN'
carloslihu Mar 12, 2025
0276eba
Update pytest.ini to exclude 'vcpkg' directory from test discovery
carloslihu Mar 12, 2025
f68999a
Refactor test imports to use 'helpers' directory for data generation …
carloslihu Mar 14, 2025
9ce0770
Update data generation functions: rename TRUE_LABEL and add generate_…
carloslihu Mar 19, 2025
da3018b
Refactor tests with unified DATA_SIZE constant
carloslihu Mar 25, 2025
07524fe
Refactor imports to use 'pbn' namespace for consistency across tests
carloslihu Mar 26, 2025
d02e555
typo fixes
carloslihu Mar 26, 2025
97c1d3c
Add function to generate discrete data classification with dependent …
carloslihu Mar 28, 2025
a1213fe
Hybrid MI numerical limits fix
JuanFPR-UPM Mar 28, 2025
498175d
removed extra semicolon
carloslihu Apr 1, 2025
27e1b05
Merge pull request #4 from JuanFPR-UPM/Fix-Hybrid-MI-and-Discrete-MLE
carloslihu Apr 1, 2025
ae5944f
Enable ccache for faster compilation if available
carloslihu Apr 1, 2025
631964e
Add Carlos Li Hu as a co-author in documentation and project metadata
carloslihu Apr 1, 2025
bdf2685
Rename TRUE_LABEL to TRUE_CLASS_LABEL for consistency in data generat…
carloslihu Apr 10, 2025
64c6a1e
fix: generate_discrete_data
carloslihu May 8, 2025
696dfa4
chore: update version to 0.5.2 in configuration files
carloslihu May 23, 2025
788d922
refactor: copilot documentation for KDE_test.py
carloslihu May 27, 2025
dd82082
gamma approx fix
JuanFPR-UPM Jun 23, 2025
965b479
Fixed bug
JuanFPR-UPM Jun 26, 2025
87ccd0b
Parallelized implementation
JuanFPR-UPM Oct 23, 2025
29e6876
Merge pull request #7 from JuanFPR-UPM/MixedKCMI-&-VPTrees
carloslihu Oct 30, 2025
e60517f
fix: update README with diagonal-bandwidth instructions
carloslihu Nov 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## v0.5.2

- Python code is now formatted with `black` and `isort`, and has been refactored according to `PEP 8` style guides.
- Python code partially commented with `google` docstring format.
- C++ code partially commented with `doxygen` docstring format.
- Scott's and Normal Reference Rule's `bandwidth` calculation have been reordered and commented.
- `ArcOperatorSet::update_incoming_arcs_scores` formulas have been reordered and commented.

## v0.5.1

- Fixes vcpkg bad hashes ([vcpkg/#38974](https://github.com/microsoft/vcpkg/issues/38974)).
Expand Down Expand Up @@ -101,7 +109,7 @@ build process is simpler and orchestrated by scikit-build-core and a CMakeLists.
- Added a `ProductKDE` class that implements `KDE` with diagonal bandwidth matrix.
- Added an abstract class `BandwidthSelector` to implement bandwidth selection for `KDE` and `ProductKDE`. Three
concrete implementations of bandwidth selection are included: `ScottsBandwidth`, `NormalReferenceRule` and `UCV`.
- Added `Arguments`, `Args` and `Kwargs` to store a set of arguments to be used to create new factors through
- Added `arguments`, `args` and `kwargs` to store a set of arguments to be used to create new factors through
`FactorType::new_factor()`. The `Arguments` are accepted by `BayesianNetworkBase::fit()` and the constructors of
`CVLikelihood`, `HoldoutLikelihood` and `ValidatedLikelihood`.

Expand All @@ -113,8 +121,8 @@ build process is simpler and orchestrated by scikit-build-core and a CMakeLists.
## v0.2.0

- Added conditional linear Gaussian networks (`CLGNetworkType`, `CLGNetwork`, `ConditionalCLGNetwork` and `DynamicCLGNetwork`).
- Implemented `ChiSquare` (and `DynamicChiSquare`) indepencence test.
- Implemented `MutualInformation` (and `DynamicMutualInformation`) indepencence test. This is valid for hybrid data.
- Implemented `ChiSquare` (and `DynamicChiSquare`) independence test.
- Implemented `MutualInformation` (and `DynamicMutualInformation`) independence test. This is valid for hybrid data.
- Implemented `BDe` (Bayesian Dirichlet equivalent) score (and `DynamicBDe`).
- Added `UnknownFactorType` as default `FactorType` for Bayesian networks when the node type could not be deduced.
- Added `Assignment` class to represent the assignment of values to variables.
Expand Down
240 changes: 130 additions & 110 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,67 +1,82 @@
cmake_minimum_required(VERSION 3.20.0)

IF(WIN32)
if(WIN32)
set(VCPKG_TARGET_TRIPLET x64-windows-static)
ENDIF()

IF(APPLE)
SET(CMAKE_C_COMPILER "clang")
SET(CMAKE_CXX_COMPILER "clang++")
ENDIF()
endif()

if(APPLE)
set(CMAKE_C_COMPILER "clang")
set(CMAKE_CXX_COMPILER "clang++")
endif()

if(UNIX)
set(CMAKE_C_COMPILER "gcc")
set(CMAKE_CXX_COMPILER "g++")
endif()

# Enable ccache if available
find_program(CCACHE_PROGRAM ccache)
if(CCACHE_PROGRAM)
message(STATUS "ccache found: ${CCACHE_PROGRAM}")
set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
else()
message(STATUS "ccache not found. Compilation will proceed without caching.")
endif()

find_package(Git REQUIRED)
message("Git executable: ${GIT_EXECUTABLE}")

IF(EXISTS ".git")
SET(GIT_COMMAND_EXECUTED "{GIT_EXECUTABLE} submodule update --init --recursive")
if(EXISTS ".git")
set(GIT_COMMAND_EXECUTED "{GIT_EXECUTABLE} submodule update --init --recursive")
execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE GIT_SUBMOD_RESULT)
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE GIT_SUBMOD_RESULT)

IF(NOT GIT_SUBMOD_RESULT EQUAL "0")
if(NOT GIT_SUBMOD_RESULT EQUAL "0")
message(FATAL_ERROR "${GIT_COMMAND_EXECUTED} failed with ${GIT_SUBMOD_RESULT}.")
ENDIF()
ELSE()
SET(GIT_COMMAND_EXECUTED "${GIT_EXECUTABLE} clone https://github.com/Microsoft/vcpkg.git")
endif()
else()
set(GIT_COMMAND_EXECUTED "${GIT_EXECUTABLE} clone https://github.com/Microsoft/vcpkg.git")
execute_process(COMMAND ${GIT_EXECUTABLE} clone https://github.com/Microsoft/vcpkg.git
WORKING_DIRECTORY "." RESULT_VARIABLE GIT_SUBMOD_RESULT)
WORKING_DIRECTORY "." RESULT_VARIABLE GIT_SUBMOD_RESULT)

IF(NOT GIT_SUBMOD_RESULT EQUAL "0")
if(NOT GIT_SUBMOD_RESULT EQUAL "0")
message(FATAL_ERROR "${GIT_COMMAND_EXECUTED} failed with ${GIT_SUBMOD_RESULT}.")
ENDIF()
ENDIF()
endif()
endif()

SET(GIT_COMMIT_HASH "2024.08.23")
set(GIT_COMMIT_HASH "2024.08.23")

SET(GIT_COMMAND_EXECUTED "${GIT_EXECUTABLE} checkout ${GIT_COMMIT_HASH}")
set(GIT_COMMAND_EXECUTED "${GIT_EXECUTABLE} checkout ${GIT_COMMIT_HASH}")
execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${GIT_COMMIT_HASH}
WORKING_DIRECTORY "vcpkg" RESULT_VARIABLE GIT_SUBMOD_RESULT)
WORKING_DIRECTORY "vcpkg" RESULT_VARIABLE GIT_SUBMOD_RESULT)

IF(NOT GIT_SUBMOD_RESULT EQUAL "0")
if(NOT GIT_SUBMOD_RESULT EQUAL "0")
message(FATAL_ERROR "${GIT_COMMAND_EXECUTED} failed with ${GIT_SUBMOD_RESULT}.")
ENDIF()
endif()

SET(GIT_COMMAND_EXECUTED "${GIT_EXECUTABLE} rev-parse HEAD")
set(GIT_COMMAND_EXECUTED "${GIT_EXECUTABLE} rev-parse HEAD")
execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
WORKING_DIRECTORY "vcpkg" RESULT_VARIABLE GIT_SUBMOD_RESULT OUTPUT_VARIABLE GIT_STDOUT)
WORKING_DIRECTORY "vcpkg" RESULT_VARIABLE GIT_SUBMOD_RESULT OUTPUT_VARIABLE GIT_STDOUT)

IF(NOT GIT_SUBMOD_RESULT EQUAL "0")
if(NOT GIT_SUBMOD_RESULT EQUAL "0")
message(FATAL_ERROR "${GIT_COMMAND_EXECUTED} failed with ${GIT_SUBMOD_RESULT}.")
ENDIF()
endif()

message("Git commit in vcpkg: ${GIT_STDOUT}")

set(CMAKE_TOOLCHAIN_FILE "vcpkg/scripts/buildsystems/vcpkg.cmake")

project(pybnesian VERSION ${SKBUILD_PROJECT_VERSION} LANGUAGES CXX)
ADD_DEFINITIONS("-DVERSION_INFO=${SKBUILD_PROJECT_VERSION}")
add_definitions("-DVERSION_INFO=${SKBUILD_PROJECT_VERSION}")


set(CMAKE_CXX_STANDARD 17)

IF(MSVC)
SET(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
ADD_DEFINITIONS("-DNOGDI")
ENDIF()
if(MSVC)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
add_definitions("-DNOGDI")
endif()

set(PYBIND11_NEWPYTHON ON)
find_package(Python COMPONENTS Interpreter Development)
Expand All @@ -72,31 +87,35 @@ message("Minor version: ${Python_VERSION_MINOR}")

add_definitions(-DPYTHON_VERSION_MAJOR=${Python_VERSION_MAJOR} -DPYTHON_VERSION_MINOR=${Python_VERSION_MINOR})

IF(WIN32)
SET(SCRIPT_PREFIX "")
SET(SCRIPT_EXTENSION "bat")
ELSEIF(UNIX)
SET(SCRIPT_PREFIX "./")
SET(SCRIPT_EXTENSION "sh")
ENDIF()
if(WIN32)
set(SCRIPT_PREFIX "")
set(SCRIPT_EXTENSION "bat")
elseif(UNIX)
set(SCRIPT_PREFIX "./")
set(SCRIPT_EXTENSION "sh")
endif()

# Find the Python interpreter
find_package(PythonInterp 3 REQUIRED)

execute_process(COMMAND python expand_sources.py RESULT_VARIABLE EXPAND_SOURCES_RESULT)
# Use the found Python interpreter in the execute_process command
execute_process(COMMAND ${PYTHON_EXECUTABLE} expand_sources.py RESULT_VARIABLE EXPAND_SOURCES_RESULT)

IF(NOT EXPAND_SOURCES_RESULT EQUAL "0")
message(FATAL_ERROR "$python expand_sources.py failed with ${EXPAND_SOURCES_RESULT}")
ENDIF()
if(NOT EXPAND_SOURCES_RESULT EQUAL "0")
message(FATAL_ERROR "${PYTHON_EXECUTABLE} expand_sources.py failed with ${EXPAND_SOURCES_RESULT}")
endif()

execute_process(COMMAND ${SCRIPT_PREFIX}bootstrap-vcpkg.${SCRIPT_EXTENSION} WORKING_DIRECTORY "vcpkg" RESULT_VARIABLE VCPKG_BOOTSTRAP_RESULT)

IF(NOT VCPKG_BOOTSTRAP_RESULT EQUAL "0")
if(NOT VCPKG_BOOTSTRAP_RESULT EQUAL "0")
message(FATAL_ERROR "${SCRIPT_PREFIX}bootstrap-vcpkg.${SCRIPT_EXTENSION} failed with ${VCPKG_BOOTSTRAP_RESULT}")
ENDIF()
endif()

execute_process(COMMAND ${SCRIPT_PREFIX}vcpkg install WORKING_DIRECTORY "vcpkg" RESULT_VARIABLE VCPKG_INSTALL_RESULT)

IF(NOT VCPKG_INSTALL_RESULT EQUAL "0")
if(NOT VCPKG_INSTALL_RESULT EQUAL "0")
message(FATAL_ERROR "${SCRIPT_PREFIX}vcpkg install failed with ${VCPKG_INSTALL_RESULT}")
ENDIF()
endif()

find_package(Arrow CONFIG REQUIRED)
message("Arrow found: ${Arrow_FOUND}")
Expand All @@ -117,68 +136,70 @@ find_package(Boost REQUIRED COMPONENTS math dynamic_bitset)
find_package(OpenCL REQUIRED)

pybind11_add_module(__init__ "pybnesian/lib.cpp"
"pybnesian/pybindings/pybindings_dataset.cpp"
"pybnesian/pybindings/pybindings_kde.cpp"
"pybnesian/pybindings/pybindings_factors.cpp"
"pybnesian/pybindings/pybindings_graph.cpp"
"pybnesian/pybindings/pybindings_models.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_learning.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_scores.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_independences.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_parameters.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_mle.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_operators.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_algorithms.cpp"
"pybnesian/kde/KDE.cpp"
"pybnesian/kde/ProductKDE.cpp"
"pybnesian/kde/UCV.cpp"
"pybnesian/factors/continuous/LinearGaussianCPD.cpp"
"pybnesian/factors/continuous/CKDE.cpp"
"pybnesian/factors/discrete/DiscreteFactor.cpp"
"pybnesian/factors/discrete/discrete_indices.cpp"
"pybnesian/dataset/dataset.cpp"
"pybnesian/dataset/dynamic_dataset.cpp"
"pybnesian/dataset/crossvalidation_adaptator.cpp"
"pybnesian/dataset/holdout_adaptator.cpp"
"pybnesian/util/arrow_types.cpp"
"pybnesian/util/bit_util.cpp"
"pybnesian/util/validate_options.cpp"
"pybnesian/util/validate_whitelists.cpp"
"pybnesian/util/temporal.cpp"
"pybnesian/util/rpoly.cpp"
"pybnesian/util/vech_ops.cpp"
"pybnesian/util/pickle.cpp"
"pybnesian/util/util_types.cpp"
"pybnesian/kdtree/kdtree.cpp"
"pybnesian/learning/operators/operators.cpp"
"pybnesian/learning/algorithms/hillclimbing.cpp"
"pybnesian/learning/algorithms/pc.cpp"
"pybnesian/learning/algorithms/mmpc.cpp"
"pybnesian/learning/algorithms/mmhc.cpp"
"pybnesian/learning/algorithms/dmmhc.cpp"
"pybnesian/learning/independences/continuous/linearcorrelation.cpp"
"pybnesian/learning/independences/continuous/mutual_information.cpp"
"pybnesian/learning/independences/continuous/RCoT.cpp"
"pybnesian/learning/independences/discrete/chi_square.cpp"
"pybnesian/learning/independences/hybrid/mutual_information.cpp"
"pybnesian/learning/parameters/mle_LinearGaussianCPD.cpp"
"pybnesian/learning/parameters/mle_DiscreteFactor.cpp"
"pybnesian/learning/scores/bic.cpp"
"pybnesian/learning/scores/bge.cpp"
"pybnesian/learning/scores/bde.cpp"
"pybnesian/learning/scores/cv_likelihood.cpp"
"pybnesian/learning/scores/holdout_likelihood.cpp"
"pybnesian/graph/generic_graph.cpp"
"pybnesian/models/BayesianNetwork.cpp"
"pybnesian/models/GaussianNetwork.cpp"
"pybnesian/models/SemiparametricBN.cpp"
"pybnesian/models/KDENetwork.cpp"
"pybnesian/models/DiscreteBN.cpp"
"pybnesian/models/HomogeneousBN.cpp"
"pybnesian/models/HeterogeneousBN.cpp"
"pybnesian/models/CLGNetwork.cpp"
"pybnesian/models/DynamicBayesianNetwork.cpp"
"pybnesian/opencl/opencl_config.cpp")
"pybnesian/pybindings/pybindings_dataset.cpp"
"pybnesian/pybindings/pybindings_kde.cpp"
"pybnesian/pybindings/pybindings_factors.cpp"
"pybnesian/pybindings/pybindings_graph.cpp"
"pybnesian/pybindings/pybindings_models.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_learning.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_scores.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_independences.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_parameters.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_mle.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_operators.cpp"
"pybnesian/pybindings/pybindings_learning/pybindings_algorithms.cpp"
"pybnesian/kde/KDE.cpp"
"pybnesian/kde/ProductKDE.cpp"
"pybnesian/kde/UCV.cpp"
"pybnesian/factors/continuous/LinearGaussianCPD.cpp"
"pybnesian/factors/continuous/CKDE.cpp"
"pybnesian/factors/discrete/DiscreteFactor.cpp"
"pybnesian/factors/discrete/discrete_indices.cpp"
"pybnesian/dataset/dataset.cpp"
"pybnesian/dataset/dynamic_dataset.cpp"
"pybnesian/dataset/crossvalidation_adaptator.cpp"
"pybnesian/dataset/holdout_adaptator.cpp"
"pybnesian/util/arrow_types.cpp"
"pybnesian/util/bit_util.cpp"
"pybnesian/util/validate_options.cpp"
"pybnesian/util/validate_whitelists.cpp"
"pybnesian/util/temporal.cpp"
"pybnesian/util/rpoly.cpp"
"pybnesian/util/vech_ops.cpp"
"pybnesian/util/pickle.cpp"
"pybnesian/util/util_types.cpp"
"pybnesian/kdtree/kdtree.cpp"
"pybnesian/vptree/vptree.cpp"
"pybnesian/learning/operators/operators.cpp"
"pybnesian/learning/algorithms/hillclimbing.cpp"
"pybnesian/learning/algorithms/pc.cpp"
"pybnesian/learning/algorithms/mmpc.cpp"
"pybnesian/learning/algorithms/mmhc.cpp"
"pybnesian/learning/algorithms/dmmhc.cpp"
"pybnesian/learning/independences/continuous/linearcorrelation.cpp"
"pybnesian/learning/independences/continuous/mutual_information.cpp"
"pybnesian/learning/independences/continuous/RCoT.cpp"
"pybnesian/learning/independences/discrete/chi_square.cpp"
"pybnesian/learning/independences/hybrid/mutual_information.cpp"
"pybnesian/learning/independences/hybrid/mixed_knncmi.cpp"
"pybnesian/learning/parameters/mle_LinearGaussianCPD.cpp"
"pybnesian/learning/parameters/mle_DiscreteFactor.cpp"
"pybnesian/learning/scores/bic.cpp"
"pybnesian/learning/scores/bge.cpp"
"pybnesian/learning/scores/bde.cpp"
"pybnesian/learning/scores/cv_likelihood.cpp"
"pybnesian/learning/scores/holdout_likelihood.cpp"
"pybnesian/graph/generic_graph.cpp"
"pybnesian/models/BayesianNetwork.cpp"
"pybnesian/models/GaussianNetwork.cpp"
"pybnesian/models/SemiparametricBN.cpp"
"pybnesian/models/KDENetwork.cpp"
"pybnesian/models/DiscreteBN.cpp"
"pybnesian/models/HomogeneousBN.cpp"
"pybnesian/models/HeterogeneousBN.cpp"
"pybnesian/models/CLGNetwork.cpp"
"pybnesian/models/DynamicBayesianNetwork.cpp"
"pybnesian/opencl/opencl_config.cpp")


target_include_directories(__init__ PRIVATE "pybnesian")
Expand All @@ -187,4 +208,3 @@ target_include_directories(__init__ SYSTEM PRIVATE "lib/eigen-3.3.7" "lib/indica
target_link_libraries(__init__ PRIVATE Arrow::arrow_static OpenCL::OpenCL NLopt::nlopt libfort::fort Boost::dynamic_bitset Boost::math)

install(TARGETS __init__ LIBRARY DESTINATION ./pybnesian)

Loading