Skip to content

Commit

Permalink
Merge 8bf6ec4 into 4bcb532
Browse files Browse the repository at this point in the history
  • Loading branch information
yannrichet committed Sep 9, 2022
2 parents 4bcb532 + 8bf6ec4 commit 2944ff4
Show file tree
Hide file tree
Showing 38 changed files with 4,360 additions and 74 deletions.
4 changes: 3 additions & 1 deletion bindings/Octave/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ add_mex_function(NAME mLibKriging
common_binding.cpp common_binding.hpp
Kriging_binding.cpp Kriging_binding.hpp
NuggetKriging_binding.cpp NuggetKriging_binding.hpp
NoiseKriging_binding.cpp NoiseKriging_binding.hpp
Params_binding.cpp Params_binding.hpp
Params.cpp Params.hpp
LINK_LIBRARIES Kriging OctaveShared)
Expand All @@ -36,9 +37,10 @@ install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/LinearRegression.m
${CMAKE_CURRENT_SOURCE_DIR}/Kriging.m
${CMAKE_CURRENT_SOURCE_DIR}/NuggetKriging.m
${CMAKE_CURRENT_SOURCE_DIR}/NoiseKriging.m
${CMAKE_CURRENT_SOURCE_DIR}/Params.m
DESTINATION ${CMAKE_INSTALL_PREFIX}/bindings/${OCTAVE_BINDING_MODE}
)

include(CTest)
add_subdirectory(tests)
add_subdirectory(tests)
4 changes: 4 additions & 0 deletions bindings/Octave/Kriging.m
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ function fit(obj, varargin)
[varargout{1:nargout}] = mLibKriging("Kriging::scaleY", obj.ref, varargin{:});
end

function varargout = normalize(obj, varargin)
[varargout{1:nargout}] = mLibKriging("Kriging::normalize", obj.ref, varargin{:});
end

function varargout = regmodel(obj, varargin)
[varargout{1:nargout}] = mLibKriging("Kriging::regmodel", obj.ref, varargin{:});
end
Expand Down
12 changes: 11 additions & 1 deletion bindings/Octave/Kriging_binding.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,16 @@ void scaleY(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs) {
output.set(0, km->scaleY(), "scaleY");
}

void normalize(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs) {
MxMapper input{"Input",
nrhs,
const_cast<mxArray**>(prhs), // NOLINT(cppcoreguidelines-pro-type-const-cast)
RequiresArg::Exactly{1}};
MxMapper output{"Output", nlhs, plhs, RequiresArg::Exactly{1}};
auto* km = input.getObjectFromRef<Kriging>(0, "Kriging reference");
output.set(0, km->normalize(), "normalize");
}

void regmodel(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs) {
MxMapper input{"Input",
nrhs,
Expand Down Expand Up @@ -398,4 +408,4 @@ void is_sigma2_estim(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs) {
output.set(0, km->is_sigma2_estim(), "is_sigma2_estim ");
}

} // namespace KrigingBinding
} // namespace KrigingBinding
1 change: 1 addition & 0 deletions bindings/Octave/Kriging_binding.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ void scaleX(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs);
void y(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs);
void centerY(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs);
void scaleY(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs);
void normalize(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs);
void regmodel(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs);
void F(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs);
void T(int nlhs, mxArray** plhs, int nrhs, const mxArray** prhs);
Expand Down
139 changes: 139 additions & 0 deletions bindings/Octave/NoiseKriging.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
classdef NoiseKriging < handle
% attributes doc: https://fr.mathworks.com/help/matlab/matlab_oop/property-attributes.html
properties %(NonCopyable, Transient, Access = protected, Hidden)
ref
end

methods
function obj = NoiseKriging(varargin)
% printf("New NoiseKriging\n");
obj.ref = mLibKriging("NoiseKriging::new", varargin{:});
end

function delete(obj, varargin)
% disp(["ObjectRef = ", num2str(obj.ref)])
% destroy the mex backend
if ~isempty(obj.ref)
% printf("Delete NoiseKriging\n")
obj.ref = mLibKriging("NoiseKriging::delete", obj.ref, varargin{:})
end
end

function fit(obj, varargin)
mLibKriging("NoiseKriging::fit", obj.ref, varargin{:});
end

function varargout = predict(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::predict", obj.ref, varargin{:});
end

function varargout = simulate(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::simulate", obj.ref, varargin{:});
end

function varargout = update(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::update", obj.ref, varargin{:});
end

function varargout = summary(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::summary", obj.ref, varargin{:});
end

function varargout = logLikelihoodFun(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::logLikelihoodFun", obj.ref, varargin{:});
end

function varargout = logLikelihood(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::logLikelihood", obj.ref, varargin{:});
end

function varargout = kernel(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::kernel", obj.ref, varargin{:});
end

function varargout = optim(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::optim", obj.ref, varargin{:});
end

function varargout = objective(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::objective", obj.ref, varargin{:});
end

function varargout = X(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::X", obj.ref, varargin{:});
end

function varargout = centerX(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::centerX", obj.ref, varargin{:});
end

function varargout = scaleX(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::scaleX", obj.ref, varargin{:});
end

function varargout = y(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::y", obj.ref, varargin{:});
end

function varargout = centerY(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::centerY", obj.ref, varargin{:});
end

function varargout = scaleY(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::scaleY", obj.ref, varargin{:});
end

function varargout = normalize(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::normalize", obj.ref, varargin{:});
end

function varargout = noise(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::noise", obj.ref, varargin{:});
end

function varargout = regmodel(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::regmodel", obj.ref, varargin{:});
end

function varargout = F(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::F", obj.ref, varargin{:});
end

function varargout = T(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::T", obj.ref, varargin{:});
end

function varargout = M(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::M", obj.ref, varargin{:});
end

function varargout = z(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::z", obj.ref, varargin{:});
end

function varargout = beta(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::beta", obj.ref, varargin{:});
end

function varargout = is_beta_estim(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::is_beta_estim", obj.ref, varargin{:});
end

function varargout = theta(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::theta", obj.ref, varargin{:});
end

function varargout = is_theta_estim(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::is_theta_estim", obj.ref, varargin{:});
end

function varargout = sigma2(obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::sigma2", obj.ref, varargin{:});
end

function varargout = is_sigma2_estim (obj, varargin)
[varargout{1:nargout}] = mLibKriging("NoiseKriging::is_sigma2_estim ", obj.ref, varargin{:});
end

end
end

0 comments on commit 2944ff4

Please sign in to comment.