diff --git a/.ci/env/apt.sh b/.ci/env/apt.sh index 10830d143e4..b8666b898ac 100755 --- a/.ci/env/apt.sh +++ b/.ci/env/apt.sh @@ -105,6 +105,10 @@ function install_miniforge { source /usr/share/miniconda/etc/profile.d/conda.sh } +function install_abigail { + sudo apt-get install -y abigail-tools +} + if [ "${component}" == "dpcpp" ]; then add_repo install_dpcpp @@ -143,6 +147,9 @@ elif [ "${component}" == "miniforge" ] ; then install_miniforge fi install_dev-base-conda +elif [ "${component}" == "abigail" ] ; then + update + install_abigail else echo "Usage:" echo " $0 [dpcpp|tbb|mkl|gnu-cross-compilers|clang-format|dev-base|qemu-apt|qemu-deb|llvm-version|build-sysroot|miniforge]" diff --git a/.ci/scripts/abi_check.sh b/.ci/scripts/abi_check.sh new file mode 100755 index 00000000000..ff7481d9701 --- /dev/null +++ b/.ci/scripts/abi_check.sh @@ -0,0 +1,32 @@ +#! /bin/bash +#=============================================================================== +# Copyright contributors to the oneDAL project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#=============================================================================== + +ci_dir=$(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))) +cd $ci_dir + +# relative paths must be made from the oneDAL repo root +main_release_dir=$1 +release_dir=$2 + +echo Shared Library ABI Conformance +solibs=($(ls $main_release_dir/lib*.so)) +for i in "${solibs[@]}" +do + name=$(basename $i) + echo "--------${name}--------" + abidiff $i $release_dir/$name +done diff --git a/.ci/scripts/build.sh b/.ci/scripts/build.sh index 0a62509c3a2..3d6aabf7026 100755 --- a/.ci/scripts/build.sh +++ b/.ci/scripts/build.sh @@ -36,6 +36,7 @@ show_help() { --tbb-dir:The TBB installation directory to use to build oneDAL with in the case that the backend is given as `ref`. If the installation directory does not exist, attempts to build this from source --use-openrng:Set this to yes if openrng is to be used as RNG backend. Use this only with the `ref` backend. --sysroot:The sysroot to use, in the case that clang is used as the cross-compiler +--debug:Set build debug mode flag ' } @@ -76,6 +77,9 @@ while [[ $# -gt 0 ]]; do --use-openrng) use_openrng="$2" shift;; + --debug) + use_debug="$2" + shift;; --help) show_help exit 0 @@ -247,6 +251,10 @@ if [ "${use_openrng}" == "yes" ]; then make_options+=(RNG_BACKEND=openrng) fi +if [ -n "${use_debug}" ]; then + make_options+=(REQDBG="${use_debug}") +fi + echo "Calling make" echo "CXX=$CXX" echo "CC=$CC" diff --git a/.ci/scripts/test.sh b/.ci/scripts/test.sh index 65d2d5d3e0c..4ed32e5c868 100755 --- a/.ci/scripts/test.sh +++ b/.ci/scripts/test.sh @@ -74,6 +74,10 @@ while [[ $# -gt 0 ]]; do --cross-compile) cross_compile="yes" ;; + --jobs) + jobs="$2" + shift + ;; --help) show_help_text exit 0 @@ -133,7 +137,9 @@ else exit 1 fi -if [ "$(uname)" == "Linux" ]; then +if [[ -n "${jobs}" ]]; then + make_op="-j${jobs}" +elif [ "$(uname)" == "Linux" ]; then make_op="-j$(nproc --all)" else make_op="-j$(sysctl -n hw.physicalcpu)" diff --git a/.github/.abignore b/.github/.abignore new file mode 100644 index 00000000000..abda0889da5 --- /dev/null +++ b/.github/.abignore @@ -0,0 +1,51 @@ +; +; Copyright contributors to the oneDAL project +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. +; + +;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; DAAL DESELECTIONS ;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;; +; deselect daal::internal namespace +[suppress_type] + name_regexp = daal::internal::.* + +[suppress_variable] + name_regexp = daal::internal::.* + +[suppress_function] + name_regexp = daal::internal::.* + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; oneDAL DESELECTIONS ;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; deselect oneapi::dal backend namespaces +[suppress_type] + name_regexp = oneapi::dal::.*backend::.* + +[suppress_variable] + name_regexp = oneapi::dal::.*backend::.* + +[suppress_function] + name_regexp = oneapi::dal::.*backend::.* + +; deselect oneapi::dal detail namespaces +[suppress_type] + name_regexp = oneapi::dal::.*detail::.* + +[suppress_variable] + name_regexp = oneapi::dal::.*detail::.* + +[suppress_function] + name_regexp = oneapi::dal::.*detail::.* diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2190c04003e..37016229361 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ concurrency: jobs: LinuxMakeDPCPP: - name: LinuxMakeDPCPP + name: LinuxMakeDPCPP(AVX2) if: github.repository == 'uxlfoundation/oneDAL' runs-on: uxl-gpu-4xlarge timeout-minutes: 120 @@ -90,3 +90,47 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh .ci/scripts/test.sh --test-kind samples --build-dir __release_lnx --compiler gnu --interface daal/cpp/mpi --conda-env ci-env --build-system cmake + + LinuxABICheck: + name: ABI Conformance + needs: LinuxMakeDPCPP + if: | + github.repository == 'uxlfoundation/oneDAL' && + github.event_name == 'pull_request' && + ! contains(toJson(github.event.pull_request.labels.*.name), '"API/ABI breaking change"') + runs-on: ubuntu-24.04 + env: + LIBABIGAIL_DEFAULT_USER_SUPPRESSION_FILE: ${{ github.workspace }}/.github/.abignore + timeout-minutes: 20 + + steps: + - name: Checkout oneDAL + uses: actions/checkout@v4 + - name: install ABI checking tools + run: .ci/env/apt.sh abigail + - name: Get run ID of "CI" workflow + id: get-run-id + run: | + OTHER_REPO="uxlfoundation/oneDAL" + WF_NAME="CI" + JQ_QUERY='map(select(.event == "push")) | .[0].databaseId' + RUN_ID=`gh run --repo ${OTHER_REPO} list --workflow "${WF_NAME}" --json databaseId,event --status success --jq "${JQ_QUERY}"` + echo "Detected latest run id of ${RUN_ID} for workflow ${WF_NAME}" + echo "run-id=${RUN_ID}" >> "$GITHUB_OUTPUT" + env: + GH_TOKEN: ${{ github.token }} + - name: Download oneDAL main build artifact + uses: actions/download-artifact@v4 + with: + name: __release_lnx + github-token: ${{ github.token }} + repository: uxlfoundation/oneDAL + run-id: ${{ steps.get-run-id.outputs.run-id }} + path: ./__release_lnx_main + - name: Download oneDAL build artifact + uses: actions/download-artifact@v4 + with: + name: __release_lnx + path: ./__release_lnx + - name: Check ABI conformance + run: .ci/scripts/abi_check.sh __release_lnx_main/daal/latest/lib/intel64/ __release_lnx/daal/latest/lib/intel64/ diff --git a/INSTALL.md b/INSTALL.md index dab844272bd..ad79f73bcb7 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -155,10 +155,14 @@ It is possible to build oneDAL libraries with selected set of algorithms and/or On **Linux\*** it is possible to build debug version of oneDAL or the version that allows to do kernel profiling using . -- To build debug version of oneDAL, run: +- To build debug version of oneDAL (including debug symbols), run: make -f makefile daal oneapi_c PLAT=lnx32e REQDBG=yes +- To build oneDAL to include only symbols, run: + + make -f makefile daal oneapi_c PLAT=lnx32e REQDBG=symbols + - To build oneDAL with kernel profiling information, run: make -f makefile daal oneapi_c PLAT=lnx32e REQPROFILE=yes diff --git a/cpp/daal/include/algorithms/algorithm_container_base_batch.h b/cpp/daal/include/algorithms/algorithm_container_base_batch.h index d513ef49a57..f080486c88e 100644 --- a/cpp/daal/include/algorithms/algorithm_container_base_batch.h +++ b/cpp/daal/include/algorithms/algorithm_container_base_batch.h @@ -27,6 +27,7 @@ #include "services/daal_memory.h" #include "services/internal/daal_kernel_defines.h" +#include "services/daal_defines.h" namespace daal { @@ -154,14 +155,14 @@ class AlgorithmContainerImpl : public AlgorithmContainer #if defined(TARGET_X86_64) template -class AlgorithmDispatchContainer : public AlgorithmContainerImpl +class DAAL_EXPORT AlgorithmDispatchContainer : public AlgorithmContainerImpl #elif defined(TARGET_ARM) template -class AlgorithmDispatchContainer : public AlgorithmContainerImpl +class DAAL_EXPORT AlgorithmDispatchContainer : public AlgorithmContainerImpl #elif defined(TARGET_RISCV64) template -class AlgorithmDispatchContainer : public AlgorithmContainerImpl +class DAAL_EXPORT AlgorithmDispatchContainer : public AlgorithmContainerImpl #endif { public: diff --git a/cpp/daal/include/algorithms/association_rules/apriori.h b/cpp/daal/include/algorithms/association_rules/apriori.h index ce4d727f5c4..d869320661f 100644 --- a/cpp/daal/include/algorithms/association_rules/apriori.h +++ b/cpp/daal/include/algorithms/association_rules/apriori.h @@ -90,7 +90,8 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis typedef algorithms::association_rules::Result ResultType; /** Default constructor */ - Batch() { initialize(); } + // defined elsewhere in order to prevent implicit instantation of AlgorithmBatchContainer + Batch(); /** * Constructs an association rules algorithm by copying input objects and parameters @@ -98,7 +99,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns method of the algorithm @@ -143,9 +144,9 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis void initialize() { - Analysis::_ac = new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env); - _in = &input; - _par = ¶meter; + _ac = new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env); + _in = &input; + _par = ¶meter; _result.reset(new ResultType()); } diff --git a/cpp/daal/include/algorithms/cholesky/cholesky.h b/cpp/daal/include/algorithms/cholesky/cholesky.h index be86d11c740..a579ebe9e37 100644 --- a/cpp/daal/include/algorithms/cholesky/cholesky.h +++ b/cpp/daal/include/algorithms/cholesky/cholesky.h @@ -89,7 +89,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis typedef algorithms::cholesky::Result ResultType; /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a Cholesky decomposition algorithm by copying input objects @@ -97,7 +97,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input) { initialize(); } + Batch(const Batch & other); /** Destructor */ virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/classifier/binary_confusion_matrix_batch.h b/cpp/daal/include/algorithms/classifier/binary_confusion_matrix_batch.h index 3608f08fabe..0cdaac20c2e 100644 --- a/cpp/daal/include/algorithms/classifier/binary_confusion_matrix_batch.h +++ b/cpp/daal/include/algorithms/classifier/binary_confusion_matrix_batch.h @@ -94,7 +94,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::quality_metric::Batch ParameterType parameter; /*!< Parameters of the algorithm */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a confusion matrix algorithm by copying input objects and parameters @@ -102,7 +102,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::quality_metric::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/classifier/multiclass_confusion_matrix_batch.h b/cpp/daal/include/algorithms/classifier/multiclass_confusion_matrix_batch.h index 1feee88b334..9260b166398 100644 --- a/cpp/daal/include/algorithms/classifier/multiclass_confusion_matrix_batch.h +++ b/cpp/daal/include/algorithms/classifier/multiclass_confusion_matrix_batch.h @@ -97,7 +97,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::quality_metric::Batch * Default constructor * \param[in] nClasses Number of classes */ - Batch(size_t nClasses = 2) : parameter(nClasses) { initialize(); } + Batch(size_t nClasses = 2); /** * Constructs a confusion matrix algorithm by copying input objects and parameters @@ -105,7 +105,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::quality_metric::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/covariance/covariance_batch.h b/cpp/daal/include/algorithms/covariance/covariance_batch.h index abec1e12ae4..399916bee86 100644 --- a/cpp/daal/include/algorithms/covariance/covariance_batch.h +++ b/cpp/daal/include/algorithms/covariance/covariance_batch.h @@ -358,7 +358,7 @@ class DAAL_EXPORT Batch : public BatchImpl typedef typename super::ResultType ResultType; /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an algorithm for correlation or variance-covariance matrix computation @@ -367,7 +367,7 @@ class DAAL_EXPORT Batch : public BatchImpl * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : BatchImpl(other) { initialize(); } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/covariance/covariance_distributed.h b/cpp/daal/include/algorithms/covariance/covariance_distributed.h index 718b7cac6bc..ce82af845ae 100644 --- a/cpp/daal/include/algorithms/covariance/covariance_distributed.h +++ b/cpp/daal/include/algorithms/covariance/covariance_distributed.h @@ -529,7 +529,7 @@ class DistributedIface : public daal::algorithms::Analysis -class Distributed : public DistributedIface +class DAAL_EXPORT Distributed : public DistributedIface {}; /** @@ -626,7 +626,7 @@ class Distributed : public DistributedIfac typedef typename super::PartialResultType PartialResultType; /** Default constructor */ - Distributed() { initialize(); } + Distributed(); /** * Constructs an algorithm for correlation or variance-covariance matrix computation @@ -635,7 +635,7 @@ class Distributed : public DistributedIfac * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Distributed(const Distributed & other) : DistributedIface(other) { initialize(); } + Distributed(const Distributed & other); virtual ~Distributed() {} diff --git a/cpp/daal/include/algorithms/covariance/covariance_online.h b/cpp/daal/include/algorithms/covariance/covariance_online.h index 0936c8b8f26..42b57414a08 100644 --- a/cpp/daal/include/algorithms/covariance/covariance_online.h +++ b/cpp/daal/include/algorithms/covariance/covariance_online.h @@ -410,7 +410,7 @@ class DAAL_EXPORT Online : public OnlineImpl typedef typename super::PartialResultType PartialResultType; /** Default constructor */ - Online() { initialize(); } + Online(); /** * Constructs an algorithm for correlation or variance-covariance matrix computation @@ -419,7 +419,7 @@ class DAAL_EXPORT Online : public OnlineImpl * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Online(const Online & other) : OnlineImpl(other) { initialize(); } + Online(const Online & other); virtual ~Online() {} diff --git a/cpp/daal/include/algorithms/decision_forest/decision_forest_regression_predict.h b/cpp/daal/include/algorithms/decision_forest/decision_forest_regression_predict.h index af90b447c8b..9294b8b88c0 100644 --- a/cpp/daal/include/algorithms/decision_forest/decision_forest_regression_predict.h +++ b/cpp/daal/include/algorithms/decision_forest/decision_forest_regression_predict.h @@ -83,7 +83,7 @@ class BatchContainer : public PredictionContainerIface * - \ref training::interface2::Batch "training::Batch" class */ template -class Batch : public algorithms::regression::prediction::Batch +class DAAL_EXPORT Batch : public algorithms::regression::prediction::Batch { public: typedef algorithms::regression::prediction::Batch super; @@ -96,7 +96,7 @@ class Batch : public algorithms::regression::prediction::Batch ParameterType parameter; /*!< \ref algorithms::interface1::Parameter "Parameters" of prediction */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a decision forest prediction algorithm by copying input objects and parameters @@ -104,7 +104,7 @@ class Batch : public algorithms::regression::prediction::Batch * \param[in] other Algorithm to use as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); virtual InputType * getInput() DAAL_C11_OVERRIDE { return &input; } diff --git a/cpp/daal/include/algorithms/decision_tree/decision_tree_classification_predict.h b/cpp/daal/include/algorithms/decision_tree/decision_tree_classification_predict.h index 7af7abd03a4..43577408e14 100644 --- a/cpp/daal/include/algorithms/decision_tree/decision_tree_classification_predict.h +++ b/cpp/daal/include/algorithms/decision_tree/decision_tree_classification_predict.h @@ -87,7 +87,7 @@ class BatchContainer : public PredictionContainerIface * - \ref training::interface2::Batch "training::Batch" class */ template -class Batch : public classifier::prediction::Batch +class DAAL_EXPORT Batch : public classifier::prediction::Batch { public: typedef classifier::prediction::Batch super; @@ -100,7 +100,7 @@ class Batch : public classifier::prediction::Batch ParameterType parameter; /*!< \ref interface1::Parameter "Parameters" of prediction */ /** Default constructor */ - Batch(size_t nClasses = 2) : classifier::prediction::Batch(), input(), parameter(nClasses) { initialize(); } + Batch(size_t nClasses = 2); /** * Constructs a Decision tree prediction algorithm by copying input objects and parameters @@ -108,10 +108,7 @@ class Batch : public classifier::prediction::Batch * \param[in] other Algorithm to use as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); /** * Get input objects for the Decision tree prediction algorithm diff --git a/cpp/daal/include/algorithms/decision_tree/decision_tree_classification_training_batch.h b/cpp/daal/include/algorithms/decision_tree/decision_tree_classification_training_batch.h index c93a74ad598..3c393a4a836 100644 --- a/cpp/daal/include/algorithms/decision_tree/decision_tree_classification_training_batch.h +++ b/cpp/daal/include/algorithms/decision_tree/decision_tree_classification_training_batch.h @@ -99,17 +99,14 @@ class DAAL_EXPORT Batch : public classifier::training::Batch ParameterType parameter; /*!< \ref interface1::Parameter "Parameters" of the algorithm */ /** Default constructor */ - Batch(size_t nClasses) : parameter(nClasses) { initialize(); } + Batch(size_t nClasses); /** * Constructs a Decision tree training algorithm by copying input objects * and parameters of another Decision tree training algorithm in the batch processing mode * \param[in] other Algorithm to use as the source to initialize the input objects and parameters of the algorithm */ - Batch(const Batch & other) : classifier::training::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); /** * Get input objects for the Decision tree training algorithm diff --git a/cpp/daal/include/algorithms/decision_tree/decision_tree_regression_predict.h b/cpp/daal/include/algorithms/decision_tree/decision_tree_regression_predict.h index e3c1368da89..236f4462b63 100644 --- a/cpp/daal/include/algorithms/decision_tree/decision_tree_regression_predict.h +++ b/cpp/daal/include/algorithms/decision_tree/decision_tree_regression_predict.h @@ -85,7 +85,7 @@ class BatchContainer : public PredictionContainerIface * - \ref training::interface2::Batch "training::Batch" class */ template -class Batch : public algorithms::regression::prediction::Batch +class DAAL_EXPORT Batch : public algorithms::regression::prediction::Batch { public: typedef algorithms::regression::prediction::Batch super; @@ -98,7 +98,7 @@ class Batch : public algorithms::regression::prediction::Batch ParameterType parameter; /*!< \ref interface1::Parameter "Parameters" of prediction */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a Decision tree prediction algorithm by copying input objects and parameters @@ -106,11 +106,7 @@ class Batch : public algorithms::regression::prediction::Batch * \param[in] other Algorithm to use as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) - : algorithms::regression::prediction::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); virtual algorithms::regression::prediction::Input * getInput() DAAL_C11_OVERRIDE { return &input; } diff --git a/cpp/daal/include/algorithms/decision_tree/decision_tree_regression_training_batch.h b/cpp/daal/include/algorithms/decision_tree/decision_tree_regression_training_batch.h index d8a4899ed70..4cf9f1f81d9 100644 --- a/cpp/daal/include/algorithms/decision_tree/decision_tree_regression_training_batch.h +++ b/cpp/daal/include/algorithms/decision_tree/decision_tree_regression_training_batch.h @@ -99,18 +99,14 @@ class DAAL_EXPORT Batch : public algorithms::regression::training::Batch ParameterType parameter; /*!< \ref interface1::Parameter "Parameters" of the algorithm */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a Decision tree training algorithm by copying input objects * and parameters of another Decision tree training algorithm in the batch processing mode * \param[in] other Algorithm to use as the source to initialize the input objects and parameters of the algorithm */ - Batch(const Batch & other) - : algorithms::regression::training::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); virtual algorithms::regression::training::Input * getInput() DAAL_C11_OVERRIDE { return &input; } diff --git a/cpp/daal/include/algorithms/distance/correlation_distance.h b/cpp/daal/include/algorithms/distance/correlation_distance.h index 9ea7a3c8ba4..680ef56a0cc 100644 --- a/cpp/daal/include/algorithms/distance/correlation_distance.h +++ b/cpp/daal/include/algorithms/distance/correlation_distance.h @@ -93,7 +93,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis typedef algorithms::correlation_distance::Input InputType; typedef algorithms::correlation_distance::Result ResultType; - Batch() { initialize(); } + Batch(); /** * Constructs a correlation distance algorithm by copying input objects @@ -101,7 +101,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input) { initialize(); } + Batch(const Batch & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/distance/cosine_distance.h b/cpp/daal/include/algorithms/distance/cosine_distance.h index 165e9f3ed50..369d01770f6 100644 --- a/cpp/daal/include/algorithms/distance/cosine_distance.h +++ b/cpp/daal/include/algorithms/distance/cosine_distance.h @@ -93,7 +93,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis typedef algorithms::cosine_distance::Input InputType; typedef algorithms::cosine_distance::Result ResultType; - Batch() { initialize(); } + Batch(); /** * Constructs a cosine distance algorithm by copying input objects @@ -101,7 +101,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input) { initialize(); } + Batch(const Batch & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/distributions/bernoulli/bernoulli.h b/cpp/daal/include/algorithms/distributions/bernoulli/bernoulli.h index 54a8e196b1d..46e0e65ea24 100644 --- a/cpp/daal/include/algorithms/distributions/bernoulli/bernoulli.h +++ b/cpp/daal/include/algorithms/distributions/bernoulli/bernoulli.h @@ -99,13 +99,13 @@ class DAAL_EXPORT Batch : public distributions::BatchBase * Constructs bernoulli distribution * \param[in] p Success probability of a trial, value from [0.0; 1.0] */ - Batch(algorithmFPType p) : parameter(p) { initialize(); } + Batch(algorithmFPType p); /** * Constructs bernoulli distribution by copying input objects and parameters of another bernoulli distribution * \param[in] other Bernoulli distribution */ - Batch(const Batch & other) : super(other), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns method of the distribution diff --git a/cpp/daal/include/algorithms/distributions/normal/normal.h b/cpp/daal/include/algorithms/distributions/normal/normal.h index 162a272c4f9..698a604ad2a 100644 --- a/cpp/daal/include/algorithms/distributions/normal/normal.h +++ b/cpp/daal/include/algorithms/distributions/normal/normal.h @@ -100,13 +100,13 @@ class DAAL_EXPORT Batch : public distributions::BatchBase * \param[in] a Mean * \param[in] sigma standard deviation */ - Batch(algorithmFPType a = 0.0, algorithmFPType sigma = 1.0) : parameter(a, sigma) { initialize(); } + Batch(algorithmFPType a = 0.0, algorithmFPType sigma = 1.0); /** * Constructs normal distribution by copying input objects and parameters of another normal distribution * \param[in] other Normal distribution */ - Batch(const Batch & other) : super(other), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns method of the distribution diff --git a/cpp/daal/include/algorithms/distributions/uniform/uniform.h b/cpp/daal/include/algorithms/distributions/uniform/uniform.h index 0cf9fc474c4..71eeca8ad30 100644 --- a/cpp/daal/include/algorithms/distributions/uniform/uniform.h +++ b/cpp/daal/include/algorithms/distributions/uniform/uniform.h @@ -100,13 +100,13 @@ class DAAL_EXPORT Batch : public distributions::BatchBase * \param[in] a Left bound a * \param[in] b Right bound b */ - Batch(algorithmFPType a = 0.0, algorithmFPType b = 1.0) : parameter(a, b) { initialize(); } + Batch(algorithmFPType a = 0.0, algorithmFPType b = 1.0); /** * Constructs uniform distribution by copying input objects and parameters of another uniform distribution * \param[in] other Uniform distribution */ - Batch(const Batch & other) : super(other), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns method of the distribution diff --git a/cpp/daal/include/algorithms/elastic_net/elastic_net_predict.h b/cpp/daal/include/algorithms/elastic_net/elastic_net_predict.h index b79e6e12ac0..1f58de2ec25 100644 --- a/cpp/daal/include/algorithms/elastic_net/elastic_net_predict.h +++ b/cpp/daal/include/algorithms/elastic_net/elastic_net_predict.h @@ -58,7 +58,7 @@ namespace interface1 * - \ref training::interface1::Batch "training::Batch" class */ template -class Batch : public linear_model::prediction::Batch +class DAAL_EXPORT Batch : public linear_model::prediction::Batch { public: typedef linear_model::prediction::Batch super; @@ -116,10 +116,8 @@ class Batch : public linear_model::prediction::Batch_ac = new __DAAL_ALGORITHM_CONTAINER(batch, linear_model::prediction::BatchContainer, algorithmFPType, - linear_model::prediction::defaultDense)(&(this->_env)); - this->_in = &input; - this->_par = NULL; + super::initialize(); + this->_in = &input; this->_result.reset(new ResultType()); } diff --git a/cpp/daal/include/algorithms/em/em_gmm.h b/cpp/daal/include/algorithms/em/em_gmm.h index 734b0f6ffb9..7cdf20afcc9 100644 --- a/cpp/daal/include/algorithms/em/em_gmm.h +++ b/cpp/daal/include/algorithms/em/em_gmm.h @@ -97,7 +97,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns the method of the algorithm @@ -140,7 +140,13 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis return s; } - void initialize(); + void initialize() + { + Analysis::_ac = new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env); + _in = &input; + _par = ¶meter; + _result = ResultPtr(new Result()); + } public: InputType input; /*!< %Input data structure */ diff --git a/cpp/daal/include/algorithms/em/em_gmm_init_batch.h b/cpp/daal/include/algorithms/em/em_gmm_init_batch.h index bdfe766c50e..b74dfa5eeae 100644 --- a/cpp/daal/include/algorithms/em/em_gmm_init_batch.h +++ b/cpp/daal/include/algorithms/em/em_gmm_init_batch.h @@ -85,7 +85,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis typedef algorithms::em_gmm::init::Parameter ParameterType; typedef algorithms::em_gmm::init::Result ResultType; - Batch(const size_t nComponents) : parameter(nComponents) { initialize(); } + Batch(const size_t nComponents); /** * Constructs an algorithm that computes initial values for the EM for GMM algorithm by copying input objects @@ -93,8 +93,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } - + Batch(const Batch & other); /** * Returns the method of the algorithm * \return Method of the algorithm diff --git a/cpp/daal/include/algorithms/engines/mcg59/mcg59.h b/cpp/daal/include/algorithms/engines/mcg59/mcg59.h index 11a63ac64a4..2150eb8d5f7 100644 --- a/cpp/daal/include/algorithms/engines/mcg59/mcg59.h +++ b/cpp/daal/include/algorithms/engines/mcg59/mcg59.h @@ -148,9 +148,9 @@ class DAAL_EXPORT Batch : public engines::BatchBase } protected: - Batch(size_t seed = 777) { initialize(); } + Batch(size_t seed = 777); - Batch(const Batch & other) : super(other) { initialize(); } + Batch(const Batch & other); virtual Batch * cloneImpl() const DAAL_C11_OVERRIDE { return new Batch(*this); } diff --git a/cpp/daal/include/algorithms/engines/mrg32k3a/mrg32k3a.h b/cpp/daal/include/algorithms/engines/mrg32k3a/mrg32k3a.h index a70c1853e1a..9808adf6106 100644 --- a/cpp/daal/include/algorithms/engines/mrg32k3a/mrg32k3a.h +++ b/cpp/daal/include/algorithms/engines/mrg32k3a/mrg32k3a.h @@ -149,9 +149,9 @@ class DAAL_EXPORT Batch : public engines::BatchBase } protected: - Batch(size_t seed = 777) { initialize(); } + Batch(size_t seed = 777); - Batch(const Batch & other) : super(other) { initialize(); } + Batch(const Batch & other); virtual Batch * cloneImpl() const DAAL_C11_OVERRIDE { return new Batch(*this); } diff --git a/cpp/daal/include/algorithms/engines/mt19937/mt19937.h b/cpp/daal/include/algorithms/engines/mt19937/mt19937.h index 04c2e87387e..adbb15cdd0b 100644 --- a/cpp/daal/include/algorithms/engines/mt19937/mt19937.h +++ b/cpp/daal/include/algorithms/engines/mt19937/mt19937.h @@ -148,9 +148,9 @@ class DAAL_EXPORT Batch : public engines::BatchBase } protected: - Batch(size_t seed = 777) { initialize(); } + Batch(size_t seed = 777); - Batch(const Batch & other) : super(other) { initialize(); } + Batch(const Batch & other); virtual Batch * cloneImpl() const DAAL_C11_OVERRIDE { return new Batch(*this); } diff --git a/cpp/daal/include/algorithms/engines/mt2203/mt2203.h b/cpp/daal/include/algorithms/engines/mt2203/mt2203.h index 41dc77ee519..cee304b7418 100644 --- a/cpp/daal/include/algorithms/engines/mt2203/mt2203.h +++ b/cpp/daal/include/algorithms/engines/mt2203/mt2203.h @@ -149,9 +149,9 @@ class DAAL_EXPORT Batch : public engines::FamilyBatchBase } protected: - Batch(size_t seed = 777) : super() { initialize(); } + Batch(size_t seed = 777); - Batch(const Batch & other) : super(other) { initialize(); } + Batch(const Batch & other); virtual Batch * cloneImpl() const DAAL_C11_OVERRIDE { return new Batch(*this); } diff --git a/cpp/daal/include/algorithms/engines/philox4x32x10/philox4x32x10.h b/cpp/daal/include/algorithms/engines/philox4x32x10/philox4x32x10.h index 3a5d0e33180..78d51012d67 100644 --- a/cpp/daal/include/algorithms/engines/philox4x32x10/philox4x32x10.h +++ b/cpp/daal/include/algorithms/engines/philox4x32x10/philox4x32x10.h @@ -149,9 +149,9 @@ class DAAL_EXPORT Batch : public engines::BatchBase } protected: - Batch(size_t seed = 777) { initialize(); } + Batch(size_t seed = 777); - Batch(const Batch & other) : super(other) { initialize(); } + Batch(const Batch & other); virtual Batch * cloneImpl() const DAAL_C11_OVERRIDE { return new Batch(*this); } diff --git a/cpp/daal/include/algorithms/implicit_als/implicit_als_predict_ratings_batch.h b/cpp/daal/include/algorithms/implicit_als/implicit_als_predict_ratings_batch.h index 13a8f8fc27d..1c4fbc983ea 100644 --- a/cpp/daal/include/algorithms/implicit_als/implicit_als_predict_ratings_batch.h +++ b/cpp/daal/include/algorithms/implicit_als/implicit_als_predict_ratings_batch.h @@ -83,7 +83,7 @@ class BatchContainer : public PredictionContainerIface * - \ref Method Implicit ALS prediction methods */ template -class Batch : public daal::algorithms::Prediction +class DAAL_EXPORT Batch : public daal::algorithms::Prediction { public: typedef algorithms::implicit_als::prediction::ratings::Input InputType; @@ -96,7 +96,7 @@ class Batch : public daal::algorithms::Prediction /** * Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an implicit ALS ratings prediction algorithm by copying input objects and parameters @@ -104,7 +104,7 @@ class Batch : public daal::algorithms::Prediction * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/implicit_als/implicit_als_predict_ratings_distributed.h b/cpp/daal/include/algorithms/implicit_als/implicit_als_predict_ratings_distributed.h index c3783f04796..711cec415ae 100644 --- a/cpp/daal/include/algorithms/implicit_als/implicit_als_predict_ratings_distributed.h +++ b/cpp/daal/include/algorithms/implicit_als/implicit_als_predict_ratings_distributed.h @@ -100,7 +100,7 @@ class DistributedContainer : public Di * - \ref Distributed class */ template -class Distributed : public daal::algorithms::DistributedPrediction +class DAAL_EXPORT Distributed : public daal::algorithms::DistributedPrediction {}; /** @@ -132,7 +132,7 @@ class Distributed : public daal::algorithms /** * Default constructor */ - Distributed() { initialize(); } + Distributed(); /** * Constructs an implicit ALS ratings prediction algorithm by copying input objects and parameters @@ -140,7 +140,7 @@ class Distributed : public daal::algorithms * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Distributed(const Distributed & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); virtual ~Distributed() {} diff --git a/cpp/daal/include/algorithms/implicit_als/implicit_als_training_batch.h b/cpp/daal/include/algorithms/implicit_als/implicit_als_training_batch.h index af370c53f15..405dd7167f7 100644 --- a/cpp/daal/include/algorithms/implicit_als/implicit_als_training_batch.h +++ b/cpp/daal/include/algorithms/implicit_als/implicit_als_training_batch.h @@ -89,7 +89,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Training ParameterType parameter; /*!< %Algorithm \ref implicit_als::interface1::Parameter "parameter" */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an implicit ALS training algorithm by copying input objects and parameters @@ -97,7 +97,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Training * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/implicit_als/implicit_als_training_distributed.h b/cpp/daal/include/algorithms/implicit_als/implicit_als_training_distributed.h index 582929de2db..df46222cbcd 100644 --- a/cpp/daal/include/algorithms/implicit_als/implicit_als_training_distributed.h +++ b/cpp/daal/include/algorithms/implicit_als/implicit_als_training_distributed.h @@ -181,7 +181,7 @@ class DistributedContainer : public Tr * - \ref Method %Training methods of the implicit ALS algorithm in the first step of the distributed processing mode */ template -class Distributed : public Training +class DAAL_EXPORT Distributed : public Training {}; /** @@ -212,7 +212,7 @@ class Distributed : public Training : public Training & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); /** * Returns the method of the algorithm @@ -319,7 +319,7 @@ class Distributed : public Training : public Training & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); /** * Returns the method of the algorithm @@ -426,7 +426,7 @@ class Distributed : public Training : public Training & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); /** * Returns the method of the algorithm @@ -533,7 +533,7 @@ class Distributed : public Training : public Training & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/implicit_als/implicit_als_training_init_batch.h b/cpp/daal/include/algorithms/implicit_als/implicit_als_training_init_batch.h index ef4374d9f95..be387c9e102 100644 --- a/cpp/daal/include/algorithms/implicit_als/implicit_als_training_init_batch.h +++ b/cpp/daal/include/algorithms/implicit_als/implicit_als_training_init_batch.h @@ -91,7 +91,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Training ParameterType parameter; /*!< %Algorithm parameter */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an algorithm for initializing the implicit ALS model by copying input objects and parameters @@ -99,8 +99,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Training * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } - + Batch(const Batch & other); /** * Returns the method of the algorithm * \return Method of the algorithm diff --git a/cpp/daal/include/algorithms/implicit_als/implicit_als_training_init_distributed.h b/cpp/daal/include/algorithms/implicit_als/implicit_als_training_init_distributed.h index ee8c15f5bf3..90024f6c627 100644 --- a/cpp/daal/include/algorithms/implicit_als/implicit_als_training_init_distributed.h +++ b/cpp/daal/include/algorithms/implicit_als/implicit_als_training_init_distributed.h @@ -123,7 +123,7 @@ class DistributedContainer : public Tr * - \ref Method Initialization methods of the implicit ALS algorithm in the distributed processing mode */ template -class Distributed +class DAAL_EXPORT Distributed {}; /** @@ -150,7 +150,7 @@ class Distributed : public Training : public Training & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); /** * Returns the method of the algorithm @@ -247,7 +247,7 @@ class Distributed : public Training input; /*!< %Input data structure */ /** Default constructor */ - Distributed() { initialize(); } + Distributed(); /** * Constructs an algorithm for initializing the implicit ALS model by copying input objects @@ -255,11 +255,7 @@ class Distributed : public Training & other) - { - initialize(); - input.set(inputOfStep2FromStep1, other.input.get(inputOfStep2FromStep1)); - } + Distributed(const Distributed & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/k_nearest_neighbors/kdtree_knn_classification_predict.h b/cpp/daal/include/algorithms/k_nearest_neighbors/kdtree_knn_classification_predict.h index df6b9c53b58..e5be73ad047 100644 --- a/cpp/daal/include/algorithms/k_nearest_neighbors/kdtree_knn_classification_predict.h +++ b/cpp/daal/include/algorithms/k_nearest_neighbors/kdtree_knn_classification_predict.h @@ -85,7 +85,7 @@ class BatchContainer : public PredictionContainerIface * - \ref training::interface3::Batch "training::Batch" class */ template -class Batch : public classifier::prediction::Batch +class DAAL_EXPORT Batch : public classifier::prediction::Batch { public: typedef classifier::prediction::Batch super; @@ -98,7 +98,7 @@ class Batch : public classifier::prediction::Batch ParameterType parameter; /*!< \ref kdtree_knn_classification::interface3::Parameter "Parameters" of prediction */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a KD-tree based kNN prediction algorithm by copying input objects and parameters @@ -106,20 +106,13 @@ class Batch : public classifier::prediction::Batch * \param[in] other Algorithm to use as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); /** * Constructs a KD-tree based kNN prediction algorithm with nClasses parameter * \param[in] nClasses number of classes */ - Batch(size_t nClasses) - { - parameter.nClasses = nClasses; - initialize(); - } + Batch(size_t nClasses); /** * Get input objects for the KD-tree based kNN prediction algorithm diff --git a/cpp/daal/include/algorithms/k_nearest_neighbors/kdtree_knn_classification_training_batch.h b/cpp/daal/include/algorithms/k_nearest_neighbors/kdtree_knn_classification_training_batch.h index 7b91f93ef26..b4298f7d663 100644 --- a/cpp/daal/include/algorithms/k_nearest_neighbors/kdtree_knn_classification_training_batch.h +++ b/cpp/daal/include/algorithms/k_nearest_neighbors/kdtree_knn_classification_training_batch.h @@ -97,7 +97,7 @@ class DAAL_EXPORT Batch : public classifier::training::Batch InputType input; /*!< %Input objects of the algorithm */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a KD-tree based kNN training algorithm by copying input objects @@ -105,20 +105,13 @@ class DAAL_EXPORT Batch : public classifier::training::Batch * \param[in] other Algorithm to use as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : classifier::training::Batch(other), parameter(other.parameter), input(other.input) - { - initialize(); - } + Batch(const Batch & other); /** * Constructs a KD-tree based kNN training algorithm with nClasses parameter * \param[in] nClasses number of classes */ - Batch(size_t nClasses) - { - parameter.nClasses = nClasses; - initialize(); - } + Batch(size_t nClasses); /** * Get input objects for KD-tree based kNN model-based training algorithm diff --git a/cpp/daal/include/algorithms/kernel_function/kernel_function_linear.h b/cpp/daal/include/algorithms/kernel_function/kernel_function_linear.h index e2914d62e3e..c1b3d8fa1e4 100644 --- a/cpp/daal/include/algorithms/kernel_function/kernel_function_linear.h +++ b/cpp/daal/include/algorithms/kernel_function/kernel_function_linear.h @@ -102,7 +102,7 @@ class DAAL_EXPORT Batch : public KernelIface InputType input; /*!< %Input data structure */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs linear kernel function algorithm by copying input objects and parameters @@ -110,7 +110,7 @@ class DAAL_EXPORT Batch : public KernelIface * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : KernelIface(other), parameter(other.parameter), input(other.input) { initialize(); } + Batch(const Batch & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/kernel_function/kernel_function_rbf.h b/cpp/daal/include/algorithms/kernel_function/kernel_function_rbf.h index 82c23446116..1213e66c1e8 100644 --- a/cpp/daal/include/algorithms/kernel_function/kernel_function_rbf.h +++ b/cpp/daal/include/algorithms/kernel_function/kernel_function_rbf.h @@ -101,7 +101,7 @@ class DAAL_EXPORT Batch : public KernelIface InputType input; /*!< %Input data structure */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs RBF kernel function algorithm by copying input objects and parameters @@ -109,7 +109,7 @@ class DAAL_EXPORT Batch : public KernelIface * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : KernelIface(other), parameter(other.parameter), input(other.input) { initialize(); } + Batch(const Batch & other); /** * Returns the method of the algorithm @@ -139,9 +139,9 @@ class DAAL_EXPORT Batch : public KernelIface protected: void initialize() { - Analysis::_ac = new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env); - _in = &input; - _par = ¶meter; + _ac = new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env); + _in = &input; + _par = ¶meter; } virtual Batch * cloneImpl() const DAAL_C11_OVERRIDE { return new Batch(*this); } diff --git a/cpp/daal/include/algorithms/lasso_regression/lasso_regression_predict.h b/cpp/daal/include/algorithms/lasso_regression/lasso_regression_predict.h index 892f50cef1b..33e19df5206 100644 --- a/cpp/daal/include/algorithms/lasso_regression/lasso_regression_predict.h +++ b/cpp/daal/include/algorithms/lasso_regression/lasso_regression_predict.h @@ -58,7 +58,7 @@ namespace interface1 * - \ref training::interface1::Batch "training::Batch" class */ template -class Batch : public linear_model::prediction::Batch +class DAAL_EXPORT Batch : public linear_model::prediction::Batch { public: typedef linear_model::prediction::Batch super; @@ -116,10 +116,8 @@ class Batch : public linear_model::prediction::Batch_ac = new __DAAL_ALGORITHM_CONTAINER(batch, linear_model::prediction::BatchContainer, algorithmFPType, - linear_model::prediction::defaultDense)(&(this->_env)); - this->_in = &input; - this->_par = NULL; + super::initialize(); + this->_in = &input; this->_result.reset(new ResultType()); } diff --git a/cpp/daal/include/algorithms/linear_model/linear_model_predict.h b/cpp/daal/include/algorithms/linear_model/linear_model_predict.h index b8f104cf8b1..632d7ad8730 100644 --- a/cpp/daal/include/algorithms/linear_model/linear_model_predict.h +++ b/cpp/daal/include/algorithms/linear_model/linear_model_predict.h @@ -80,7 +80,7 @@ class BatchContainer : public PredictionContainerIface * - \ref training::interface1::Batch "training::Batch" class */ template -class Batch : public regression::prediction::Batch +class DAAL_EXPORT Batch : public regression::prediction::Batch { public: typedef algorithms::linear_model::prediction::Input InputType; @@ -98,6 +98,9 @@ class Batch : public regression::prediction::Batch * \return Structure that contains the result of the regression model-based prediction */ ResultPtr getResult() { return ResultType::cast(_result); } + +protected: + void initialize(); }; /** @} */ } // namespace interface1 diff --git a/cpp/daal/include/algorithms/linear_regression/linear_regression_group_of_betas_batch.h b/cpp/daal/include/algorithms/linear_regression/linear_regression_group_of_betas_batch.h index 6e2e7129f97..6b5c97f6989 100644 --- a/cpp/daal/include/algorithms/linear_regression/linear_regression_group_of_betas_batch.h +++ b/cpp/daal/include/algorithms/linear_regression/linear_regression_group_of_betas_batch.h @@ -98,7 +98,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::quality_metric::Batch ParameterType parameter; /*!< Parameters of the algorithm */ /** Default constructor */ - Batch(size_t nBeta, size_t nBetaReducedModel) : parameter(nBeta, nBetaReducedModel) { initialize(); } + Batch(size_t nBeta, size_t nBetaReducedModel); /** * Constructs an algorithm by copying input objects and parameters @@ -106,13 +106,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::quality_metric::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : parameter(other.parameter) - { - initialize(); - input.set(expectedResponses, other.input.get(expectedResponses)); - input.set(predictedResponses, other.input.get(predictedResponses)); - input.set(predictedReducedModelResponses, other.input.get(predictedReducedModelResponses)); - } + Batch(const Batch & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/linear_regression/linear_regression_predict.h b/cpp/daal/include/algorithms/linear_regression/linear_regression_predict.h index 0d321c491ea..77c7c65dc3b 100644 --- a/cpp/daal/include/algorithms/linear_regression/linear_regression_predict.h +++ b/cpp/daal/include/algorithms/linear_regression/linear_regression_predict.h @@ -85,7 +85,8 @@ class Batch * - \ref training::interface1::Distributed "training::Distributed" class */ template -class Batch : public linear_model::prediction::Batch +class DAAL_EXPORT Batch + : public linear_model::prediction::Batch { public: typedef algorithms::linear_regression::prediction::Input InputType; @@ -141,10 +142,8 @@ class Batch : public linear_model::prediction::Ba void initialize() { - this->_ac = new __DAAL_ALGORITHM_CONTAINER(batch, linear_model::prediction::BatchContainer, algorithmFPType, - linear_model::prediction::defaultDense)(&(this->_env)); - this->_in = &input; - this->_par = NULL; + linear_model::prediction::Batch::initialize(); + this->_in = &input; this->_result.reset(new ResultType()); } diff --git a/cpp/daal/include/algorithms/linear_regression/linear_regression_single_beta_batch.h b/cpp/daal/include/algorithms/linear_regression/linear_regression_single_beta_batch.h index 734802aeffc..b91f73c7ba5 100644 --- a/cpp/daal/include/algorithms/linear_regression/linear_regression_single_beta_batch.h +++ b/cpp/daal/include/algorithms/linear_regression/linear_regression_single_beta_batch.h @@ -95,7 +95,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::quality_metric::Batch ParameterType parameter; /*!< Parameters of the algorithm */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an algorithm by copying input objects and parameters @@ -103,13 +103,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::quality_metric::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : parameter(other.parameter) - { - initialize(); - input.set(expectedResponses, other.input.get(expectedResponses)); - input.set(predictedResponses, other.input.get(predictedResponses)); - input.set(model, other.input.get(model)); - } + Batch(const Batch & other); /** * Returns the method of the algorithm diff --git a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_batch.h b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_batch.h index 472af4475bb..9773d53b869 100644 --- a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_batch.h +++ b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_batch.h @@ -101,7 +101,7 @@ class DAAL_EXPORT Batch : public linear_model::training::Batch ParameterType parameter; /*!< %Training \ref interface1::Parameter "parameters" */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a linear regression training algorithm by copying input objects @@ -109,7 +109,7 @@ class DAAL_EXPORT Batch : public linear_model::training::Batch * \param[in] other Algorithm to use as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); ~Batch() {} diff --git a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_distributed.h b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_distributed.h index 9023d6047b2..8789e6500a5 100644 --- a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_distributed.h +++ b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_distributed.h @@ -111,7 +111,7 @@ class DistributedContainer : public T * - \ref prediction::interface1::Batch "prediction::Batch" class */ template -class Distributed : public Training +class DAAL_EXPORT Distributed : public Training {}; /** @@ -203,7 +203,7 @@ class Distributed : public Training : public Training & other) : parameter(other.parameter) - { - initialize(); - input.set(partialModels, other.input.get(partialModels)); - } - + Distributed(const Distributed & other); ~Distributed() {} /** diff --git a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_online.h b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_online.h index cf1ce464abc..302c3095d33 100644 --- a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_online.h +++ b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_online.h @@ -109,7 +109,7 @@ class DAAL_EXPORT Online : public linear_model::training::Online ParameterType parameter; /*!< %Training \ref interface1::Parameter "parameters" */ /** Default constructor */ - Online() { initialize(); } + Online(); /** * Constructs a linear regression training algorithm by copying input objects and parameters @@ -117,10 +117,7 @@ class DAAL_EXPORT Online : public linear_model::training::Online * \param[in] other Algorithm to use as the source to initialize the input objects * and parameters of the algorithm */ - Online(const Online & other) : linear_model::training::Online(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Online(const Online & other); ~Online() {} diff --git a/cpp/daal/include/algorithms/moments/low_order_moments_batch.h b/cpp/daal/include/algorithms/moments/low_order_moments_batch.h index 0da0ab40674..e1510c1e77c 100644 --- a/cpp/daal/include/algorithms/moments/low_order_moments_batch.h +++ b/cpp/daal/include/algorithms/moments/low_order_moments_batch.h @@ -181,7 +181,7 @@ class DAAL_EXPORT Batch : public BatchImpl typedef typename super::ResultType ResultType; /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an algorithm that computes moments of low order by copying input objects @@ -189,7 +189,7 @@ class DAAL_EXPORT Batch : public BatchImpl * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : BatchImpl(other) { initialize(); } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/moments/low_order_moments_distributed.h b/cpp/daal/include/algorithms/moments/low_order_moments_distributed.h index 156d45e3197..b4e2bfe6e46 100644 --- a/cpp/daal/include/algorithms/moments/low_order_moments_distributed.h +++ b/cpp/daal/include/algorithms/moments/low_order_moments_distributed.h @@ -109,7 +109,7 @@ class DistributedContainer : public d * - Result class */ template -class Distributed +class DAAL_EXPORT Distributed {}; /** @@ -197,7 +197,7 @@ class Distributed : public daal::algorithm ParameterType parameter; /*!< %Parameters structure */ /** Default constructor */ - Distributed() { initialize(); } + Distributed(); /** * Constructs an algorithm that computes moments of low order by copying input objects @@ -205,7 +205,7 @@ class Distributed : public daal::algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Distributed(const Distributed & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/moments/low_order_moments_online.h b/cpp/daal/include/algorithms/moments/low_order_moments_online.h index 212ce37ed3c..151ccdaf087 100644 --- a/cpp/daal/include/algorithms/moments/low_order_moments_online.h +++ b/cpp/daal/include/algorithms/moments/low_order_moments_online.h @@ -102,7 +102,7 @@ class DAAL_EXPORT Online : public daal::algorithms::Analysis ParameterType parameter; /*!< %Parameters structure */ /** Default constructor */ - Online() { initialize(); } + Online(); /** * Constructs and algorithm that computes moments of low order by copying input objects and parameters @@ -110,7 +110,7 @@ class DAAL_EXPORT Online : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Online(const Online & other) : input(other.input), parameter(other.parameter) { initialize(); } + Online(const Online & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_predict.h b/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_predict.h index 5ce6e12b48a..4ab3f353a3a 100644 --- a/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_predict.h +++ b/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_predict.h @@ -104,7 +104,7 @@ class BatchContainer : public PredictionContainerIface */ template -class Batch : public classifier::prediction::Batch +class DAAL_EXPORT Batch : public classifier::prediction::Batch { public: typedef classifier::prediction::Batch super; @@ -120,13 +120,13 @@ class Batch : public classifier::prediction::Batch * Default constructor * \DAAL_DEPRECATED */ - DAAL_DEPRECATED Batch() : parameter(0) { initialize(); } + DAAL_DEPRECATED Batch(); /** * Default constructor * \param[in] nClasses Number of classes */ - Batch(size_t nClasses) : parameter(nClasses) { initialize(); } + Batch(size_t nClasses); /** * Constructs multi-class classifier prediction algorithm by copying input objects and parameters @@ -134,11 +134,7 @@ class Batch : public classifier::prediction::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) - : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_quality_metric_set_batch.h b/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_quality_metric_set_batch.h index f04667cd10a..f253f934881 100644 --- a/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_quality_metric_set_batch.h +++ b/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_quality_metric_set_batch.h @@ -56,7 +56,7 @@ namespace interface1 * \par References * - \ref algorithms::quality_metric_set::interface1::InputAlgorithmsCollection "algorithms::quality_metric_set::InputAlgorithmsCollection" class */ -class Batch : public algorithms::quality_metric_set::Batch +class DAAL_EXPORT Batch : public algorithms::quality_metric_set::Batch { public: Parameter parameter; /*!< Parameters of the algorithm */ diff --git a/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_train.h b/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_train.h index 7c09c241008..1f461c95cd8 100644 --- a/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_train.h +++ b/cpp/daal/include/algorithms/multi_class_classifier/multi_class_classifier_train.h @@ -113,13 +113,13 @@ class DAAL_EXPORT Batch : public classifier::training::Batch * Default constructor * \DAAL_DEPRECATED */ - DAAL_DEPRECATED Batch() : parameter(0) { initialize(); } + DAAL_DEPRECATED Batch(); /** * Default constructor * \param[in] nClasses Number of classes */ - Batch(size_t nClasses) : parameter(nClasses) { initialize(); } + Batch(size_t nClasses); /** * Constructs multi-class classifier training algorithm by copying input objects and parameters @@ -127,10 +127,7 @@ class DAAL_EXPORT Batch : public classifier::training::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : classifier::training::Batch(other), parameter(other.parameter), input(other.input) - { - initialize(); - } + Batch(const Batch & other); ~Batch() {} diff --git a/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_predict.h b/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_predict.h index 07a88c0c347..049f24caaf5 100644 --- a/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_predict.h +++ b/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_predict.h @@ -88,7 +88,7 @@ class BatchContainer : public PredictionContainerIface * - \ref Method Multinomial naive Bayes prediction methods */ template -class Batch : public classifier::prediction::Batch +class DAAL_EXPORT Batch : public classifier::prediction::Batch { public: typedef classifier::prediction::Batch super; @@ -103,7 +103,7 @@ class Batch : public classifier::prediction::Batch * Default constructor * \param nClasses Number of classes */ - Batch(size_t nClasses) : parameter(nClasses) { initialize(); } + Batch(size_t nClasses); /** * Constructs multinomial naive Bayes prediction algorithm by copying input objects and parameters @@ -111,10 +111,7 @@ class Batch : public classifier::prediction::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_batch.h b/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_batch.h index 06908756fcc..ca54b853496 100644 --- a/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_batch.h +++ b/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_batch.h @@ -105,7 +105,7 @@ class DAAL_EXPORT Batch : public classifier::training::Batch * Default constructor * \param nClasses Number of classes */ - Batch(size_t nClasses) : parameter(nClasses) { initialize(); } + Batch(size_t nClasses); /** * Constructs multinomial naive Bayes training algorithm by copying input objects and parameters @@ -113,10 +113,7 @@ class DAAL_EXPORT Batch : public classifier::training::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : classifier::training::Batch(other), parameter(other.parameter), input(other.input) - { - initialize(); - } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_distributed.h b/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_distributed.h index 3e2f106b388..acc9dde0f94 100644 --- a/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_distributed.h +++ b/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_distributed.h @@ -100,7 +100,7 @@ class DistributedContainer : public T * */ template -class Distributed +class DAAL_EXPORT Distributed {}; /** @@ -190,7 +190,7 @@ class Distributed : public Training : public Training & other) - : Training(other), parameter(other.parameter), input(other.input) - { - initialize(); - } - + Distributed(const Distributed & other); virtual ~Distributed() {} /** diff --git a/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_online.h b/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_online.h index de62bbab10e..1201e34a42d 100644 --- a/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_online.h +++ b/cpp/daal/include/algorithms/naive_bayes/multinomial_naive_bayes_training_online.h @@ -109,7 +109,7 @@ class DAAL_EXPORT Online : public classifier::training::Online * Default constructor * \param nClasses Number of classes */ - Online(size_t nClasses) : input(), parameter(nClasses) { initialize(); } + Online(size_t nClasses); /** * Constructs multinomial naive Bayes training algorithm by copying input objects and parameters @@ -117,7 +117,7 @@ class DAAL_EXPORT Online : public classifier::training::Online * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Online(const Online & other) : super(other), input(other.input), parameter(other.parameter) { initialize(); } + Online(const Online & other); virtual ~Online() {} diff --git a/cpp/daal/include/algorithms/normalization/minmax.h b/cpp/daal/include/algorithms/normalization/minmax.h index 95a2efed918..3af65b1cb7c 100644 --- a/cpp/daal/include/algorithms/normalization/minmax.h +++ b/cpp/daal/include/algorithms/normalization/minmax.h @@ -99,14 +99,14 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis Parameter parameter; /*!< Parameters */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs min-max normalization algorithm by copying input objects * of another min-max normalization algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/normalization/zscore.h b/cpp/daal/include/algorithms/normalization/zscore.h index 1347e814f31..5a808e17426 100644 --- a/cpp/daal/include/algorithms/normalization/zscore.h +++ b/cpp/daal/include/algorithms/normalization/zscore.h @@ -183,7 +183,7 @@ class DAAL_EXPORT Batch : public BatchImpl typedef algorithms::normalization::zscore::Parameter ParameterType; typedef typename super::ResultType ResultType; - /** Default constructor */ + /** Default constructor */ Batch(); /** diff --git a/cpp/daal/include/algorithms/optimization_solver/adagrad/adagrad_batch.h b/cpp/daal/include/algorithms/optimization_solver/adagrad/adagrad_batch.h index cc228036462..ac269354498 100644 --- a/cpp/daal/include/algorithms/optimization_solver/adagrad/adagrad_batch.h +++ b/cpp/daal/include/algorithms/optimization_solver/adagrad/adagrad_batch.h @@ -100,7 +100,7 @@ class DAAL_EXPORT Batch : public iterative_solver::Batch ParameterType parameter; /*!< %Parameter data structure */ /** Default constructor */ - Batch(sum_of_functions::BatchPtr objectiveFunction = sum_of_functions::BatchPtr()) : parameter(objectiveFunction) { initialize(); } + Batch(sum_of_functions::BatchPtr objectiveFunction = sum_of_functions::BatchPtr()); /** * Constructs a Adaptive gradient descent algorithm by copying input objects @@ -108,10 +108,7 @@ class DAAL_EXPORT Batch : public iterative_solver::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : iterative_solver::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/optimization_solver/lbfgs/lbfgs_batch.h b/cpp/daal/include/algorithms/optimization_solver/lbfgs/lbfgs_batch.h index 27ed1f67bf5..8f7124d2f4f 100644 --- a/cpp/daal/include/algorithms/optimization_solver/lbfgs/lbfgs_batch.h +++ b/cpp/daal/include/algorithms/optimization_solver/lbfgs/lbfgs_batch.h @@ -106,20 +106,14 @@ class DAAL_EXPORT Batch : public iterative_solver::Batch * Constructs the LBFGS algorithm with the input objective function * \param[in] objectiveFunction Objective function that can be represented as a sum of functions */ - Batch(const sum_of_functions::BatchPtr & objectiveFunction = sum_of_functions::BatchPtr()) : input(), parameter(objectiveFunction) - { - initialize(); - } + Batch(const sum_of_functions::BatchPtr & objectiveFunction = sum_of_functions::BatchPtr()); /** * Constructs an LBFGS algorithm by copying input objects of another LBFGS algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : iterative_solver::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/optimization_solver/sgd/sgd_batch.h b/cpp/daal/include/algorithms/optimization_solver/sgd/sgd_batch.h index bfa49310158..73d30527123 100644 --- a/cpp/daal/include/algorithms/optimization_solver/sgd/sgd_batch.h +++ b/cpp/daal/include/algorithms/optimization_solver/sgd/sgd_batch.h @@ -106,21 +106,15 @@ class DAAL_EXPORT Batch : public iterative_solver::Batch * Constructs the SGD algorithm with the input objective function * \param[in] objectiveFunction Objective function that can be represented as a sum of functions */ - Batch(const sum_of_functions::BatchPtr & objectiveFunction = sum_of_functions::BatchPtr()) : input(), parameter(objectiveFunction) - { - initialize(); - } + Batch(const sum_of_functions::BatchPtr & objectiveFunction = sum_of_functions::BatchPtr()); /** - * Constructs a Stochastic gradient descent algorithm by copying input objects - * of another Stochastic gradient descent algorithm - * \param[in] other An algorithm to be used as the source to initialize the input objects - * and parameters of the algorithm - */ - Batch(const Batch & other) : iterative_solver::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + * Constructs a Stochastic gradient descent algorithm by copying input objects + * of another Stochastic gradient descent algorithm + * \param[in] other An algorithm to be used as the source to initialize the input objects + * and parameters of the algorithm + */ + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/outlier_detection/outlier_detection_bacon.h b/cpp/daal/include/algorithms/outlier_detection/outlier_detection_bacon.h index 551f82ef435..29bf7ae29e1 100644 --- a/cpp/daal/include/algorithms/outlier_detection/outlier_detection_bacon.h +++ b/cpp/daal/include/algorithms/outlier_detection/outlier_detection_bacon.h @@ -99,7 +99,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis typedef algorithms::bacon_outlier_detection::Result ResultType; /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an algorithm for computing BACON outlier detection by copying input objects and parameters @@ -107,7 +107,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/outlier_detection/outlier_detection_multivariate.h b/cpp/daal/include/algorithms/outlier_detection/outlier_detection_multivariate.h index d9ddc397004..613cfe091d4 100644 --- a/cpp/daal/include/algorithms/outlier_detection/outlier_detection_multivariate.h +++ b/cpp/daal/include/algorithms/outlier_detection/outlier_detection_multivariate.h @@ -98,7 +98,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis typedef algorithms::multivariate_outlier_detection::Result ResultType; /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an algorithm for computing multivariate outlier detection by copying input objects and parameters @@ -106,7 +106,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input) { initialize(); } + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/outlier_detection/outlier_detection_univariate.h b/cpp/daal/include/algorithms/outlier_detection/outlier_detection_univariate.h index 628a1c9d475..339f7bdf564 100644 --- a/cpp/daal/include/algorithms/outlier_detection/outlier_detection_univariate.h +++ b/cpp/daal/include/algorithms/outlier_detection/outlier_detection_univariate.h @@ -93,7 +93,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis typedef algorithms::univariate_outlier_detection::Result ResultType; /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an algorithm for computing univariate outlier detection by copying input objects and parameters @@ -101,7 +101,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input) { initialize(); } + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/pca/pca_batch.h b/cpp/daal/include/algorithms/pca/pca_batch.h index 63e80ca6dea..1c553bfbd34 100644 --- a/cpp/daal/include/algorithms/pca/pca_batch.h +++ b/cpp/daal/include/algorithms/pca/pca_batch.h @@ -105,7 +105,7 @@ class BatchContainer : public AnalysisContainerI * - \ref Method Computation methods for the algorithm */ template -class Batch : public Analysis +class DAAL_EXPORT Batch : public Analysis { public: typedef algorithms::pca::Input InputType; @@ -113,14 +113,14 @@ class Batch : public Analysis typedef algorithms::pca::Result ResultType; /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a PCA algorithm by copying input objects and parameters of another PCA algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); ~Batch() {} diff --git a/cpp/daal/include/algorithms/pca/pca_distributed.h b/cpp/daal/include/algorithms/pca/pca_distributed.h index 3a80ed2a40a..b9a513cd1b2 100644 --- a/cpp/daal/include/algorithms/pca/pca_distributed.h +++ b/cpp/daal/include/algorithms/pca/pca_distributed.h @@ -152,7 +152,7 @@ class DistributedContainer : public * - \ref interface1::DistributedParameter class */ template -class Distributed : public Analysis +class DAAL_EXPORT Distributed : public Analysis {}; /** @@ -227,17 +227,14 @@ class Distributed : public Analy typedef algorithms::pca::PartialResult PartialResultType; /** Default constructor */ - Distributed() { initialize(); } + Distributed(); /** * Constructs a PCA algorithm by copying input objects and parameters of another PCA algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Distributed(const Distributed & other) : input(other.input), parameter(other.parameter) - { - initialize(); - } + Distributed(const Distributed & other); ~Distributed() {} @@ -357,14 +354,14 @@ class Distributed : public Analysis PartialResultType; /** Default constructor */ - Distributed() { initialize(); } + Distributed(); /** * Constructs a PCA algorithm by copying input objects and parameters of another PCA algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Distributed(const Distributed & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); ~Distributed() {} diff --git a/cpp/daal/include/algorithms/pca/pca_explained_variance_batch.h b/cpp/daal/include/algorithms/pca/pca_explained_variance_batch.h index 30f01c150a5..edf0444867f 100644 --- a/cpp/daal/include/algorithms/pca/pca_explained_variance_batch.h +++ b/cpp/daal/include/algorithms/pca/pca_explained_variance_batch.h @@ -84,7 +84,7 @@ class BatchContainer : public daal::algorithms::AnalysisContainerIface * - \ref ResultId %Result identifiers for the metric algorithm */ template -class Batch : public daal::algorithms::quality_metric::Batch +class DAAL_EXPORT Batch : public daal::algorithms::quality_metric::Batch { public: typedef algorithms::pca::quality_metric::explained_variance::Input InputType; @@ -95,7 +95,7 @@ class Batch : public daal::algorithms::quality_metric::Batch ParameterType parameter; /*!< Parameters of the algorithm */ /** Default constructor */ - Batch(size_t nFeatures = 0, size_t nComponents = 0) : parameter(nFeatures, nComponents) { initialize(); } + Batch(size_t nFeatures = 0, size_t nComponents = 0); /** * Constructs an algorithm by copying input objects and parameters @@ -103,11 +103,7 @@ class Batch : public daal::algorithms::quality_metric::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : parameter(other.parameter) - { - initialize(); - input.set(eigenvalues, other.input.get(eigenvalues)); - } + Batch(const Batch & other); ~Batch() = default; diff --git a/cpp/daal/include/algorithms/pca/pca_online.h b/cpp/daal/include/algorithms/pca/pca_online.h index 7ad7bf9e06a..b08ce7cadb5 100644 --- a/cpp/daal/include/algorithms/pca/pca_online.h +++ b/cpp/daal/include/algorithms/pca/pca_online.h @@ -133,14 +133,14 @@ class Online : public Analysis typedef algorithms::pca::PartialResult PartialResultType; /** Default constructor */ - Online() { initialize(); } + Online(); /** * Constructs a PCA algorithm by copying input objects and parameters of another PCA algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Online(const Online & other) : input(other.input), parameter(other.parameter) { initialize(); } + Online(const Online & other); ~Online() {} @@ -250,7 +250,7 @@ class Online : public Analysis * \tparam algorithmFPType Data type to use in intermediate computations of the PCA algorithm, double or float */ template -class Online : public Analysis +class DAAL_EXPORT Online : public Analysis { public: typedef algorithms::pca::Input InputType; @@ -259,14 +259,14 @@ class Online : public Analysis typedef algorithms::pca::PartialResult PartialResultType; /** Default constructor */ - Online() { initialize(); } + Online(); /** * Constructs a PCA algorithm by copying input objects and parameters of another PCA algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Online(const Online & other) : input(other.input), parameter(other.parameter) { initialize(); } + Online(const Online & other); ~Online() {} diff --git a/cpp/daal/include/algorithms/pca/pca_quality_metric_set_batch.h b/cpp/daal/include/algorithms/pca/pca_quality_metric_set_batch.h index 5c20f19e462..d4adfb141ff 100644 --- a/cpp/daal/include/algorithms/pca/pca_quality_metric_set_batch.h +++ b/cpp/daal/include/algorithms/pca/pca_quality_metric_set_batch.h @@ -56,7 +56,7 @@ namespace interface1 * \par References * - \ref algorithms::quality_metric_set::interface1::InputAlgorithmsCollection "algorithms::quality_metric_set::InputAlgorithmsCollection" class */ -class Batch : public algorithms::quality_metric_set::Batch +class DAAL_EXPORT Batch : public algorithms::quality_metric_set::Batch { public: Parameter parameter; /*!< Parameters of the algorithm */ diff --git a/cpp/daal/include/algorithms/pca/transform/pca_transform_batch.h b/cpp/daal/include/algorithms/pca/transform/pca_transform_batch.h index 6bc71acd04d..3e56fc9c5c8 100644 --- a/cpp/daal/include/algorithms/pca/transform/pca_transform_batch.h +++ b/cpp/daal/include/algorithms/pca/transform/pca_transform_batch.h @@ -82,7 +82,7 @@ class BatchContainer : public daal::algorithms::AnalysisContainerIface * - \ref Method Computation methods for the PCA transformation algorithm */ template -class Batch : public daal::algorithms::Analysis +class DAAL_EXPORT Batch : public daal::algorithms::Analysis { public: typedef algorithms::pca::transform::Input InputType; @@ -96,7 +96,7 @@ class Batch : public daal::algorithms::Analysis * Constructs a PCA transformation algorithm * \param[in] nComponents Number of principal components */ - Batch(size_t nComponents = 0) : parameter(nComponents) { initialize(); } + Batch(size_t nComponents = 0); /** * Constructs a PCA transformation algorithm by copying input objects and parameters @@ -104,7 +104,7 @@ class Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/pivoted_qr/pivoted_qr_batch.h b/cpp/daal/include/algorithms/pivoted_qr/pivoted_qr_batch.h index 70fb9cfbe4b..35689feca2b 100644 --- a/cpp/daal/include/algorithms/pivoted_qr/pivoted_qr_batch.h +++ b/cpp/daal/include/algorithms/pivoted_qr/pivoted_qr_batch.h @@ -91,7 +91,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis InputType input; /*!< Input data structure */ ParameterType parameter; /*!< Pivoted QR parameters structure */ - Batch() { initialize(); } + Batch(); /** * Constructs a pivoted QR decomposition algorithm by copying input objects and parameters @@ -99,7 +99,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/qr/qr_batch.h b/cpp/daal/include/algorithms/qr/qr_batch.h index 64150636704..736f4d5ac85 100644 --- a/cpp/daal/include/algorithms/qr/qr_batch.h +++ b/cpp/daal/include/algorithms/qr/qr_batch.h @@ -91,7 +91,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis InputType input; /*!< Input object */ ParameterType parameter; /*!< QR decomposition parameters */ - Batch() { initialize(); } + Batch(); /** * Constructs a QR decomposition algorithm by copying input objects and parameters @@ -99,7 +99,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/qr/qr_distributed.h b/cpp/daal/include/algorithms/qr/qr_distributed.h index f20020079d8..4b803241bed 100644 --- a/cpp/daal/include/algorithms/qr/qr_distributed.h +++ b/cpp/daal/include/algorithms/qr/qr_distributed.h @@ -134,7 +134,7 @@ class DistributedContainer : public da * - \ref Method Computation methods for the QR decomposition algorithm */ template -class Distributed : public daal::algorithms::Analysis +class DAAL_EXPORT Distributed : public daal::algorithms::Analysis {}; /** @@ -214,15 +214,14 @@ class Distributed : public daal::algorithm InputType input; /*!< Input data structure */ ParameterType parameter; /*!< QR parameters structure */ - Distributed() { initialize(); } - + Distributed(); /** * Constructs a QR decomposition algorithm by copying input objects and parameters * of another QR decomposition algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Distributed(const Distributed & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); /** * Returns method of the algorithm @@ -342,7 +341,7 @@ class Distributed : public daal::algorithms ParameterType parameter; /*!< QR parameters */ /** Default constructor */ - Distributed() { initialize(); } + Distributed(); /** * Constructs a QR decomposition algorithm by copying input objects and parameters @@ -350,7 +349,7 @@ class Distributed : public daal::algorithms * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Distributed(const Distributed & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/qr/qr_online.h b/cpp/daal/include/algorithms/qr/qr_online.h index 11a4f124552..b8eee22fe0f 100644 --- a/cpp/daal/include/algorithms/qr/qr_online.h +++ b/cpp/daal/include/algorithms/qr/qr_online.h @@ -85,7 +85,7 @@ class OnlineContainer : public daal::algorithms::AnalysisContainerIface * - \ref Method Computation methods for the QR decomposition algorithm */ template -class Online : public daal::algorithms::Analysis +class DAAL_EXPORT Online : public daal::algorithms::Analysis { public: typedef OnlinePartialResult PartialResult; @@ -99,7 +99,7 @@ class Online : public daal::algorithms::Analysis InputType input; /*!< Input object */ ParameterType parameter; /*!< QR parameters */ - Online() { initialize(); } + Online(); /** * Constructs a QR decomposition algorithm by copying input objects and parameters @@ -107,7 +107,7 @@ class Online : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Online(const Online & other) : input(other.input), parameter(other.parameter) { initialize(); } + Online(const Online & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/quantiles/quantiles_batch.h b/cpp/daal/include/algorithms/quantiles/quantiles_batch.h index eb668f08d98..198b04db901 100644 --- a/cpp/daal/include/algorithms/quantiles/quantiles_batch.h +++ b/cpp/daal/include/algorithms/quantiles/quantiles_batch.h @@ -94,7 +94,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis ParameterType parameter; /*!< Quantiles parameters structure */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs algorithm that computes quantiles by copying input objects and parameters @@ -102,7 +102,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_predict.h b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_predict.h index 4f0d396b194..c34f8b245d7 100644 --- a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_predict.h +++ b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_predict.h @@ -84,7 +84,8 @@ class Batch * - \ref training::interface1::Distributed "training::Distributed" class */ template -class Batch : public linear_model::prediction::Batch +class DAAL_EXPORT Batch + : public linear_model::prediction::Batch { public: typedef linear_model::prediction::Batch super; @@ -142,10 +143,8 @@ class Batch : public linear_model::prediction::Ba void initialize() { - this->_ac = new __DAAL_ALGORITHM_CONTAINER(batch, linear_model::prediction::BatchContainer, algorithmFPType, - linear_model::prediction::defaultDense)(&(this->_env)); - this->_in = &input; - this->_par = NULL; + super::initialize(); + this->_in = &input; this->_result.reset(new ResultType()); } diff --git a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_batch.h b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_batch.h index 291e6005a2e..6c4ed7cb4f6 100644 --- a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_batch.h +++ b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_batch.h @@ -99,7 +99,7 @@ class DAAL_EXPORT Batch : public linear_model::training::Batch ParameterType parameter; /*!< %Training \ref interface1::Parameter "parameters" */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs a ridge regression training algorithm by copying input objects @@ -107,7 +107,7 @@ class DAAL_EXPORT Batch : public linear_model::training::Batch * \param[in] other Algorithm to use as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); ~Batch() {} diff --git a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_distributed.h b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_distributed.h index bdd0f5887a8..b237251f11b 100644 --- a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_distributed.h +++ b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_distributed.h @@ -106,7 +106,7 @@ class DistributedContainer : public T * - \ref prediction::interface1::Batch "prediction::Batch" class */ template -class Distributed : public Training +class DAAL_EXPORT Distributed : public Training {}; /** @@ -195,14 +195,14 @@ class Distributed : public Training & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); ~Distributed() {} diff --git a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_online.h b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_online.h index 91906597f5d..d624f6818d0 100644 --- a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_online.h +++ b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_online.h @@ -106,17 +106,13 @@ class DAAL_EXPORT Online : public linear_model::training::Online ParameterType parameter; /*!< %Training parameters */ /** Default constructor */ - Online() { initialize(); } - + Online(); /** * Constructs a ridge regression training algorithm by copying input objects and parameters of another ridge regression training algorithm in the * online processing mode * \param[in] other Algorithm to use as the source to initialize the input objects and parameters of the algorithm */ - Online(const Online & other) : linear_model::training::Online(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Online(const Online & other); ~Online() {} diff --git a/cpp/daal/include/algorithms/sorting/sorting_batch.h b/cpp/daal/include/algorithms/sorting/sorting_batch.h index fa630755740..28935b6e4ad 100644 --- a/cpp/daal/include/algorithms/sorting/sorting_batch.h +++ b/cpp/daal/include/algorithms/sorting/sorting_batch.h @@ -93,7 +93,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis InputType input; /*!< %input data structure */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs sorting algorithm by copying input objects and parameters @@ -101,7 +101,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input) { initialize(); } + Batch(const Batch & other); ~Batch() DAAL_C11_OVERRIDE {} diff --git a/cpp/daal/include/algorithms/svd/svd_batch.h b/cpp/daal/include/algorithms/svd/svd_batch.h index b9c78ff4669..9886d13d816 100644 --- a/cpp/daal/include/algorithms/svd/svd_batch.h +++ b/cpp/daal/include/algorithms/svd/svd_batch.h @@ -90,7 +90,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis InputType input; /*!< %Input data structure */ ParameterType parameter; /*!< SVD parameters structure */ - Batch() { initialize(); } + Batch(); /** * Constructs an SVD algorithm by copying input objects and parameters @@ -98,7 +98,7 @@ class DAAL_EXPORT Batch : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : input(other.input), parameter(other.parameter) { initialize(); } + Batch(const Batch & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/svd/svd_distributed.h b/cpp/daal/include/algorithms/svd/svd_distributed.h index e2e63a53e4b..bf60fb9c0ea 100644 --- a/cpp/daal/include/algorithms/svd/svd_distributed.h +++ b/cpp/daal/include/algorithms/svd/svd_distributed.h @@ -229,7 +229,7 @@ class Distributed : public daal::algorithm InputType input; /*!< %DistributedStep2Input data structure */ ParameterType parameter; /*!< SVD parameters structure */ - Distributed() { initialize(); } + Distributed(); /** * Constructs a QR decomposition algorithm by copying input objects and parameters @@ -237,8 +237,7 @@ class Distributed : public daal::algorithm * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Distributed(const Distributed & other) : input(other.input), parameter(other.parameter) { initialize(); } - + Distributed(const Distributed & other); /** * Returns method of the algorithm * \return Method of the algorithm @@ -346,7 +345,7 @@ class Distributed : public daal::algorithms InputType input; /*!< %DistributedStep3Input data structure */ ParameterType parameter; /*!< SVD parameters structure */ - Distributed() { initialize(); } + Distributed(); /** * Constructs an SVD algorithm by copying input objects and parameters @@ -354,7 +353,7 @@ class Distributed : public daal::algorithms * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Distributed(const Distributed & other) : input(other.input), parameter(other.parameter) { initialize(); } + Distributed(const Distributed & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/svd/svd_online.h b/cpp/daal/include/algorithms/svd/svd_online.h index 1e72a9cba1b..b708f493c57 100644 --- a/cpp/daal/include/algorithms/svd/svd_online.h +++ b/cpp/daal/include/algorithms/svd/svd_online.h @@ -86,7 +86,7 @@ class OnlineContainer : public daal::algorithms::AnalysisContainerIface * - \ref Method SVD computation methods */ template -class Online : public daal::algorithms::Analysis +class DAAL_EXPORT Online : public daal::algorithms::Analysis { public: typedef OnlinePartialResult PartialResult; @@ -100,7 +100,7 @@ class Online : public daal::algorithms::Analysis InputType input; /*!< %Input data structure */ ParameterType parameter; /*!< SVD parameters structure */ - Online() { initialize(); } + Online(); /** * Constructs an SVD algorithm by copying input objects and parameters @@ -108,7 +108,7 @@ class Online : public daal::algorithms::Analysis * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Online(const Online & other) : input(other.input), parameter(other.parameter) { initialize(); } + Online(const Online & other); /** * Returns method of the algorithm diff --git a/cpp/daal/include/algorithms/svm/svm_predict.h b/cpp/daal/include/algorithms/svm/svm_predict.h index 28d0bd41694..c454928c59f 100644 --- a/cpp/daal/include/algorithms/svm/svm_predict.h +++ b/cpp/daal/include/algorithms/svm/svm_predict.h @@ -93,7 +93,7 @@ class BatchContainer : public PredictionContainerIface * - \ref interface1::Result "Result" class */ template -class Batch : public classifier::prediction::Batch +class DAAL_EXPORT Batch : public classifier::prediction::Batch { public: typedef classifier::prediction::Batch super; @@ -106,7 +106,7 @@ class Batch : public classifier::prediction::Batch ParameterType parameter; /*!< \ref interface1::Parameter "Parameter" of the algorithm */ /** Default constructor */ - Batch() { initialize(); } + Batch(); /** * Constructs an SVM prediction algorithm by copying input objects and parameters @@ -114,10 +114,7 @@ class Batch : public classifier::prediction::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) - { - initialize(); - } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/algorithms/svm/svm_train.h b/cpp/daal/include/algorithms/svm/svm_train.h index ad024affe70..75d0aabdee0 100644 --- a/cpp/daal/include/algorithms/svm/svm_train.h +++ b/cpp/daal/include/algorithms/svm/svm_train.h @@ -103,17 +103,13 @@ class DAAL_EXPORT Batch : public classifier::training::Batch InputType input; /*!< %Input objects of the algorithm */ /** Default constructor */ - Batch() { initialize(); }; + Batch(); /** * Constructs an SVM training algorithm with nClasses parameter * \param[in] nClasses number of classes */ - Batch(size_t nClasses) - { - parameter.nClasses = nClasses; - initialize(); - } + Batch(size_t nClasses); /** * Constructs an SVM training algorithm by copying input objects and parameters @@ -121,10 +117,7 @@ class DAAL_EXPORT Batch : public classifier::training::Batch * \param[in] other An algorithm to be used as the source to initialize the input objects * and parameters of the algorithm */ - Batch(const Batch & other) : classifier::training::Batch(other), parameter(other.parameter), input(other.input) - { - initialize(); - } + Batch(const Batch & other); virtual ~Batch() {} diff --git a/cpp/daal/include/services/daal_defines.h b/cpp/daal/include/services/daal_defines.h index 6a0880fd444..726ededf89d 100644 --- a/cpp/daal/include/services/daal_defines.h +++ b/cpp/daal/include/services/daal_defines.h @@ -50,11 +50,11 @@ #define __int64 long long int #endif -#if defined(_WIN32) || defined(_WIN64) - #ifdef __DAAL_IMPLEMENTATION +#ifdef __DAAL_IMPLEMENTATION + #if defined(_WIN32) || defined(_WIN64) #define DAAL_EXPORT __declspec(dllexport) #else - #define DAAL_EXPORT + #define DAAL_EXPORT __attribute__((visibility("default"))) #endif #else #define DAAL_EXPORT diff --git a/cpp/daal/src/algorithms/adaboost/adaboost_predict_dense_default_batch_fpt_cpu.cpp b/cpp/daal/src/algorithms/adaboost/adaboost_predict_dense_default_batch_fpt_cpu.cpp index 86e3cccd12c..89dc88900c0 100644 --- a/cpp/daal/src/algorithms/adaboost/adaboost_predict_dense_default_batch_fpt_cpu.cpp +++ b/cpp/daal/src/algorithms/adaboost/adaboost_predict_dense_default_batch_fpt_cpu.cpp @@ -40,8 +40,8 @@ template class BatchContainer; } // namespace interface2 namespace internal { -template class AdaBoostPredictKernel; -template class AdaBoostPredictKernel; +template class DAAL_EXPORT AdaBoostPredictKernel; +template class DAAL_EXPORT AdaBoostPredictKernel; } // namespace internal } // namespace prediction } // namespace adaboost diff --git a/cpp/daal/src/algorithms/adaboost/adaboost_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/adaboost/adaboost_predict_dense_default_batch_fpt_dispatcher.cpp index db1e83dd471..9c67aced9e3 100644 --- a/cpp/daal/src/algorithms/adaboost/adaboost_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/adaboost/adaboost_predict_dense_default_batch_fpt_dispatcher.cpp @@ -39,7 +39,7 @@ namespace prediction namespace interface2 { template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) { _par = new ParameterType(nClasses); parameter().nClasses = nClasses; @@ -48,14 +48,14 @@ Batch::Batch(size_t nClasses) using BatchTypeDefault = Batch; template <> -Batch::Batch(const BatchTypeDefault & other) +DAAL_EXPORT Batch::Batch(const BatchTypeDefault & other) : classifier::prediction::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); } template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) { _par = new ParameterType(nClasses); parameter().nClasses = nClasses; @@ -64,11 +64,13 @@ Batch::Batch(size_t nClasses) using BatchTypeSammeR = Batch; template <> -Batch::Batch(const BatchTypeSammeR & other) : classifier::prediction::Batch(other), input(other.input) +DAAL_EXPORT Batch::Batch(const BatchTypeSammeR & other) + : classifier::prediction::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); } + } // namespace interface2 } // namespace prediction } // namespace adaboost diff --git a/cpp/daal/src/algorithms/adaboost/adaboost_train_dense_default_batch_fpt_cpu.cpp b/cpp/daal/src/algorithms/adaboost/adaboost_train_dense_default_batch_fpt_cpu.cpp index 9b8c423384d..31012ecafb8 100644 --- a/cpp/daal/src/algorithms/adaboost/adaboost_train_dense_default_batch_fpt_cpu.cpp +++ b/cpp/daal/src/algorithms/adaboost/adaboost_train_dense_default_batch_fpt_cpu.cpp @@ -40,8 +40,8 @@ template class BatchContainer; } // namespace interface2 namespace internal { -template class AdaBoostTrainKernel; -template class AdaBoostTrainKernel; +template class DAAL_EXPORT AdaBoostTrainKernel; +template class DAAL_EXPORT AdaBoostTrainKernel; } // namespace internal } // namespace training } // namespace adaboost diff --git a/cpp/daal/src/algorithms/adaboost/adaboost_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/adaboost/adaboost_train_dense_default_batch_fpt_dispatcher.cpp index a7250e3a24c..e621db3437a 100644 --- a/cpp/daal/src/algorithms/adaboost/adaboost_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/adaboost/adaboost_train_dense_default_batch_fpt_dispatcher.cpp @@ -52,12 +52,10 @@ Batch::Batch(const Batch & other) : classifier::trainin initialize(); } -#define INSTANTIATE_CONSTRUCTORS(algorithmFPType, method) \ - template Batch::Batch(size_t); \ - template Batch::Batch(const Batch &); - -INSTANTIATE_CONSTRUCTORS(DAAL_FPTYPE, adaboost::training::defaultDense); -INSTANTIATE_CONSTRUCTORS(DAAL_FPTYPE, adaboost::training::sammeR); +template DAAL_EXPORT Batch::Batch(size_t nClasses); +template DAAL_EXPORT Batch::Batch(const Batch & other); +template DAAL_EXPORT Batch::Batch(size_t nClasses); +template DAAL_EXPORT Batch::Batch(const Batch & other); } // namespace interface2 } // namespace training diff --git a/cpp/daal/src/algorithms/algorithm_base_impl.cpp b/cpp/daal/src/algorithms/algorithm_base_impl.cpp index 0f774c1e5dc..86f2cea98d4 100644 --- a/cpp/daal/src/algorithms/algorithm_base_impl.cpp +++ b/cpp/daal/src/algorithms/algorithm_base_impl.cpp @@ -232,7 +232,7 @@ void AlgorithmImpl::setHostApp(const services::HostAppIfacePtr & pHost) /** * Computes final results of the algorithm in the %batch mode without possibility of throwing an exception. */ -services::Status AlgorithmImpl::computeNoThrow() +services::Status DAAL_EXPORT AlgorithmImpl::computeNoThrow() { this->setParameter(); @@ -277,17 +277,17 @@ services::Status AlgorithmImpl::computeNoThrow() return s; } -services::HostAppIfacePtr AlgorithmImpl::hostApp() +services::HostAppIfacePtr DAAL_EXPORT AlgorithmImpl::hostApp() { return this->_in ? services::internal::getHostApp(*this->_in) : services::HostAppIfacePtr(); } -void AlgorithmImpl::setHostApp(const services::HostAppIfacePtr & pHost) +void DAAL_EXPORT AlgorithmImpl::setHostApp(const services::HostAppIfacePtr & pHost) { if (this->_in) services::internal::setHostApp(pHost, *this->_in); } -template class interface1::AlgorithmImpl; -template class interface1::AlgorithmImpl; +template class DAAL_EXPORT interface1::AlgorithmImpl; +template class DAAL_EXPORT interface1::AlgorithmImpl; } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/assocrules/assoc_rules_apriori_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/assocrules/assoc_rules_apriori_batch_fpt_dispatcher.cpp index caceeec46b9..96e7363e993 100644 --- a/cpp/daal/src/algorithms/assocrules/assoc_rules_apriori_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/assocrules/assoc_rules_apriori_batch_fpt_dispatcher.cpp @@ -29,5 +29,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(association_rules::BatchContainer, batch, DAAL_FPTYPE, association_rules::apriori) + +namespace association_rules +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} +} // namespace interface1 +} // namespace association_rules } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/brownboost/brownboost_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/brownboost/brownboost_predict_dense_default_batch_fpt_dispatcher.cpp index 6ef32a4a4fe..4350d3abf54 100644 --- a/cpp/daal/src/algorithms/brownboost/brownboost_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/brownboost/brownboost_predict_dense_default_batch_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace prediction namespace interface2 { template <> -Batch::Batch() +DAAL_EXPORT Batch::Batch() { _par = new ParameterType(); initialize(); @@ -46,7 +46,8 @@ Batch::Batch() using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input) +DAAL_EXPORT Batch::Batch(const BatchType & other) + : classifier::prediction::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/brownboost/brownboost_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/brownboost/brownboost_train_dense_default_batch_fpt_dispatcher.cpp index 381b71ec178..dfb56dbcd81 100644 --- a/cpp/daal/src/algorithms/brownboost/brownboost_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/brownboost/brownboost_train_dense_default_batch_fpt_dispatcher.cpp @@ -59,13 +59,11 @@ Batch::Batch(const Batch & other) : classifier::trainin initialize(); } -template Batch::Batch(); -template Batch::Batch(size_t nClasses); -template Batch::Batch(const Batch &); - +template DAAL_EXPORT Batch::Batch(); +template DAAL_EXPORT Batch::Batch(size_t nClasses); +template DAAL_EXPORT Batch::Batch(const Batch & other); } // namespace interface2 } // namespace training } // namespace brownboost - } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/cholesky/cholesky_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/cholesky/cholesky_dense_default_batch_fpt_dispatcher.cpp index 0edd9bae723..880394f1b46 100644 --- a/cpp/daal/src/algorithms/cholesky/cholesky_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/cholesky/cholesky_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(cholesky::BatchContainer, batch, DAAL_FPTYPE, cholesky::defaultDense) + +namespace cholesky +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input) +{ + initialize(); } +} // namespace interface1 +} // namespace cholesky +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/classifier/binary_confusion_matrix_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/classifier/binary_confusion_matrix_dense_default_batch_fpt_dispatcher.cpp index 72bcefbf7dc..3123498e76f 100644 --- a/cpp/daal/src/algorithms/classifier/binary_confusion_matrix_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/classifier/binary_confusion_matrix_dense_default_batch_fpt_dispatcher.cpp @@ -29,5 +29,30 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(classifier::quality_metric::binary_confusion_matrix::BatchContainer, batch, DAAL_FPTYPE, classifier::quality_metric::binary_confusion_matrix::defaultDense) +namespace classifier +{ +namespace quality_metric +{ +namespace binary_confusion_matrix +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace binary_confusion_matrix +} // namespace quality_metric +} // namespace classifier +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/classifier/multiclass_confusion_matrix_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/classifier/multiclass_confusion_matrix_dense_default_batch_fpt_dispatcher.cpp index dc19984c62f..a3183078f7d 100644 --- a/cpp/daal/src/algorithms/classifier/multiclass_confusion_matrix_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/classifier/multiclass_confusion_matrix_dense_default_batch_fpt_dispatcher.cpp @@ -29,5 +29,30 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(classifier::quality_metric::multiclass_confusion_matrix::BatchContainer, batch, DAAL_FPTYPE, classifier::quality_metric::multiclass_confusion_matrix::defaultDense) +namespace classifier +{ +namespace quality_metric +{ +namespace multiclass_confusion_matrix +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) : parameter(nClasses) +{ + initialize(); } + +using BatchType = Batch; +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace multiclass_confusion_matrix +} // namespace quality_metric +} // namespace classifier +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/cordistance/cordistance_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/cordistance/cordistance_dense_default_batch_fpt_dispatcher.cpp index 5e92b19cd16..54ffca9101e 100644 --- a/cpp/daal/src/algorithms/cordistance/cordistance_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/cordistance/cordistance_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(correlation_distance::BatchContainer, batch, DAAL_FPTYPE, correlation_distance::defaultDense) +namespace correlation_distance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input) +{ + initialize(); +} + +} // namespace interface1 +} // namespace correlation_distance } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/cosdistance/cosdistance_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/cosdistance/cosdistance_dense_default_batch_fpt_dispatcher.cpp index 4633b0fcbbb..1d1177a9040 100644 --- a/cpp/daal/src/algorithms/cosdistance/cosdistance_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/cosdistance/cosdistance_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(cosine_distance::BatchContainer, batch, DAAL_FPTYPE, cosine_distance::defaultDense) +namespace cosine_distance +{ +namespace interface1 +{ + +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input) +{ + initialize(); +} + +} // namespace interface1 +} // namespace cosine_distance } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_csr_fast_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_csr_fast_batch_fpt_dispatcher.cpp index f2a26018648..64d56ec0c9b 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_csr_fast_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_csr_fast_batch_fpt_dispatcher.cpp @@ -28,5 +28,26 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::BatchContainer, batch, DAAL_FPTYPE, covariance::fastCSR) + +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); +} + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_csr_fast_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_csr_fast_distr_step2_fpt_dispatcher.cpp index 2d63ea6e446..b561871e163 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_csr_fast_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_csr_fast_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, covariance::fastCSR) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Distributed::Distributed() +{ + initialize(); +} + +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedIface(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_csr_fast_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_csr_fast_online_fpt_dispatcher.cpp index ea759a47fb5..ef00d71b322 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_csr_fast_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_csr_fast_online_fpt_dispatcher.cpp @@ -17,7 +17,7 @@ /* //++ -// Instantiation of batch covariance calculation algorithm container. +// Instantiation of online covariance calculation algorithm container. //-- */ @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::OnlineContainer, online, DAAL_FPTYPE, covariance::fastCSR) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : OnlineImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_batch_fpt_dispatcher.cpp index 2729bf4bb19..2c5c5da238e 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::BatchContainer, batch, DAAL_FPTYPE, covariance::singlePassCSR) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_distr_step2_fpt_dispatcher.cpp index 7ec6c05a1a9..6461acebea0 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, covariance::singlePassCSR) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Distributed::Distributed() +{ + initialize(); +} + +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedIface(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_online_fpt_dispatcher.cpp index d658e5ec75c..fe2e92eb5bd 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_csr_singlepass_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::OnlineContainer, online, DAAL_FPTYPE, covariance::singlePassCSR) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : OnlineImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_csr_sum_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_csr_sum_batch_fpt_dispatcher.cpp index dec03ca3674..0ef8ade7e30 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_csr_sum_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_csr_sum_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::BatchContainer, batch, DAAL_FPTYPE, covariance::sumCSR) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_csr_sum_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_csr_sum_distr_step2_fpt_dispatcher.cpp index cf0b99f0916..cd721627512 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_csr_sum_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_csr_sum_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, covariance::sumCSR) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Distributed::Distributed() +{ + initialize(); +} + +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedIface(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_csr_sum_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_csr_sum_online_fpt_dispatcher.cpp index 1cef7b799e2..4cd237c8f45 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_csr_sum_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_csr_sum_online_fpt_dispatcher.cpp @@ -28,5 +28,26 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::OnlineContainer, online, DAAL_FPTYPE, covariance::sumCSR) + +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); } + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : OnlineImpl(other) +{ + initialize(); +} + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_dense_default_batch_fpt_dispatcher.cpp index 37fc7632532..b95d46439a2 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,26 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::BatchContainer, batch, DAAL_FPTYPE, covariance::defaultDense) + +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); +} + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_dense_default_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_dense_default_distr_step2_fpt_dispatcher.cpp index 2bf7979d4d6..6fbeafaaa78 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_dense_default_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_dense_default_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, covariance::defaultDense) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Distributed::Distributed() +{ + initialize(); +} + +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedIface(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_dense_default_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_dense_default_online_fpt_dispatcher.cpp index 06752e02b2d..0360e2036e3 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_dense_default_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_dense_default_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::OnlineContainer, online, DAAL_FPTYPE, covariance::defaultDense) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : OnlineImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_batch_fpt_dispatcher.cpp index 4150e148873..6f2cda691ee 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::BatchContainer, batch, DAAL_FPTYPE, covariance::singlePassDense) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_distr_step2_fpt_dispatcher.cpp index 50170405c69..d62df1c2db7 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, covariance::singlePassDense) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Distributed::Distributed() +{ + initialize(); +} + +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedIface(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_online_fpt_dispatcher.cpp index cdeaa1592dd..376544dc7b4 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_dense_singlepass_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::OnlineContainer, online, DAAL_FPTYPE, covariance::singlePassDense) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : OnlineImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_dense_sum_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_dense_sum_batch_fpt_dispatcher.cpp index 197c7db7fe9..8be50dc3093 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_dense_sum_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_dense_sum_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::BatchContainer, batch, DAAL_FPTYPE, covariance::sumDense) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_dense_sum_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_dense_sum_distr_step2_fpt_dispatcher.cpp index 1ac99c8227b..4c501641afb 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_dense_sum_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_dense_sum_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, covariance::sumDense) +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Distributed::Distributed() +{ + initialize(); +} + +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedIface(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/covariance/covariance_dense_sum_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/covariance/covariance_dense_sum_online_fpt_dispatcher.cpp index 936413ee1bf..55418085145 100644 --- a/cpp/daal/src/algorithms/covariance/covariance_dense_sum_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/covariance/covariance_dense_sum_online_fpt_dispatcher.cpp @@ -28,5 +28,26 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(covariance::OnlineContainer, online, DAAL_FPTYPE, covariance::sumDense) + +namespace covariance +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); } + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : OnlineImpl(other) +{ + initialize(); +} + +} // namespace interface1 +} // namespace covariance +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_batch_fpt_dispatcher.cpp index 76f4912dd34..d2fcf37d97c 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_batch_fpt_dispatcher.cpp @@ -34,7 +34,7 @@ namespace dbscan namespace interface1 { template <> -Batch::Batch(DAAL_FPTYPE epsilon, size_t minObservations) +DAAL_EXPORT Batch::Batch(DAAL_FPTYPE epsilon, size_t minObservations) { _par = new ParameterType(epsilon, minObservations); initialize(); @@ -42,7 +42,7 @@ Batch::Batch(DAAL_FPTYPE epsilon, size_t minO using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) : input(other.input) +DAAL_EXPORT Batch::Batch(const BatchType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step10_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step10_fpt_dispatcher.cpp index fa2269e85c8..efda2d0be20 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step10_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step10_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t blockIndex, size_t nBlocks) +DAAL_EXPORT DistributedType::Distributed(size_t blockIndex, size_t nBlocks) { ParameterType * par = new ParameterType(); par->blockIndex = blockIndex; @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t blockIndex, size_t nBlocks) } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step11_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step11_fpt_dispatcher.cpp index 458c3211e73..9c76a9df5e3 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step11_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step11_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t blockIndex, size_t nBlocks) +DAAL_EXPORT DistributedType::Distributed(size_t blockIndex, size_t nBlocks) { ParameterType * par = new ParameterType(); par->blockIndex = blockIndex; @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t blockIndex, size_t nBlocks) } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step12_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step12_fpt_dispatcher.cpp index 77dde8229f2..6a1f2b7015c 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step12_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step12_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t blockIndex, size_t nBlocks) +DAAL_EXPORT DistributedType::Distributed(size_t blockIndex, size_t nBlocks) { ParameterType * par = new ParameterType(); par->blockIndex = blockIndex; @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t blockIndex, size_t nBlocks) } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step13_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step13_fpt_dispatcher.cpp index 8671428eb7a..2e10163fd97 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step13_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step13_fpt_dispatcher.cpp @@ -37,13 +37,13 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed() +DAAL_EXPORT DistributedType::Distributed() { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { initialize(); } diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step1_fpt_dispatcher.cpp index 06a7314ab24..197c6e5839f 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step1_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t blockIndex, size_t nBlocks) +DAAL_EXPORT DistributedType::Distributed(size_t blockIndex, size_t nBlocks) { ParameterType * par = new ParameterType(); par->blockIndex = blockIndex; @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t blockIndex, size_t nBlocks) } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step2_fpt_dispatcher.cpp index 21203009489..14dd4471360 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step2_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t blockIndex, size_t nBlocks) +DAAL_EXPORT DistributedType::Distributed(size_t blockIndex, size_t nBlocks) { ParameterType * par = new ParameterType(); par->blockIndex = blockIndex; @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t blockIndex, size_t nBlocks) } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step3_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step3_fpt_dispatcher.cpp index b8ea87b6bab..8a82f01ac99 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step3_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step3_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t leftBlocks, size_t rightBlocks) +DAAL_EXPORT DistributedType::Distributed(size_t leftBlocks, size_t rightBlocks) { ParameterType * par = new ParameterType(); par->leftBlocks = leftBlocks; @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t leftBlocks, size_t rightBlocks) } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step4_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step4_fpt_dispatcher.cpp index 346bf29b3bb..b01107414de 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step4_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step4_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t leftBlocks, size_t rightBlocks) +DAAL_EXPORT DistributedType::Distributed(size_t leftBlocks, size_t rightBlocks) { ParameterType * par = new ParameterType(); par->leftBlocks = leftBlocks; @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t leftBlocks, size_t rightBlocks) } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step5_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step5_fpt_dispatcher.cpp index b06c4712c29..287050aa5aa 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step5_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step5_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t blockIndex, size_t nBlocks, DAAL_FPTYPE epsilon) +DAAL_EXPORT DistributedType::Distributed(size_t blockIndex, size_t nBlocks, DAAL_FPTYPE epsilon) { ParameterType * par = new ParameterType(); par->blockIndex = blockIndex; @@ -49,7 +49,7 @@ DistributedType::Distributed(size_t blockIndex, size_t nBlocks, DAAL_FPTYPE epsi } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step6_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step6_fpt_dispatcher.cpp index 92206b36ca3..570b23d47b5 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step6_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step6_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t blockIndex, size_t nBlocks, DAAL_FPTYPE epsilon, size_t minObservations) +DAAL_EXPORT DistributedType::Distributed(size_t blockIndex, size_t nBlocks, DAAL_FPTYPE epsilon, size_t minObservations) { ParameterType * par = new ParameterType(); par->blockIndex = blockIndex; @@ -50,7 +50,7 @@ DistributedType::Distributed(size_t blockIndex, size_t nBlocks, DAAL_FPTYPE epsi } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step7_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step7_fpt_dispatcher.cpp index 341ea2798b5..6c281507e6d 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step7_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step7_fpt_dispatcher.cpp @@ -37,13 +37,13 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed() +DAAL_EXPORT DistributedType::Distributed() { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { initialize(); } diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step8_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step8_fpt_dispatcher.cpp index 9734fd3c445..3a84b8a4006 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step8_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step8_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t blockIndex, size_t nBlocks) +DAAL_EXPORT DistributedType::Distributed(size_t blockIndex, size_t nBlocks) { ParameterType * par = new ParameterType(); par->blockIndex = blockIndex; @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t blockIndex, size_t nBlocks) } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step9_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step9_fpt_dispatcher.cpp index 128ee8e3b5f..0a2c2a0a8a5 100644 --- a/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step9_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dbscan/dbscan_dense_default_distr_step9_fpt_dispatcher.cpp @@ -37,13 +37,13 @@ namespace interface1 using DistributedType = Distributed; template <> -DistributedType::Distributed() +DAAL_EXPORT DistributedType::Distributed() { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) : input(other.input) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input) { initialize(); } diff --git a/cpp/daal/src/algorithms/decision_tree/decision_tree_classification_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/decision_tree/decision_tree_classification_predict_dense_default_batch_fpt_dispatcher.cpp index 2e6245a66bd..7c6cb4d5eca 100644 --- a/cpp/daal/src/algorithms/decision_tree/decision_tree_classification_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/decision_tree/decision_tree_classification_predict_dense_default_batch_fpt_dispatcher.cpp @@ -30,6 +30,32 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(decision_tree::classification::prediction::BatchContainer, batch, DAAL_FPTYPE, decision_tree::classification::prediction::defaultDense) +namespace decision_tree +{ +namespace classification +{ +namespace prediction +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) + : classifier::prediction::Batch(), input(), parameter(nClasses) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} +} // namespace interface2 +} // namespace prediction +} // namespace classification +} // namespace decision_tree } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/decision_tree/decision_tree_classification_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/decision_tree/decision_tree_classification_train_dense_default_batch_fpt_dispatcher.cpp index 91be7088512..3959f5d1059 100644 --- a/cpp/daal/src/algorithms/decision_tree/decision_tree_classification_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/decision_tree/decision_tree_classification_train_dense_default_batch_fpt_dispatcher.cpp @@ -29,6 +29,31 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(decision_tree::classification::training::BatchContainer, batch, DAAL_FPTYPE, decision_tree::classification::training::defaultDense) +namespace decision_tree +{ +namespace classification +{ +namespace training +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::training::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} +} // namespace interface2 +} // namespace training +} // namespace classification +} // namespace decision_tree } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/decision_tree/decision_tree_regression_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/decision_tree/decision_tree_regression_predict_dense_default_batch_fpt_dispatcher.cpp index ded4f9fe3f1..f3d866eddea 100644 --- a/cpp/daal/src/algorithms/decision_tree/decision_tree_regression_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/decision_tree/decision_tree_regression_predict_dense_default_batch_fpt_dispatcher.cpp @@ -30,6 +30,32 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(decision_tree::regression::prediction::BatchContainer, batch, DAAL_FPTYPE, decision_tree::regression::prediction::defaultDense) +namespace decision_tree +{ +namespace regression +{ +namespace prediction +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) + : algorithms::regression::prediction::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} +} // namespace interface2 +} // namespace prediction +} // namespace regression +} // namespace decision_tree } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/decision_tree/decision_tree_regression_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/decision_tree/decision_tree_regression_train_dense_default_batch_fpt_dispatcher.cpp index 189ab5cab5a..33bfad69a4d 100644 --- a/cpp/daal/src/algorithms/decision_tree/decision_tree_regression_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/decision_tree/decision_tree_regression_train_dense_default_batch_fpt_dispatcher.cpp @@ -29,6 +29,31 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(decision_tree::regression::training::BatchContainer, batch, DAAL_FPTYPE, decision_tree::regression::training::defaultDense) +namespace decision_tree +{ +namespace regression +{ +namespace training +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : algorithms::regression::training::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} +} // namespace interface2 +} // namespace training +} // namespace regression +} // namespace decision_tree } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/distributions/bernoulli/bernoulli_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/distributions/bernoulli/bernoulli_dense_default_batch_fpt_dispatcher.cpp index cb773e6a467..d62c93d6e88 100644 --- a/cpp/daal/src/algorithms/distributions/bernoulli/bernoulli_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/distributions/bernoulli/bernoulli_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,29 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(distributions::bernoulli::BatchContainer, batch, DAAL_FPTYPE, distributions::bernoulli::defaultDense) + +namespace distributions +{ +namespace bernoulli +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(DAAL_FPTYPE p) : parameter(p) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : super(other), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace bernoulli +} // namespace distributions } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/distributions/normal/normal_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/distributions/normal/normal_dense_default_batch_fpt_dispatcher.cpp index e646f30b72d..67daa7024b4 100644 --- a/cpp/daal/src/algorithms/distributions/normal/normal_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/distributions/normal/normal_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(distributions::normal::BatchContainer, batch, DAAL_FPTYPE, distributions::normal::defaultDense) +namespace distributions +{ +namespace normal +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(DAAL_FPTYPE a, DAAL_FPTYPE sigma) : parameter(a, sigma) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : super(other), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace normal +} // namespace distributions } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/distributions/uniform/uniform_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/distributions/uniform/uniform_dense_default_batch_fpt_dispatcher.cpp index 1361383046a..af34940990d 100644 --- a/cpp/daal/src/algorithms/distributions/uniform/uniform_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/distributions/uniform/uniform_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(distributions::uniform::BatchContainer, batch, DAAL_FPTYPE, distributions::uniform::defaultDense) +namespace distributions +{ +namespace uniform +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(DAAL_FPTYPE a, DAAL_FPTYPE b) : parameter(a, b) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : super(other), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace uniform +} // namespace distributions } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_predict_dense_default_batch_fpt_dispatcher.cpp index 4842b1d6e8f..34287152955 100644 --- a/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_predict_dense_default_batch_fpt_dispatcher.cpp @@ -40,7 +40,7 @@ namespace prediction namespace interface3 { template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) { _par = new ParameterType(nClasses); initialize(); @@ -48,8 +48,7 @@ Batch::B using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) - : classifier::prediction::Batch(other), input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_train_dense_default_batch_fpt_dispatcher.cpp index 7aad0d9ec25..558c42efe7c 100644 --- a/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_train_dense_default_batch_fpt_dispatcher.cpp @@ -41,7 +41,7 @@ namespace interface3 using BatchType = Batch; template <> -BatchType::Batch(size_t nClasses) +DAAL_EXPORT BatchType::Batch(size_t nClasses) { _par = new ParameterType(nClasses); initialize(); @@ -49,7 +49,7 @@ BatchType::Batch(size_t nClasses) } template <> -BatchType::Batch(const BatchType & other) : classifier::training::Batch(other), input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::training::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_train_hist_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_train_hist_batch_fpt_dispatcher.cpp index e6db0c8f14c..ead1a5b8466 100644 --- a/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_train_hist_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/forest/classification/df_classification_train_hist_batch_fpt_dispatcher.cpp @@ -41,7 +41,7 @@ namespace interface3 using BatchType = Batch; template <> -BatchType::Batch(size_t nClasses) +DAAL_EXPORT BatchType::Batch(size_t nClasses) { _par = new ParameterType(nClasses); initialize(); @@ -49,7 +49,7 @@ BatchType::Batch(size_t nClasses) } template <> -BatchType::Batch(const BatchType & other) : classifier::training::Batch(other), input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::training::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_predict_dense_default_batch_fpt_dispatcher.cpp index 3cdae850423..67d07c2a0df 100644 --- a/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_predict_dense_default_batch_fpt_dispatcher.cpp @@ -31,5 +31,31 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(decision_forest::regression::prediction::BatchContainer, batch, DAAL_FPTYPE, decision_forest::regression::prediction::defaultDense) +namespace decision_forest +{ +namespace regression +{ +namespace prediction +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace prediction +} // namespace regression +} // namespace decision_forest +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_train_dense_default_batch_fpt_dispatcher.cpp index 1c51315ff75..86f101b96ae 100644 --- a/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_train_dense_default_batch_fpt_dispatcher.cpp @@ -40,7 +40,7 @@ namespace interface2 using BatchType = Batch; template <> -BatchType::Batch() +DAAL_EXPORT BatchType::Batch() { _par = new ParameterType; initialize(); @@ -48,7 +48,7 @@ BatchType::Batch() } template <> -BatchType::Batch(const BatchType & other) : input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_train_hist_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_train_hist_batch_fpt_dispatcher.cpp index d2ea86f3cbf..8397a474def 100644 --- a/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_train_hist_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_train_hist_batch_fpt_dispatcher.cpp @@ -40,7 +40,7 @@ namespace interface2 using BatchType = Batch; template <> -BatchType::Batch() +DAAL_EXPORT BatchType::Batch() { _par = new ParameterType; initialize(); @@ -48,7 +48,7 @@ BatchType::Batch() } template <> -BatchType::Batch(const BatchType & other) : input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dtrees/gbt/classification/gbt_classification_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/gbt/classification/gbt_classification_predict_dense_default_batch_fpt_dispatcher.cpp index feaa135eb91..e414b5b4edf 100644 --- a/cpp/daal/src/algorithms/dtrees/gbt/classification/gbt_classification_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/gbt/classification/gbt_classification_predict_dense_default_batch_fpt_dispatcher.cpp @@ -41,7 +41,7 @@ namespace prediction namespace interface2 { template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) { _par = new ParameterType(nClasses); initialize(); @@ -49,7 +49,7 @@ Batch::Batch(size_t using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) +DAAL_EXPORT Batch::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); diff --git a/cpp/daal/src/algorithms/dtrees/gbt/classification/gbt_classification_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/gbt/classification/gbt_classification_train_dense_default_batch_fpt_dispatcher.cpp index b84a06c11fb..0ab465550f5 100644 --- a/cpp/daal/src/algorithms/dtrees/gbt/classification/gbt_classification_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/gbt/classification/gbt_classification_train_dense_default_batch_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace training namespace interface2 { template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) { _par = new ParameterType(nClasses); initialize(); @@ -46,15 +46,14 @@ Batch::Batch(size_t nC using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) - : classifier::training::Batch(other), input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::training::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); } template <> -DAAL_EXPORT services::Status Batch::checkComputeParams() +DAAL_EXPORT services::Status BatchType::checkComputeParams() { services::Status s = classifier::training::Batch::checkComputeParams(); if (!s) return s; diff --git a/cpp/daal/src/algorithms/dtrees/gbt/regression/gbt_regression_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/gbt/regression/gbt_regression_predict_dense_default_batch_fpt_dispatcher.cpp index e386d3fe553..393524813b6 100644 --- a/cpp/daal/src/algorithms/dtrees/gbt/regression/gbt_regression_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/gbt/regression/gbt_regression_predict_dense_default_batch_fpt_dispatcher.cpp @@ -39,7 +39,7 @@ namespace prediction namespace interface1 { template <> -Batch::Batch() +DAAL_EXPORT Batch::Batch() { _par = new ParameterType(); initialize(); @@ -47,7 +47,7 @@ Batch::Batch() using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) : input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/dtrees/gbt/regression/gbt_regression_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/dtrees/gbt/regression/gbt_regression_train_dense_default_batch_fpt_dispatcher.cpp index 625dafb93a3..9d960259692 100644 --- a/cpp/daal/src/algorithms/dtrees/gbt/regression/gbt_regression_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/dtrees/gbt/regression/gbt_regression_train_dense_default_batch_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace training namespace interface1 { template <> -Batch::Batch() +DAAL_EXPORT Batch::Batch() { _par = new ParameterType(); initialize(); @@ -46,7 +46,7 @@ Batch::Batch() using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) : input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/elastic_net/elastic_net_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/elastic_net/elastic_net_train_dense_default_batch_fpt_dispatcher.cpp index e6f274e48f3..016ea8bc6fc 100755 --- a/cpp/daal/src/algorithms/elastic_net/elastic_net_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/elastic_net/elastic_net_train_dense_default_batch_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace training namespace interface1 { template <> -Batch::Batch(const optimization_solver::iterative_solver::BatchPtr & solver) +DAAL_EXPORT Batch::Batch(const optimization_solver::iterative_solver::BatchPtr & solver) { _par = new ParameterType(solver); initialize(); @@ -46,7 +46,7 @@ Batch::Batch(const optimizatio using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) : input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/em/em_gmm_dense_batch_fpt.cpp b/cpp/daal/src/algorithms/em/em_gmm_dense_batch_fpt.cpp deleted file mode 100644 index 0d531aa879a..00000000000 --- a/cpp/daal/src/algorithms/em/em_gmm_dense_batch_fpt.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* file: em_gmm_dense_batch_fpt.cpp */ -/******************************************************************************* -* Copyright 2014 Intel Corporation -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*******************************************************************************/ - -/* -//++ -// Implementation of EM Batch constructor -//-- -*/ - -#include "algorithms/em/em_gmm.h" - -namespace daal -{ -namespace algorithms -{ -namespace em_gmm -{ -namespace interface1 -{ -template -Batch::Batch(const size_t nComponents) - : parameter(nComponents, services::SharedPtr >( - new covariance::Batch())) -{ - initialize(); -} - -template -void Batch::initialize() -{ - Analysis::_ac = new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env); - _in = &input; - _par = ¶meter; - _result = ResultPtr(new Result()); -} - -template class Batch; - -} // namespace interface1 -} // namespace em_gmm -} // namespace algorithms -} // namespace daal diff --git a/cpp/daal/src/algorithms/em/em_gmm_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/em/em_gmm_dense_default_batch_fpt_dispatcher.cpp index 35c77ec196a..54041df3a68 100644 --- a/cpp/daal/src/algorithms/em/em_gmm_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/em/em_gmm_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(em_gmm::BatchContainer, batch, DAAL_FPTYPE, em_gmm::defaultDense) +namespace em_gmm +{ +namespace interface1 +{ + +template <> +DAAL_EXPORT Batch::Batch(const size_t nComponents) + : parameter(nComponents, services::SharedPtr >( + new covariance::Batch())) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace em_gmm } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/em/em_gmm_init_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/em/em_gmm_init_dense_default_batch_fpt_dispatcher.cpp index 873f2cf43b8..a3521a3ba36 100644 --- a/cpp/daal/src/algorithms/em/em_gmm_init_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/em/em_gmm_init_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(em_gmm::init::BatchContainer, batch, DAAL_FPTYPE, em_gmm::init::defaultDense) +namespace em_gmm +{ +namespace init +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(const size_t nComponents) : parameter(nComponents) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace init +} // namespace em_gmm } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/engines/mcg59/mcg59.cpp b/cpp/daal/src/algorithms/engines/mcg59/mcg59.cpp index ab0313f18a3..6ef862a60b7 100644 --- a/cpp/daal/src/algorithms/engines/mcg59/mcg59.cpp +++ b/cpp/daal/src/algorithms/engines/mcg59/mcg59.cpp @@ -48,8 +48,8 @@ SharedPtr > Batch::creat return engPtr; } -template class Batch; -template class Batch; +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed); +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed); } // namespace interface1 } // namespace mcg59 diff --git a/cpp/daal/src/algorithms/engines/mcg59/mcg59_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/engines/mcg59/mcg59_dense_default_batch_fpt_dispatcher.cpp index 36fc320a158..058158cc204 100644 --- a/cpp/daal/src/algorithms/engines/mcg59/mcg59_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/engines/mcg59/mcg59_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(engines::mcg59::BatchContainer, batch, DAAL_FPTYPE, engines::mcg59::defaultDense) +namespace engines +{ +namespace mcg59 +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t seed) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : super(other) +{ + initialize(); +} + +} // namespace interface1 +} // namespace mcg59 +} // namespace engines } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/engines/mrg32k3a/mrg32k3a.cpp b/cpp/daal/src/algorithms/engines/mrg32k3a/mrg32k3a.cpp index 393979ba319..45827eaa8b8 100644 --- a/cpp/daal/src/algorithms/engines/mrg32k3a/mrg32k3a.cpp +++ b/cpp/daal/src/algorithms/engines/mrg32k3a/mrg32k3a.cpp @@ -50,8 +50,8 @@ SharedPtr > Batch::creat return engPtr; } -template class Batch; -template class Batch; +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed); +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed); } // namespace interface1 } // namespace mrg32k3a diff --git a/cpp/daal/src/algorithms/engines/mrg32k3a/mrg32k3a_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/engines/mrg32k3a/mrg32k3a_dense_default_batch_fpt_dispatcher.cpp index fd78108df73..af2e9472aa8 100644 --- a/cpp/daal/src/algorithms/engines/mrg32k3a/mrg32k3a_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/engines/mrg32k3a/mrg32k3a_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(engines::mrg32k3a::BatchContainer, batch, DAAL_FPTYPE, engines::mrg32k3a::defaultDense) +namespace engines +{ +namespace mrg32k3a +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t seed) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : super(other) +{ + initialize(); +} + +} // namespace interface1 +} // namespace mrg32k3a +} // namespace engines } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/engines/mt19937/mt19937.cpp b/cpp/daal/src/algorithms/engines/mt19937/mt19937.cpp index a5236e3465b..2e9e6d0cf00 100644 --- a/cpp/daal/src/algorithms/engines/mt19937/mt19937.cpp +++ b/cpp/daal/src/algorithms/engines/mt19937/mt19937.cpp @@ -49,8 +49,8 @@ SharedPtr > Batch::creat return engPtr; } -template class Batch; -template class Batch; +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed); +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed); } // namespace interface1 } // namespace mt19937 diff --git a/cpp/daal/src/algorithms/engines/mt19937/mt19937_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/engines/mt19937/mt19937_dense_default_batch_fpt_dispatcher.cpp index 45f9972f92d..8022362583f 100644 --- a/cpp/daal/src/algorithms/engines/mt19937/mt19937_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/engines/mt19937/mt19937_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(engines::mt19937::BatchContainer, batch, DAAL_FPTYPE, engines::mt19937::defaultDense) +namespace engines +{ +namespace mt19937 +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t seed) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : super(other) +{ + initialize(); +} + +} // namespace interface1 +} // namespace mt19937 +} // namespace engines } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/engines/mt2203/mt2203.cpp b/cpp/daal/src/algorithms/engines/mt2203/mt2203.cpp index bc2d612b674..13fe607d87e 100644 --- a/cpp/daal/src/algorithms/engines/mt2203/mt2203.cpp +++ b/cpp/daal/src/algorithms/engines/mt2203/mt2203.cpp @@ -49,8 +49,8 @@ SharedPtr > Batch::creat return engPtr; } -template class Batch; -template class Batch; +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed, services::Status * st); +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed, services::Status * st); } // namespace interface1 } // namespace mt2203 diff --git a/cpp/daal/src/algorithms/engines/mt2203/mt2203_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/engines/mt2203/mt2203_dense_default_batch_fpt_dispatcher.cpp index 285e7f386b9..fbb050cd640 100644 --- a/cpp/daal/src/algorithms/engines/mt2203/mt2203_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/engines/mt2203/mt2203_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(engines::mt2203::BatchContainer, batch, DAAL_FPTYPE, engines::mt2203::defaultDense) +namespace engines +{ +namespace mt2203 +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t seed) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : super(other) +{ + initialize(); +} + +} // namespace interface1 +} // namespace mt2203 +} // namespace engines } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/engines/philox4x32x10/philox4x32x10.cpp b/cpp/daal/src/algorithms/engines/philox4x32x10/philox4x32x10.cpp index 47fb7dae70f..606966d894f 100644 --- a/cpp/daal/src/algorithms/engines/philox4x32x10/philox4x32x10.cpp +++ b/cpp/daal/src/algorithms/engines/philox4x32x10/philox4x32x10.cpp @@ -49,8 +49,8 @@ SharedPtr > Batch::creat return engPtr; } -template class Batch; -template class Batch; +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed); +template SharedPtr> DAAL_EXPORT Batch::create(size_t seed); } // namespace interface1 } // namespace philox4x32x10 diff --git a/cpp/daal/src/algorithms/engines/philox4x32x10/philox4x32x10_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/engines/philox4x32x10/philox4x32x10_dense_default_batch_fpt_dispatcher.cpp index 1640fc4ec12..b194dca5e31 100644 --- a/cpp/daal/src/algorithms/engines/philox4x32x10/philox4x32x10_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/engines/philox4x32x10/philox4x32x10_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(engines::philox4x32x10::BatchContainer, batch, DAAL_FPTYPE, engines::philox4x32x10::defaultDense) +namespace engines +{ +namespace philox4x32x10 +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t seed) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : super(other) +{ + initialize(); +} + +} // namespace interface1 +} // namespace philox4x32x10 +} // namespace engines } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_predict_ratings_csr_default_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_predict_ratings_csr_default_distr_step1_fpt_dispatcher.cpp index b75d041c8c0..0517249f551 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_predict_ratings_csr_default_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_predict_ratings_csr_default_distr_step1_fpt_dispatcher.cpp @@ -30,5 +30,32 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::prediction::ratings::DistributedContainer, distributed, step1Local, DAAL_FPTYPE, implicit_als::prediction::ratings::defaultDense) +namespace implicit_als +{ +namespace prediction +{ +namespace ratings +{ +namespace interface1 +{ + +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace ratings +} // namespace prediction +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_predict_ratings_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_predict_ratings_dense_default_batch_fpt_dispatcher.cpp index 1fc84366c08..809856a40f8 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_predict_ratings_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_predict_ratings_dense_default_batch_fpt_dispatcher.cpp @@ -30,5 +30,32 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::prediction::ratings::BatchContainer, batch, DAAL_FPTYPE, implicit_als::prediction::ratings::defaultDense) + +namespace implicit_als +{ +namespace prediction +{ +namespace ratings +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace ratings +} // namespace prediction +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_batch_fpt_dispatcher.cpp index 64e9397c073..4d7efe0b798 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::BatchContainer, batch, DAAL_FPTYPE, implicit_als::training::fastCSR) +namespace implicit_als +{ +namespace training +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step1_fpt_dispatcher.cpp index f858d7acd0e..e85492f5cec 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step1_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::DistributedContainer, distributed, step1Local, DAAL_FPTYPE, implicit_als::training::fastCSR) +namespace implicit_als +{ +namespace training +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step2_fpt_dispatcher.cpp index 94660751f4e..65ec71c48cb 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step2_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, implicit_als::training::fastCSR) +namespace implicit_als +{ +namespace training +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step3_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step3_fpt_dispatcher.cpp index 11c3f04724a..c21ed743027 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step3_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step3_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::DistributedContainer, distributed, step3Local, DAAL_FPTYPE, implicit_als::training::fastCSR) +namespace implicit_als +{ +namespace training +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step4_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step4_fpt_dispatcher.cpp index 20e00e52f02..2b3e64b564b 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step4_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_csr_default_distr_step4_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::DistributedContainer, distributed, step4Local, DAAL_FPTYPE, implicit_als::training::fastCSR) +namespace implicit_als +{ +namespace training +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_dense_default_batch_fpt_dispatcher.cpp index 0b710ba2251..27e2ba3ed62 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::BatchContainer, batch, DAAL_FPTYPE, implicit_als::training::defaultDense) +namespace implicit_als +{ +namespace training +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_batch_fpt_dispatcher.cpp index 18a4be02c4f..0d897ba0144 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,31 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::init::BatchContainer, batch, DAAL_FPTYPE, implicit_als::training::init::fastCSR) +namespace implicit_als +{ +namespace training +{ +namespace init +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace init +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_distr_step1_fpt_dispatcher.cpp index 37ccb521730..bdf3d349f20 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_distr_step1_fpt_dispatcher.cpp @@ -30,5 +30,31 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::init::DistributedContainer, distributed, step1Local, DAAL_FPTYPE, implicit_als::training::init::fastCSR) +namespace implicit_als +{ +namespace training +{ +namespace init +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace init +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_distr_step2_fpt_dispatcher.cpp index d245c95cce6..e12ffa706a7 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_csr_default_distr_step2_fpt_dispatcher.cpp @@ -30,5 +30,32 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::init::DistributedContainer, distributed, step2Local, DAAL_FPTYPE, implicit_als::training::init::fastCSR) +namespace implicit_als +{ +namespace training +{ +namespace init +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) +{ + initialize(); + input.set(inputOfStep2FromStep1, other.input.get(inputOfStep2FromStep1)); +} + +} // namespace interface1 +} // namespace init +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_dense_default_batch_fpt_dispatcher.cpp index 6eaa0dda7a8..aea1e7faf06 100644 --- a/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/implicit_als/implicit_als_train_init_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,31 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(implicit_als::training::init::BatchContainer, batch, DAAL_FPTYPE, implicit_als::training::init::defaultDense) +namespace implicit_als +{ +namespace training +{ +namespace init +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace init +} // namespace training +} // namespace implicit_als +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/k_nearest_neighbors/bf_knn_classification_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/k_nearest_neighbors/bf_knn_classification_predict_dense_default_batch_fpt_dispatcher.cpp index fe4644ac4f3..4dd00986915 100644 --- a/cpp/daal/src/algorithms/k_nearest_neighbors/bf_knn_classification_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/k_nearest_neighbors/bf_knn_classification_predict_dense_default_batch_fpt_dispatcher.cpp @@ -31,29 +31,28 @@ namespace prediction { namespace interface1 { -template -Batch::Batch() : classifier::prediction::Batch() + +template <> +DAAL_EXPORT Batch::Batch() : classifier::prediction::Batch() { _par = new ParameterType(); initialize(); } -template -Batch::Batch(const Batch & other) : classifier::prediction::Batch(other), input(other.input) +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) { - _par = new ParameterType(other.parameter()); + _par = new ParameterType(nClasses); initialize(); } -template -Batch::Batch(size_t nClasses) +template <> +DAAL_EXPORT Batch::Batch(const Batch & other) : classifier::prediction::Batch(other), input(other.input) { - _par = new ParameterType(nClasses); + _par = new ParameterType(other.parameter()); initialize(); } -template class Batch; - } // namespace interface1 } // namespace prediction } // namespace bf_knn_classification diff --git a/cpp/daal/src/algorithms/k_nearest_neighbors/bf_knn_classification_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/k_nearest_neighbors/bf_knn_classification_train_dense_default_batch_fpt_dispatcher.cpp index 919607d081e..0fa92be00c5 100644 --- a/cpp/daal/src/algorithms/k_nearest_neighbors/bf_knn_classification_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/k_nearest_neighbors/bf_knn_classification_train_dense_default_batch_fpt_dispatcher.cpp @@ -29,29 +29,27 @@ namespace training { namespace interface1 { -template -Batch::Batch() : classifier::training::Batch() +template <> +DAAL_EXPORT Batch::Batch() : classifier::training::Batch() { _par = new ParameterType(); initialize(); } -template -Batch::Batch(const Batch & other) : classifier::training::Batch(other), input(other.input) +template <> +DAAL_EXPORT Batch::Batch(const Batch & other) : classifier::training::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); } -template -Batch::Batch(size_t nClasses) +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) { _par = new ParameterType(nClasses); initialize(); } -template class Batch; - } // namespace interface1 } // namespace training } // namespace bf_knn_classification diff --git a/cpp/daal/src/algorithms/k_nearest_neighbors/kdtree_knn_classification_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/k_nearest_neighbors/kdtree_knn_classification_predict_dense_default_batch_fpt_dispatcher.cpp index 5c2778e2632..faa928c6ae3 100644 --- a/cpp/daal/src/algorithms/k_nearest_neighbors/kdtree_knn_classification_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/k_nearest_neighbors/kdtree_knn_classification_predict_dense_default_batch_fpt_dispatcher.cpp @@ -31,5 +31,33 @@ namespace algorithms __DAAL_INSTANTIATE_DISPATCH_CONTAINER(kdtree_knn_classification::prediction::BatchContainer, batch, DAAL_FPTYPE, kdtree_knn_classification::prediction::defaultDense) +namespace kdtree_knn_classification +{ +namespace prediction +{ +namespace interface3 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template <> +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) +{ + parameter.nClasses = nClasses; + initialize(); +} + +} // namespace interface3 +} // namespace prediction +} // namespace kdtree_knn_classification } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/k_nearest_neighbors/kdtree_knn_classification_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/k_nearest_neighbors/kdtree_knn_classification_train_dense_default_batch_fpt_dispatcher.cpp index 167ecd6ce38..c73f4c057dc 100644 --- a/cpp/daal/src/algorithms/k_nearest_neighbors/kdtree_knn_classification_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/k_nearest_neighbors/kdtree_knn_classification_train_dense_default_batch_fpt_dispatcher.cpp @@ -29,5 +29,34 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(kdtree_knn_classification::training::BatchContainer, batch, DAAL_FPTYPE, kdtree_knn_classification::training::defaultDense) +namespace kdtree_knn_classification +{ +namespace training +{ +namespace interface3 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template <> +DAAL_EXPORT Batch::Batch(const Batch & other) + : classifier::training::Batch(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} + +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) +{ + parameter.nClasses = nClasses; + initialize(); +} + +} // namespace interface3 +} // namespace training +} // namespace kdtree_knn_classification } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/kernel_function/kernel_function_linear_csr_fast_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kernel_function/kernel_function_linear_csr_fast_batch_fpt_dispatcher.cpp index d471f32c472..5705c17c897 100644 --- a/cpp/daal/src/algorithms/kernel_function/kernel_function_linear_csr_fast_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kernel_function/kernel_function_linear_csr_fast_batch_fpt_dispatcher.cpp @@ -29,5 +29,27 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(kernel_function::linear::BatchContainer, batch, DAAL_FPTYPE, kernel_function::linear::fastCSR) +namespace kernel_function +{ +namespace linear +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : KernelIface(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} +} // namespace interface1 +} // namespace linear +} // namespace kernel_function } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/kernel_function/kernel_function_linear_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kernel_function/kernel_function_linear_dense_default_batch_fpt_dispatcher.cpp index b46abf581c6..8fbbf4940f3 100644 --- a/cpp/daal/src/algorithms/kernel_function/kernel_function_linear_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kernel_function/kernel_function_linear_dense_default_batch_fpt_dispatcher.cpp @@ -29,5 +29,27 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(kernel_function::linear::BatchContainer, batch, DAAL_FPTYPE, kernel_function::linear::defaultDense) +namespace kernel_function +{ +namespace linear +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : KernelIface(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} +} // namespace interface1 +} // namespace linear +} // namespace kernel_function } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/kernel_function/kernel_function_rbf_csr_fast_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kernel_function/kernel_function_rbf_csr_fast_batch_fpt_dispatcher.cpp index 11e426ab21e..130391a07b9 100644 --- a/cpp/daal/src/algorithms/kernel_function/kernel_function_rbf_csr_fast_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kernel_function/kernel_function_rbf_csr_fast_batch_fpt_dispatcher.cpp @@ -30,5 +30,27 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(kernel_function::rbf::BatchContainer, batch, DAAL_FPTYPE, kernel_function::rbf::fastCSR) +namespace kernel_function +{ +namespace rbf +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : KernelIface(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} +} // namespace interface1 +} // namespace rbf +} // namespace kernel_function } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/kernel_function/kernel_function_rbf_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kernel_function/kernel_function_rbf_dense_default_batch_fpt_dispatcher.cpp index 5e054e5a162..b990ab8ad5c 100644 --- a/cpp/daal/src/algorithms/kernel_function/kernel_function_rbf_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kernel_function/kernel_function_rbf_dense_default_batch_fpt_dispatcher.cpp @@ -30,5 +30,27 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(kernel_function::rbf::BatchContainer, batch, DAAL_FPTYPE, kernel_function::rbf::defaultDense) +namespace kernel_function +{ +namespace rbf +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : KernelIface(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} +} // namespace interface1 +} // namespace rbf +} // namespace kernel_function } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial.h b/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial.h index f6bfd4a467c..9f18ea1d766 100644 --- a/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial.h +++ b/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial.h @@ -57,9 +57,9 @@ class DAAL_EXPORT Batch : public KernelIface ParameterType parameter; /*!< Parameter of the kernel function*/ InputType input; /*!< %Input data structure */ - Batch() { initialize(); } + Batch(); - Batch(const Batch & other) : KernelIface(other), parameter(other.parameter), input(other.input) { initialize(); } + Batch(const Batch & other); virtual int getMethod() const DAAL_C11_OVERRIDE { return (int)method; } diff --git a/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial_csr_fast_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial_csr_fast_batch_fpt_dispatcher.cpp index 125c55f453d..52e951887fa 100644 --- a/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial_csr_fast_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial_csr_fast_batch_fpt_dispatcher.cpp @@ -25,5 +25,27 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER_SAFE(kernel_function::polynomial::internal::BatchContainer, batch, DAAL_FPTYPE, kernel_function::polynomial::internal::fastCSR) +namespace kernel_function +{ +namespace polynomial +{ +namespace internal +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : KernelIface(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} +} // namespace internal +} // namespace polynomial +} // namespace kernel_function } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial_dense_default_batch_fpt_dispatcher.cpp index 5f8d69374f4..91fbfcab50e 100644 --- a/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kernel_function/polynomial/kernel_function_polynomial_dense_default_batch_fpt_dispatcher.cpp @@ -25,5 +25,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER_SAFE(kernel_function::polynomial::internal::BatchContainer, batch, DAAL_FPTYPE, kernel_function::polynomial::internal::defaultDense) +namespace kernel_function +{ +namespace polynomial +{ +namespace internal +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : KernelIface(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} + +} // namespace internal +} // namespace polynomial +} // namespace kernel_function } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_batch_fpt_dispatcher.cpp index 59ca0107028..7670704f8c9 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_batch_fpt_dispatcher.cpp @@ -37,14 +37,14 @@ namespace interface2 using BatchType = Batch; template <> -BatchType::Batch(size_t nClusters, size_t nIterations) +DAAL_EXPORT BatchType::Batch(size_t nClusters, size_t nIterations) { _par = new ParameterType(nClusters, nIterations); initialize(); } template <> -BatchType::Batch(const BatchType & other) +DAAL_EXPORT BatchType::Batch(const BatchType & other) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_distr_step1_fpt_dispatcher.cpp index d245e8b4169..1bb9bdf7342 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_distr_step1_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, bool assignFlag) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, bool assignFlag) { _par = new ParameterType(nClusters, 1); initialize(); @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t nClusters, bool assignFlag) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_distr_step2_fpt_dispatcher.cpp index c309a4c77d9..acac64f29eb 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_csr_lloyd_distr_step2_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nIterations) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nIterations) { _par = new ParameterType(nClusters, nIterations); initialize(); @@ -45,7 +45,7 @@ DistributedType::Distributed(size_t nClusters, size_t nIterations) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_batch_fpt_dispatcher.cpp index 0c09415ba2d..d53be2cace0 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_batch_fpt_dispatcher.cpp @@ -37,14 +37,14 @@ namespace interface2 using BatchType = Batch; template <> -BatchType::Batch(size_t nClusters, size_t nIterations) +DAAL_EXPORT BatchType::Batch(size_t nClusters, size_t nIterations) { _par = new ParameterType(nClusters, nIterations); initialize(); } template <> -BatchType::Batch(const BatchType & other) +DAAL_EXPORT BatchType::Batch(const BatchType & other) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_distr_step1_fpt_dispatcher.cpp index e55da154977..ea6ebfe9287 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_distr_step1_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, bool assignFlag) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, bool assignFlag) { _par = new ParameterType(nClusters, 1); initialize(); @@ -48,7 +48,7 @@ DistributedType::Distributed(size_t nClusters, bool assignFlag) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_distr_step2_fpt_dispatcher.cpp index 2bd0e9b85ed..a06d65ee90e 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_dense_lloyd_distr_step2_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nIterations) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nIterations) { _par = new ParameterType(nClusters, nIterations); initialize(); @@ -45,7 +45,7 @@ DistributedType::Distributed(size_t nClusters, size_t nIterations) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_batch_fpt_dispatcher.cpp index 5e485b1c6b8..425b367e4aa 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_batch_fpt_dispatcher.cpp @@ -36,7 +36,7 @@ namespace init namespace interface2 { template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) { initialize(); @@ -44,7 +44,7 @@ Batch::Batch(size_t nClasses) using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_distr_step1_fpt_dispatcher.cpp index a91ca47ac7c..c0e8594ad4e 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_distr_step1_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { initialize(); @@ -46,7 +46,7 @@ DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_distr_step2_fpt_dispatcher.cpp index f39e26aa466..5bf4256822e 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_deterministic_distr_step2_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { Analysis::_ac = diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_batch_fpt_dispatcher.cpp index bec9fdda052..0e21b540d2b 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_batch_fpt_dispatcher.cpp @@ -38,13 +38,13 @@ namespace interface2 using BatchType = Batch; template <> -BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) +DAAL_EXPORT BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) { initialize(); } template <> -BatchType::Batch(const BatchType & other) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step1_fpt_dispatcher.cpp index dd8148b6875..3cc085a9bac 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step1_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { initialize(); @@ -46,7 +46,7 @@ DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step2_fpt_dispatcher.cpp index 38661f4f08c..43d473a76fa 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step2_fpt_dispatcher.cpp @@ -38,14 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, bool bFirstIteration) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, bool bFirstIteration) : DistributedStep2LocalPlusPlusBase(new ParameterType(nClusters, bFirstIteration)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedStep2LocalPlusPlusBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step3_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step3_fpt_dispatcher.cpp index 111c24475b8..ac474aa09fb 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step3_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step3_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step4_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step4_fpt_dispatcher.cpp index 288efc69311..b2b0c0b53c7 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step4_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step4_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step5_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step5_fpt_dispatcher.cpp index fa077fa6ca3..d3abbe0a183 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step5_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_parallelplus_distr_step5_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_batch_fpt_dispatcher.cpp index 4f9677f09a1..eb03764725d 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_batch_fpt_dispatcher.cpp @@ -38,13 +38,13 @@ namespace interface2 using BatchType = Batch; template <> -BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) +DAAL_EXPORT BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) { initialize(); } template <> -BatchType::Batch(const BatchType & other) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step1_fpt_dispatcher.cpp index ba19a365ff0..6b0a49a5e1b 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step1_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { initialize(); @@ -46,7 +46,7 @@ DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step2_fpt_dispatcher.cpp index 247ecb78879..7b99d0d36b4 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step2_fpt_dispatcher.cpp @@ -38,14 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, bool bFirstIteration) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, bool bFirstIteration) : DistributedStep2LocalPlusPlusBase(new ParameterType(nClusters, bFirstIteration)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedStep2LocalPlusPlusBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step3_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step3_fpt_dispatcher.cpp index 0504f42f0d8..9a107a8babe 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step3_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step3_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step4_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step4_fpt_dispatcher.cpp index 762d04f96c9..8dff77f99f1 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step4_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_plusplus_distr_step4_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_batch_fpt_dispatcher.cpp index 623e9aabbe6..f129344e511 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_batch_fpt_dispatcher.cpp @@ -36,7 +36,7 @@ namespace init namespace interface2 { template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) { initialize(); @@ -44,7 +44,7 @@ Batch::Batch(size_t nClasses) using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_distr_step1_fpt_dispatcher.cpp index efb5bc4f62d..bc960ff1435 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_distr_step1_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { initialize(); @@ -46,7 +46,7 @@ DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_distr_step2_fpt_dispatcher.cpp index ffca0e9a613..9801be11654 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_csr_random_distr_step2_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { Analysis::_ac = diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_batch_fpt_dispatcher.cpp index 7e4f09f2a0e..790cae8c744 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_batch_fpt_dispatcher.cpp @@ -38,13 +38,13 @@ namespace interface2 using BatchType = Batch; template <> -BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) +DAAL_EXPORT BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) { initialize(); } template <> -BatchType::Batch(const BatchType & other) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_distr_step1_fpt_dispatcher.cpp index 04b43d0530d..1b131f7e214 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_distr_step1_fpt_dispatcher.cpp @@ -39,7 +39,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { initialize(); @@ -47,7 +47,7 @@ DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_distr_step2_fpt_dispatcher.cpp index dc1089cdca3..58fe8ec716b 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_deterministic_distr_step2_fpt_dispatcher.cpp @@ -39,7 +39,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { Analysis::_ac = diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_batch_fpt_dispatcher.cpp index 6340b74d9aa..eb8208b3790 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_batch_fpt_dispatcher.cpp @@ -38,13 +38,13 @@ namespace interface2 using BatchType = Batch; template <> -BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) +DAAL_EXPORT BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) { initialize(); } template <> -BatchType::Batch(const BatchType & other) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step1_fpt_dispatcher.cpp index f1af15d139a..cec6a664033 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step1_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { initialize(); @@ -46,7 +46,7 @@ DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step2_fpt_dispatcher.cpp index 68092325dc8..0ece73f5a97 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step2_fpt_dispatcher.cpp @@ -38,14 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, bool bFirstIteration) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, bool bFirstIteration) : DistributedStep2LocalPlusPlusBase(new ParameterType(nClusters, bFirstIteration)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedStep2LocalPlusPlusBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step3_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step3_fpt_dispatcher.cpp index fa300c58bd0..937c335aa79 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step3_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step3_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step4_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step4_fpt_dispatcher.cpp index 7219582c50f..19ae805595d 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step4_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step4_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step5_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step5_fpt_dispatcher.cpp index 336bc847952..20fc17db9b2 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step5_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_parallelplus_distr_step5_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_batch_fpt_dispatcher.cpp index a1f8acccc77..ad2ba14d385 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_batch_fpt_dispatcher.cpp @@ -38,13 +38,13 @@ namespace interface2 using BatchType = Batch; template <> -BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) +DAAL_EXPORT BatchType::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) { initialize(); } template <> -BatchType::Batch(const BatchType & other) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step1_fpt_dispatcher.cpp index ddadf8fedc8..d5ed241ab98 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step1_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { initialize(); @@ -46,7 +46,7 @@ DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step2_fpt_dispatcher.cpp index ccd328bdeb7..1d0a2d303a1 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step2_fpt_dispatcher.cpp @@ -38,14 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, bool bFirstIteration) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, bool bFirstIteration) : DistributedStep2LocalPlusPlusBase(new ParameterType(nClusters, bFirstIteration)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedStep2LocalPlusPlusBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step3_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step3_fpt_dispatcher.cpp index 639250b73e1..c4bc27ca0da 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step3_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step3_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step4_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step4_fpt_dispatcher.cpp index 4d34bc12900..ac7e31139ea 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step4_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_plusplus_distr_step4_fpt_dispatcher.cpp @@ -38,13 +38,14 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters) : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters) + : DistributedBase(new ParameterType(nClusters)), parameter(*static_cast(_par)) { initialize(); } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_batch_fpt_dispatcher.cpp index dea4bb5d503..13f846b5ec2 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_batch_fpt_dispatcher.cpp @@ -36,7 +36,7 @@ namespace init namespace interface2 { template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) : BatchBase(new ParameterType(nClasses)), parameter(*static_cast(_par)) { initialize(); @@ -44,7 +44,7 @@ Batch::Batch(size_t nClasses) using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) +DAAL_EXPORT Batch::Batch(const BatchType & other) : BatchBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)), input(other.input) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_distr_step1_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_distr_step1_fpt_dispatcher.cpp index f18a7d86649..92326ae0dfa 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_distr_step1_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_distr_step1_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { initialize(); @@ -46,7 +46,7 @@ DistributedType::Distributed(size_t nClusters, size_t nRowsTotal, size_t offset) } template <> -DistributedType::Distributed(const DistributedType & other) +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : DistributedBase(new ParameterType(other.parameter)), parameter(*static_cast(_par)) { initialize(); diff --git a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_distr_step2_fpt_dispatcher.cpp index 0dba642ec04..9fbfa8f46fd 100644 --- a/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/kmeans/kmeans_init_dense_random_distr_step2_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace interface2 using DistributedType = Distributed; template <> -DistributedType::Distributed(size_t nClusters, size_t offset) +DAAL_EXPORT DistributedType::Distributed(size_t nClusters, size_t offset) : DistributedBase(new ParameterType(nClusters, offset)), parameter(*static_cast(_par)) { Analysis::_ac = diff --git a/cpp/daal/src/algorithms/lasso_regression/lasso_regression_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/lasso_regression/lasso_regression_train_dense_default_batch_fpt_dispatcher.cpp index 84bf8751220..6d6769b5507 100644 --- a/cpp/daal/src/algorithms/lasso_regression/lasso_regression_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/lasso_regression/lasso_regression_train_dense_default_batch_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace training namespace interface1 { template <> -Batch::Batch(const optimization_solver::iterative_solver::BatchPtr & solver) +DAAL_EXPORT Batch::Batch(const optimization_solver::iterative_solver::BatchPtr & solver) { _par = new ParameterType(solver); initialize(); @@ -46,7 +46,7 @@ Batch::Batch(const optimi using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) : input(other.input) +DAAL_EXPORT Batch::Batch(const BatchType & other) : input(other.input) { _par = new ParameterType(other.parameter()); initialize(); diff --git a/cpp/daal/src/algorithms/linear_model/linear_model_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/linear_model/linear_model_predict_dense_default_batch_fpt_dispatcher.cpp index eede44d34d1..d1da8443cf9 100644 --- a/cpp/daal/src/algorithms/linear_model/linear_model_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/linear_model/linear_model_predict_dense_default_batch_fpt_dispatcher.cpp @@ -30,5 +30,20 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(linear_model::prediction::BatchContainer, batch, DAAL_FPTYPE, linear_model::prediction::defaultDense) +namespace linear_model +{ +namespace prediction +{ +namespace interface1 +{ +template <> +DAAL_EXPORT void Batch::initialize() +{ + this->_ac = new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, DAAL_FPTYPE, defaultDense)(&(this->_env)); + this->_par = NULL; } +} // namespace interface1 +} // namespace prediction +} // namespace linear_model +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/linear_regression/linear_regression_group_of_betas_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/linear_regression/linear_regression_group_of_betas_dense_default_batch_fpt_dispatcher.cpp index f6336bd9df2..bd8f818a44e 100644 --- a/cpp/daal/src/algorithms/linear_regression/linear_regression_group_of_betas_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/linear_regression/linear_regression_group_of_betas_dense_default_batch_fpt_dispatcher.cpp @@ -29,5 +29,33 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(linear_regression::quality_metric::group_of_betas::BatchContainer, batch, DAAL_FPTYPE, linear_regression::quality_metric::group_of_betas::defaultDense) +namespace linear_regression +{ +namespace quality_metric +{ +namespace group_of_betas +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t nBeta, size_t nBetaReducedModel) : parameter(nBeta, nBetaReducedModel) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : parameter(other.parameter) +{ + initialize(); + input.set(expectedResponses, other.input.get(expectedResponses)); + input.set(predictedResponses, other.input.get(predictedResponses)); + input.set(predictedReducedModelResponses, other.input.get(predictedReducedModelResponses)); } +} // namespace interface1 +} // namespace group_of_betas +} // namespace quality_metric +} // namespace linear_regression +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/linear_regression/linear_regression_single_beta_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/linear_regression/linear_regression_single_beta_dense_default_batch_fpt_dispatcher.cpp index 94c38a626ea..798e045f5e7 100644 --- a/cpp/daal/src/algorithms/linear_regression/linear_regression_single_beta_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/linear_regression/linear_regression_single_beta_dense_default_batch_fpt_dispatcher.cpp @@ -29,5 +29,34 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(linear_regression::quality_metric::single_beta::BatchContainer, batch, DAAL_FPTYPE, linear_regression::quality_metric::single_beta::defaultDense) +namespace linear_regression +{ +namespace quality_metric +{ +namespace single_beta +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : parameter(other.parameter) +{ + initialize(); + input.set(expectedResponses, other.input.get(expectedResponses)); + input.set(predictedResponses, other.input.get(predictedResponses)); + input.set(model, other.input.get(model)); +} + +} // namespace interface1 +} // namespace single_beta +} // namespace quality_metric +} // namespace linear_regression +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_batch_fpt_dispatcher.cpp index 2a66ba0cddb..0fe0ab6cf90 100644 --- a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_batch_fpt_dispatcher.cpp @@ -28,6 +28,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(linear_regression::training::BatchContainer, batch, DAAL_FPTYPE, linear_regression::training::normEqDense) +namespace linear_regression +{ +namespace training +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} +} // namespace interface1 +} // namespace training +} // namespace linear_regression } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_distr_step2_fpt_dispatcher.cpp index c0b84373466..b5f4f26da24 100644 --- a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_distr_step2_fpt_dispatcher.cpp @@ -29,5 +29,29 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(linear_regression::training::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, linear_regression::training::normEqDense) +namespace linear_regression +{ +namespace training +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : parameter(other.parameter) +{ + initialize(); + input.set(partialModels, other.input.get(partialModels)); +} + +} // namespace interface1 +} // namespace training +} // namespace linear_regression +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_online_fpt_dispatcher.cpp index 6062d9497b8..4ed158e1a70 100644 --- a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_normeq_online_fpt_dispatcher.cpp @@ -28,5 +28,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(linear_regression::training::OnlineContainer, online, DAAL_FPTYPE, linear_regression::training::normEqDense) +namespace linear_regression +{ +namespace training +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : linear_model::training::Online(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace training +} // namespace linear_regression } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_batch_fpt_dispatcher.cpp index ffe84c3afa1..5b9de467515 100644 --- a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_batch_fpt_dispatcher.cpp @@ -28,5 +28,29 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(linear_regression::training::BatchContainer, batch, DAAL_FPTYPE, linear_regression::training::qrDense) + +namespace linear_regression +{ +namespace training +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace training +} // namespace linear_regression +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_distr_step2_fpt_dispatcher.cpp index 9bbcdb8182c..751741783b2 100644 --- a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_distr_step2_fpt_dispatcher.cpp @@ -29,5 +29,29 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(linear_regression::training::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, linear_regression::training::qrDense) +namespace linear_regression +{ +namespace training +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : parameter(other.parameter) +{ + initialize(); + input.set(partialModels, other.input.get(partialModels)); +} + +} // namespace interface1 +} // namespace training +} // namespace linear_regression +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_online_fpt_dispatcher.cpp index 59254846555..289c0efbd74 100644 --- a/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/linear_regression/linear_regression_train_dense_qr_online_fpt_dispatcher.cpp @@ -28,5 +28,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(linear_regression::training::OnlineContainer, online, DAAL_FPTYPE, linear_regression::training::qrDense) +namespace linear_regression +{ +namespace training +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); } + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : linear_model::training::Online(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace training +} // namespace linear_regression +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/logistic_regression/logistic_regression_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/logistic_regression/logistic_regression_predict_dense_default_batch_fpt_dispatcher.cpp index 5d677300d06..23c56aa3561 100644 --- a/cpp/daal/src/algorithms/logistic_regression/logistic_regression_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/logistic_regression/logistic_regression_predict_dense_default_batch_fpt_dispatcher.cpp @@ -38,7 +38,7 @@ namespace prediction namespace interface2 { template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) { _par = new ParameterType(nClasses); initialize(); @@ -46,7 +46,7 @@ Batch::Batch(size_t using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) +DAAL_EXPORT Batch::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); diff --git a/cpp/daal/src/algorithms/logistic_regression/logistic_regression_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/logistic_regression/logistic_regression_train_dense_default_batch_fpt_dispatcher.cpp index 065549930c1..ec1d72e0e91 100644 --- a/cpp/daal/src/algorithms/logistic_regression/logistic_regression_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/logistic_regression/logistic_regression_train_dense_default_batch_fpt_dispatcher.cpp @@ -37,7 +37,7 @@ namespace training namespace interface3 { template <> -Batch::Batch(size_t nClasses, const SolverPtr & solver) +DAAL_EXPORT Batch::Batch(size_t nClasses, const SolverPtr & solver) { _par = new ParameterType(nClasses, solver); initialize(); @@ -45,7 +45,7 @@ Batch::Batch(size_t nC using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) +DAAL_EXPORT Batch::Batch(const BatchType & other) : classifier::training::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); diff --git a/cpp/daal/src/algorithms/logitboost/logitboost_predict_dense_default_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/logitboost/logitboost_predict_dense_default_fpt_dispatcher.cpp index c5b52fb4954..2d81a18dbd8 100644 --- a/cpp/daal/src/algorithms/logitboost/logitboost_predict_dense_default_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/logitboost/logitboost_predict_dense_default_fpt_dispatcher.cpp @@ -39,7 +39,7 @@ namespace prediction namespace interface2 { template <> -Batch::Batch(size_t nClasses) +DAAL_EXPORT Batch::Batch(size_t nClasses) { _par = new ParameterType(); parameter().nClasses = nClasses; @@ -48,7 +48,7 @@ Batch::Batch(size_t nClasses) using BatchType = Batch; template <> -Batch::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input) +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); @@ -56,6 +56,5 @@ Batch::Batch(const BatchType } // namespace interface2 } // namespace prediction } // namespace logitboost - } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/logitboost/logitboost_train_friedman_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/logitboost/logitboost_train_friedman_fpt_dispatcher.cpp index 29ce254894d..d6ae081313c 100644 --- a/cpp/daal/src/algorithms/logitboost/logitboost_train_friedman_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/logitboost/logitboost_train_friedman_fpt_dispatcher.cpp @@ -35,24 +35,22 @@ namespace training { namespace interface2 { -template -Batch::Batch(size_t nClasses) +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) { _par = new ParameterType(); initialize(); parameter().nClasses = nClasses; } -template -Batch::Batch(const Batch & other) : classifier::training::Batch(other), input(other.input) +using BatchType = Batch; +template <> +DAAL_EXPORT BatchType::Batch(const Batch & other) : classifier::training::Batch(other), input(other.input) { _par = new ParameterType(other.parameter()); initialize(); } -template Batch::Batch(size_t); -template Batch::Batch(const Batch &); - } // namespace interface2 } // namespace training } // namespace logitboost diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_batch_fpt_dispatcher.cpp index a3a13631d35..0dca627869e 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::BatchContainer, batch, DAAL_FPTYPE, low_order_moments::fastCSR) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_distr_step2_fpt_dispatcher.cpp index 484504900da..2a9f0201007 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, low_order_moments::fastCSR) +namespace low_order_moments +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_online_fpt_dispatcher.cpp index 1dc2bcb3413..a8fa450f059 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_fast_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::OnlineContainer, online, DAAL_FPTYPE, low_order_moments::fastCSR) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_batch_fpt_dispatcher.cpp index 3df611eb317..5d8b41c2eec 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::BatchContainer, batch, DAAL_FPTYPE, low_order_moments::singlePassCSR) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_distr_step2_fpt_dispatcher.cpp index 7def69874e4..17e4d3e39a2 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_distr_step2_fpt_dispatcher.cpp @@ -29,5 +29,25 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, low_order_moments::singlePassCSR) +namespace low_order_moments +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_online_fpt_dispatcher.cpp index 91cf8a4570f..602f642f021 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_singlepass_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::OnlineContainer, online, DAAL_FPTYPE, low_order_moments::singlePassCSR) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_batch_fpt_dispatcher.cpp index 7b96fc9d0c8..27d7f044f2d 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::BatchContainer, batch, DAAL_FPTYPE, low_order_moments::sumCSR) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_distr_step2_fpt_dispatcher.cpp index bbca3af3a8b..02375697746 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, low_order_moments::sumCSR) +namespace low_order_moments +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_online_fpt_dispatcher.cpp index 01b86963d5a..9cb4e42ff41 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_csr_sum_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::OnlineContainer, online, DAAL_FPTYPE, low_order_moments::sumCSR) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_batch_fpt_dispatcher.cpp index 2843069ad1a..3f5eae2aa59 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::BatchContainer, batch, DAAL_FPTYPE, low_order_moments::defaultDense) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_distr_step2_fpt_dispatcher.cpp index 8a6b22fa03a..9e3a4a3950f 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, low_order_moments::defaultDense) +namespace low_order_moments +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_online_fpt_dispatcher.cpp index adbc37d600f..24b3cb1462e 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_default_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::OnlineContainer, online, DAAL_FPTYPE, low_order_moments::defaultDense) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_batch_fpt_dispatcher.cpp index cc810e202dc..bf6b4b45302 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::BatchContainer, batch, DAAL_FPTYPE, low_order_moments::singlePassDense) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_distr_step2_fpt_dispatcher.cpp index a4c939e6ba4..2a9f12e0bf9 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_distr_step2_fpt_dispatcher.cpp @@ -29,5 +29,25 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, low_order_moments::singlePassDense) +namespace low_order_moments +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_online_fpt_dispatcher.cpp index 3762ce11414..efa02f21963 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_singlepass_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::OnlineContainer, online, DAAL_FPTYPE, low_order_moments::singlePassDense) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_batch_fpt_dispatcher.cpp index 8e64cd74449..c3eb7addf82 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_batch_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::BatchContainer, batch, DAAL_FPTYPE, low_order_moments::sumDense) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : BatchImpl(other) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_distr_step2_fpt_dispatcher.cpp index b8231eb52e8..6ea805048b4 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, low_order_moments::sumDense) +namespace low_order_moments +{ +namespace interface1 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed() +{ + initialize(); } + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_online_fpt_dispatcher.cpp index 4e9adf5d660..82d58d11b1a 100644 --- a/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/low_order_moments/low_order_moments_dense_sum_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(low_order_moments::OnlineContainer, online, DAAL_FPTYPE, low_order_moments::sumDense) +namespace low_order_moments +{ +namespace interface1 +{ +template <> +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : input(other.input), parameter(other.parameter) +{ + initialize(); } + +} // namespace interface1 +} // namespace low_order_moments +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_predict_mccwu_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_predict_mccwu_batch_fpt_dispatcher.cpp index acc606a5235..5b388088648 100644 --- a/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_predict_mccwu_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_predict_mccwu_batch_fpt_dispatcher.cpp @@ -30,6 +30,34 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multi_class_classifier::prediction::BatchContainer, batch, DAAL_FPTYPE, multi_class_classifier::prediction::multiClassClassifierWu, multi_class_classifier::training::oneAgainstOne) +namespace multi_class_classifier +{ +namespace prediction +{ +namespace interface2 +{ +using BatchType = Batch; + +template <> +DAAL_DEPRECATED BatchType::Batch() : parameter(0) +{ + initialize(); +} + +template <> +DAAL_EXPORT BatchType::Batch(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} +} // namespace interface2 +} // namespace prediction +} // namespace multi_class_classifier } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_predict_votebased_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_predict_votebased_batch_fpt_dispatcher.cpp index e1bb11512bd..b58447b0b37 100644 --- a/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_predict_votebased_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_predict_votebased_batch_fpt_dispatcher.cpp @@ -30,5 +30,34 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multi_class_classifier::prediction::BatchContainer, batch, DAAL_FPTYPE, multi_class_classifier::prediction::voteBased, multi_class_classifier::training::oneAgainstOne) +namespace multi_class_classifier +{ +namespace prediction +{ +namespace interface2 +{ +using BatchType = Batch; + +template <> +DAAL_DEPRECATED BatchType::Batch() : parameter(0) +{ + initialize(); +} + +template <> +DAAL_EXPORT BatchType::Batch(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface2 +} // namespace prediction +} // namespace multi_class_classifier } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_train_oneagainstone_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_train_oneagainstone_batch_fpt_dispatcher.cpp index a58d5ebd517..44d9db845e4 100644 --- a/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_train_oneagainstone_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/multiclassclassifier/multiclassclassifier_train_oneagainstone_batch_fpt_dispatcher.cpp @@ -30,5 +30,34 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multi_class_classifier::training::BatchContainer, batch, DAAL_FPTYPE, multi_class_classifier::training::oneAgainstOne) +namespace multi_class_classifier +{ +namespace training +{ +namespace interface2 +{ +using BatchType = Batch; + +template <> +DAAL_DEPRECATED BatchType::Batch() : parameter(0) +{ + initialize(); +} + +template <> +DAAL_EXPORT BatchType::Batch(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::training::Batch(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} + +} // namespace interface2 +} // namespace training +} // namespace multi_class_classifier } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/naivebayes/naivebayes_predict_csr_fast_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/naivebayes/naivebayes_predict_csr_fast_fpt_dispatcher.cpp index 91d8de474a5..9261de2cfaf 100644 --- a/cpp/daal/src/algorithms/naivebayes/naivebayes_predict_csr_fast_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/naivebayes/naivebayes_predict_csr_fast_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multinomial_naive_bayes::prediction::BatchContainer, batch, DAAL_FPTYPE, multinomial_naive_bayes::prediction::fastCSR) +namespace multinomial_naive_bayes +{ +namespace prediction +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface2 +} // namespace prediction +} // namespace multinomial_naive_bayes } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/naivebayes/naivebayes_predict_dense_default_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/naivebayes/naivebayes_predict_dense_default_fpt_dispatcher.cpp index fe4767de746..5b18e8c5842 100644 --- a/cpp/daal/src/algorithms/naivebayes/naivebayes_predict_dense_default_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/naivebayes/naivebayes_predict_dense_default_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multinomial_naive_bayes::prediction::BatchContainer, batch, DAAL_FPTYPE, multinomial_naive_bayes::prediction::defaultDense) +namespace multinomial_naive_bayes +{ +namespace prediction +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface2 +} // namespace prediction +} // namespace multinomial_naive_bayes } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_batch_fpt_dispatcher.cpp index e2ee5f732ec..e73a70fd0dc 100644 --- a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_batch_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multinomial_naive_bayes::training::BatchContainer, batch, DAAL_FPTYPE, multinomial_naive_bayes::training::fastCSR) +namespace multinomial_naive_bayes +{ +namespace training +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::training::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface2 +} // namespace training +} // namespace multinomial_naive_bayes } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_distr_step2_fpt_dispatcher.cpp index 3674fa78997..dbbef0d33e2 100644 --- a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_distr_step2_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multinomial_naive_bayes::training::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, multinomial_naive_bayes::training::fastCSR) +namespace multinomial_naive_bayes +{ +namespace training +{ +namespace interface2 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : Training(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} + +} // namespace interface2 +} // namespace training +} // namespace multinomial_naive_bayes } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_online_fpt_dispatcher.cpp index afbc960f730..ebf9949c361 100644 --- a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_csr_fast_online_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multinomial_naive_bayes::training::OnlineContainer, online, DAAL_FPTYPE, multinomial_naive_bayes::training::fastCSR) +namespace multinomial_naive_bayes +{ +namespace training +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Online::Online(size_t nClasses) : input(), parameter(nClasses) +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : classifier::training::Online(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface2 +} // namespace training +} // namespace multinomial_naive_bayes } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_batch_fpt_dispatcher.cpp index e1145513745..4711d4386b1 100644 --- a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_batch_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multinomial_naive_bayes::training::BatchContainer, batch, DAAL_FPTYPE, multinomial_naive_bayes::training::defaultDense) +namespace multinomial_naive_bayes +{ +namespace training +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Batch::Batch(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +using BatchType = Batch; + +template <> +DAAL_EXPORT BatchType::Batch(const BatchType & other) : classifier::training::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface2 +} // namespace training +} // namespace multinomial_naive_bayes } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_distr_step2_fpt_dispatcher.cpp index 8696e3ef2ec..d997ee7501e 100644 --- a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_distr_step2_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multinomial_naive_bayes::training::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, multinomial_naive_bayes::training::defaultDense) +namespace multinomial_naive_bayes +{ +namespace training +{ +namespace interface2 +{ +using DistributedType = Distributed; + +template <> +DAAL_EXPORT DistributedType::Distributed(size_t nClasses) : parameter(nClasses) +{ + initialize(); +} + +template <> +DAAL_EXPORT DistributedType::Distributed(const DistributedType & other) : Training(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} + +} // namespace interface2 +} // namespace training +} // namespace multinomial_naive_bayes } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_online_fpt_dispatcher.cpp index 3dcf0f67ad0..e89904cb085 100644 --- a/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/naivebayes/naivebayes_train_dense_default_online_fpt_dispatcher.cpp @@ -30,5 +30,28 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multinomial_naive_bayes::training::OnlineContainer, online, DAAL_FPTYPE, multinomial_naive_bayes::training::defaultDense) +namespace multinomial_naive_bayes +{ +namespace training +{ +namespace interface2 +{ +template <> +DAAL_EXPORT Online::Online(size_t nClasses) : input(), parameter(nClasses) +{ + initialize(); +} + +using OnlineType = Online; + +template <> +DAAL_EXPORT OnlineType::Online(const OnlineType & other) : classifier::training::Online(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +} // namespace interface2 +} // namespace training +} // namespace multinomial_naive_bayes } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/normalization/minmax/minmax_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/normalization/minmax/minmax_dense_default_batch_fpt_dispatcher.cpp index ec1467f65c3..cab7a453a8c 100644 --- a/cpp/daal/src/algorithms/normalization/minmax/minmax_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/normalization/minmax/minmax_dense_default_batch_fpt_dispatcher.cpp @@ -26,5 +26,27 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(normalization::minmax::BatchContainer, batch, DAAL_FPTYPE, normalization::minmax::defaultDense) +namespace normalization +{ +namespace minmax +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Batch; +} // namespace interface1 +} // namespace minmax +} // namespace normalization +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/normalization/zscore/zscore_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/normalization/zscore/zscore_dense_default_batch_fpt_dispatcher.cpp index be29edb9f41..a35f4f55773 100644 --- a/cpp/daal/src/algorithms/normalization/zscore/zscore_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/normalization/zscore/zscore_dense_default_batch_fpt_dispatcher.cpp @@ -27,5 +27,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(normalization::zscore::interface3::BatchContainer, batch, DAAL_FPTYPE, normalization::zscore::defaultDense) +namespace normalization +{ +namespace zscore +{ +namespace interface3 +{ +template +Batch::Batch() +{ + _par = new ParameterType(); + initialize(); +} + +template +Batch::Batch(const Batch & other) : BatchImpl(other) +{ + _par = new ParameterType(other.parameter()); + initialize(); } +template class Batch; +} // namespace interface3 +} // namespace zscore +} // namespace normalization +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/normalization/zscore/zscore_dense_sum_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/normalization/zscore/zscore_dense_sum_batch_fpt_dispatcher.cpp index 3d97846f76d..34a67f8cbc3 100644 --- a/cpp/daal/src/algorithms/normalization/zscore/zscore_dense_sum_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/normalization/zscore/zscore_dense_sum_batch_fpt_dispatcher.cpp @@ -53,10 +53,7 @@ Batch::Batch(const Batch & other) : BatchImpl(other) _par = new ParameterType(other.parameter()); initialize(); } -template Batch::Batch(); -template Batch::Batch(); -template Batch::Batch(const Batch &); -template Batch::Batch(const Batch &); +template class Batch; } // namespace interface3 } // namespace zscore } // namespace normalization diff --git a/cpp/daal/src/algorithms/optimization_solver/adagrad/adagrad_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/optimization_solver/adagrad/adagrad_dense_default_batch_fpt_dispatcher.cpp index 864a48bac9d..5e2f407e954 100644 --- a/cpp/daal/src/algorithms/optimization_solver/adagrad/adagrad_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/optimization_solver/adagrad/adagrad_dense_default_batch_fpt_dispatcher.cpp @@ -33,6 +33,19 @@ namespace adagrad { namespace interface2 { +template +DAAL_EXPORT Batch::Batch(sum_of_functions::BatchPtr objectiveFunction) : parameter(objectiveFunction) +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) + : iterative_solver::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + using BatchType = Batch; template <> @@ -40,6 +53,8 @@ services::SharedPtr BatchType::create() { return services::SharedPtr(new BatchType()); } + +template class Batch; } // namespace interface2 } // namespace adagrad } // namespace optimization_solver diff --git a/cpp/daal/src/algorithms/optimization_solver/coordinate_descent/coordinate_descent_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/optimization_solver/coordinate_descent/coordinate_descent_dense_default_batch_fpt_dispatcher.cpp index b33de387165..d616c44a172 100644 --- a/cpp/daal/src/algorithms/optimization_solver/coordinate_descent/coordinate_descent_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/optimization_solver/coordinate_descent/coordinate_descent_dense_default_batch_fpt_dispatcher.cpp @@ -55,6 +55,8 @@ services::SharedPtr BatchType::create() { return services::SharedPtr(new BatchType()); } + +template class Batch; } // namespace interface1 } // namespace coordinate_descent } // namespace optimization_solver diff --git a/cpp/daal/src/algorithms/optimization_solver/lbfgs/lbfgs_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/optimization_solver/lbfgs/lbfgs_dense_default_batch_fpt_dispatcher.cpp index ccf756db9de..39868b4dddd 100644 --- a/cpp/daal/src/algorithms/optimization_solver/lbfgs/lbfgs_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/optimization_solver/lbfgs/lbfgs_dense_default_batch_fpt_dispatcher.cpp @@ -33,6 +33,19 @@ namespace lbfgs { namespace interface2 { +template +DAAL_EXPORT Batch::Batch(const sum_of_functions::BatchPtr & objectiveFunction) : parameter(objectiveFunction) +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) + : iterative_solver::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + using BatchType = Batch; template <> @@ -40,6 +53,8 @@ services::SharedPtr BatchType::create() { return services::SharedPtr(new BatchType()); } + +template class Batch; } // namespace interface2 } // namespace lbfgs } // namespace optimization_solver diff --git a/cpp/daal/src/algorithms/optimization_solver/saga/saga_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/optimization_solver/saga/saga_dense_default_batch_fpt_dispatcher.cpp index 3517fa462b6..6322de823ed 100644 --- a/cpp/daal/src/algorithms/optimization_solver/saga/saga_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/optimization_solver/saga/saga_dense_default_batch_fpt_dispatcher.cpp @@ -54,6 +54,9 @@ services::SharedPtr BatchType::create() { return services::SharedPtr(new BatchType()); } + +template class Batch; + } // namespace interface2 } // namespace saga } // namespace optimization_solver diff --git a/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_default_batch_fpt_dispatcher.cpp index ec9166cee0e..d8f9763e1c2 100644 --- a/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_default_batch_fpt_dispatcher.cpp @@ -33,6 +33,19 @@ namespace sgd { namespace interface2 { +template +DAAL_EXPORT Batch::Batch(const sum_of_functions::BatchPtr & objectiveFunction) : input(), parameter(objectiveFunction) +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) + : iterative_solver::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + using BatchType = Batch; template <> @@ -41,6 +54,7 @@ services::SharedPtr BatchType::create() return services::SharedPtr(new BatchType()); } +template class Batch; } // namespace interface2 } // namespace sgd } // namespace optimization_solver diff --git a/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_minibatch_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_minibatch_batch_fpt_dispatcher.cpp index 5b1bc6fe660..593c12c66f8 100644 --- a/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_minibatch_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_minibatch_batch_fpt_dispatcher.cpp @@ -33,10 +33,23 @@ namespace sgd { namespace interface2 { +template <> +DAAL_EXPORT Batch::Batch(const sum_of_functions::BatchPtr & objectiveFunction) + : input(), parameter(objectiveFunction) +{ + initialize(); +} + using BatchType = Batch; template <> -services::SharedPtr BatchType::create() +DAAL_EXPORT BatchType::Batch(const BatchType & other) : iterative_solver::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template <> +services::SharedPtr DAAL_EXPORT BatchType::create() { return services::SharedPtr(new BatchType()); } diff --git a/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_momentum_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_momentum_batch_fpt_dispatcher.cpp index 9ac2ea6b793..5032e68549d 100644 --- a/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_momentum_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/optimization_solver/sgd/sgd_dense_momentum_batch_fpt_dispatcher.cpp @@ -33,10 +33,23 @@ namespace sgd { namespace interface2 { +template <> +DAAL_EXPORT Batch::Batch(const sum_of_functions::BatchPtr & objectiveFunction) + : input(), parameter(objectiveFunction) +{ + initialize(); +} + using BatchType = Batch; template <> -services::SharedPtr BatchType::create() +DAAL_EXPORT BatchType::Batch(const BatchType & other) : iterative_solver::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template <> +services::SharedPtr DAAL_EXPORT BatchType::create() { return services::SharedPtr(new BatchType()); } diff --git a/cpp/daal/src/algorithms/outlierdetection_bacon/outlierdetection_bacon_dense_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/outlierdetection_bacon/outlierdetection_bacon_dense_batch_fpt_dispatcher.cpp index 4870a0bf844..d6031f2d47f 100644 --- a/cpp/daal/src/algorithms/outlierdetection_bacon/outlierdetection_bacon_dense_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/outlierdetection_bacon/outlierdetection_bacon_dense_batch_fpt_dispatcher.cpp @@ -28,5 +28,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(bacon_outlier_detection::BatchContainer, batch, DAAL_FPTYPE, bacon_outlier_detection::defaultDense) +namespace bacon_outlier_detection +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Batch; +} // namespace interface1 +} // namespace bacon_outlier_detection } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/outlierdetection_multivariate/outlierdetection_multivariate_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/outlierdetection_multivariate/outlierdetection_multivariate_dense_default_batch_fpt_dispatcher.cpp index a299e092c27..e6fb9d526a4 100644 --- a/cpp/daal/src/algorithms/outlierdetection_multivariate/outlierdetection_multivariate_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/outlierdetection_multivariate/outlierdetection_multivariate_dense_default_batch_fpt_dispatcher.cpp @@ -33,5 +33,25 @@ __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multivariate_outlier_detection::BatchConta * Added to support deprecated baconDense value */ __DAAL_INSTANTIATE_DISPATCH_CONTAINER(multivariate_outlier_detection::BatchContainer, batch, DAAL_FPTYPE, multivariate_outlier_detection::baconDense); +namespace multivariate_outlier_detection +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input) +{ + initialize(); +} + +template class Batch; +template class Batch; +} // namespace interface1 +} // namespace multivariate_outlier_detection } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/outlierdetection_univariate/outlierdetection_univariate_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/outlierdetection_univariate/outlierdetection_univariate_dense_default_batch_fpt_dispatcher.cpp index 74fff676970..325fcf9d4b4 100644 --- a/cpp/daal/src/algorithms/outlierdetection_univariate/outlierdetection_univariate_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/outlierdetection_univariate/outlierdetection_univariate_dense_default_batch_fpt_dispatcher.cpp @@ -30,6 +30,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(univariate_outlier_detection::BatchContainer, batch, DAAL_FPTYPE, univariate_outlier_detection::defaultDense) -} // namespace algorithms +namespace univariate_outlier_detection +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input) +{ + initialize(); +} + +template class Batch; +} // namespace interface1 +} // namespace univariate_outlier_detection +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/pca/metrics/pca_explained_variance_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/pca/metrics/pca_explained_variance_default_batch_fpt_dispatcher.cpp index 41828a0a28e..7761f9eae73 100644 --- a/cpp/daal/src/algorithms/pca/metrics/pca_explained_variance_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/pca/metrics/pca_explained_variance_default_batch_fpt_dispatcher.cpp @@ -29,5 +29,31 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(pca::quality_metric::explained_variance::BatchContainer, batch, DAAL_FPTYPE, pca::quality_metric::explained_variance::defaultDense) +namespace pca +{ +namespace quality_metric +{ +namespace explained_variance +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch(size_t nFeatures, size_t nComponents) : parameter(nFeatures, nComponents) +{ + initialize(); } + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : parameter(other.parameter) +{ + initialize(); + input.set(eigenvalues, other.input.get(eigenvalues)); +} + +template class Batch; +} // namespace interface1 +} // namespace explained_variance +} // namespace quality_metric +} // namespace pca +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/pca/pca_dense_correlation_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/pca/pca_dense_correlation_batch_fpt_dispatcher.cpp index 94570afc07c..d12e9dcb3fd 100644 --- a/cpp/daal/src/algorithms/pca/pca_dense_correlation_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/pca/pca_dense_correlation_batch_fpt_dispatcher.cpp @@ -28,5 +28,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(pca::interface3::BatchContainer, batch, DAAL_FPTYPE, pca::correlationDense) +namespace pca +{ +namespace interface3 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Batch; +} // namespace interface3 +} // namespace pca +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/pca/pca_dense_correlation_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/pca/pca_dense_correlation_distr_step2_fpt_dispatcher.cpp index a9d318b2459..3afdec14269 100644 --- a/cpp/daal/src/algorithms/pca/pca_dense_correlation_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/pca/pca_dense_correlation_distr_step2_fpt_dispatcher.cpp @@ -30,5 +30,26 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(pca::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, pca::correlationDense) +namespace pca +{ +namespace interface1 +{ +template +Distributed::Distributed() +{ + initialize(); } + +template +Distributed::Distributed( + const Distributed & other) + : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Distributed; +} // namespace interface1 +} // namespace pca +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/pca/pca_dense_correlation_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/pca/pca_dense_correlation_online_fpt_dispatcher.cpp index abf5078c8e1..6419ddcafe0 100644 --- a/cpp/daal/src/algorithms/pca/pca_dense_correlation_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/pca/pca_dense_correlation_online_fpt_dispatcher.cpp @@ -30,5 +30,26 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(pca::OnlineContainer, online, DAAL_FPTYPE, pca::correlationDense) +namespace pca +{ +namespace interface1 +{ + +template +DAAL_EXPORT Online::Online() +{ + initialize(); } + +template +DAAL_EXPORT Online::Online(const Online & other) + : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Online; +} // namespace interface1 +} // namespace pca +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/pca/pca_dense_svd_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/pca/pca_dense_svd_batch_fpt_dispatcher.cpp index e64b6ca7e16..4ec9dd91752 100644 --- a/cpp/daal/src/algorithms/pca/pca_dense_svd_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/pca/pca_dense_svd_batch_fpt_dispatcher.cpp @@ -28,5 +28,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(pca::interface3::BatchContainer, batch, DAAL_FPTYPE, pca::svdDense) +namespace pca +{ +namespace interface3 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Batch; +} // namespace interface3 +} // namespace pca +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/pca/pca_dense_svd_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/pca/pca_dense_svd_distr_step2_fpt_dispatcher.cpp index 39b6a0182df..48fb7d5bf28 100644 --- a/cpp/daal/src/algorithms/pca/pca_dense_svd_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/pca/pca_dense_svd_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(pca::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, pca::svdDense) +namespace pca +{ +namespace interface1 +{ +template +Distributed::Distributed() +{ + initialize(); } + +template +Distributed::Distributed(const Distributed & other) + : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Distributed; +} // namespace interface1 +} // namespace pca +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/pca/pca_dense_svd_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/pca/pca_dense_svd_online_fpt_dispatcher.cpp index 615e6cd29a7..8c8f7c4188f 100644 --- a/cpp/daal/src/algorithms/pca/pca_dense_svd_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/pca/pca_dense_svd_online_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(pca::OnlineContainer, online, DAAL_FPTYPE, pca::svdDense) +namespace pca +{ +namespace interface1 +{ +template +DAAL_EXPORT Online::Online() +{ + initialize(); } + +template +DAAL_EXPORT Online::Online(const Online & other) + : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Online; +} // namespace interface1 +} // namespace pca +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/pca/transform/pca_transform_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/pca/transform/pca_transform_dense_default_batch_fpt_dispatcher.cpp index 2761a7a5842..e9de1c20c15 100644 --- a/cpp/daal/src/algorithms/pca/transform/pca_transform_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/pca/transform/pca_transform_dense_default_batch_fpt_dispatcher.cpp @@ -30,5 +30,27 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(pca::transform::BatchContainer, batch, DAAL_FPTYPE, pca::transform::defaultDense) +namespace pca +{ +namespace transform +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch(size_t nComponents) : parameter(nComponents) +{ + initialize(); } -} // namespace daal + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Batch; +} // namespace interface1 +} // namespace transform +} // namespace pca +} // namespace algorithms +} // namespace daal \ No newline at end of file diff --git a/cpp/daal/src/algorithms/pivoted_qr/pivoted_qr_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/pivoted_qr/pivoted_qr_dense_default_batch_fpt_dispatcher.cpp index 3fe204a4625..27abf0a20a5 100644 --- a/cpp/daal/src/algorithms/pivoted_qr/pivoted_qr_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/pivoted_qr/pivoted_qr_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(pivoted_qr::BatchContainer, batch, DAAL_FPTYPE, pivoted_qr::defaultDense) +namespace pivoted_qr +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Batch; +} //namespace interface1 +} //namespace pivoted_qr } //namespace algorithms } //namespace daal diff --git a/cpp/daal/src/algorithms/qr/qr_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/qr/qr_dense_default_batch_fpt_dispatcher.cpp index 738901e277d..cb0ac01d64c 100644 --- a/cpp/daal/src/algorithms/qr/qr_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/qr/qr_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(qr::BatchContainer, batch, DAAL_FPTYPE, qr::defaultDense) +namespace qr +{ +namespace interface1 +{ + +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); } +template class Batch; +} // namespace interface1 +} // namespace qr +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/qr/qr_dense_default_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/qr/qr_dense_default_distr_step2_fpt_dispatcher.cpp index 9d13641f6e3..22d7d194b79 100644 --- a/cpp/daal/src/algorithms/qr/qr_dense_default_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/qr/qr_dense_default_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(qr::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, qr::defaultDense) +namespace qr +{ +namespace interface1 +{ +template +Distributed::Distributed() +{ + initialize(); } + +template +Distributed::Distributed(const Distributed & other) + : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Distributed; +} // namespace interface1 +} // namespace qr +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/qr/qr_dense_default_distr_step3_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/qr/qr_dense_default_distr_step3_fpt_dispatcher.cpp index a943366950f..bcbc145f91b 100644 --- a/cpp/daal/src/algorithms/qr/qr_dense_default_distr_step3_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/qr/qr_dense_default_distr_step3_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(qr::DistributedContainer, distributed, step3Local, DAAL_FPTYPE, qr::defaultDense) +namespace qr +{ +namespace interface1 +{ +template +Distributed::Distributed() +{ + initialize(); } + +template +Distributed::Distributed(const Distributed & other) + : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Distributed; +} // namespace interface1 +} // namespace qr +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/qr/qr_dense_default_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/qr/qr_dense_default_online_fpt_dispatcher.cpp index 4e3bf4e79a8..12ed02f7db1 100644 --- a/cpp/daal/src/algorithms/qr/qr_dense_default_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/qr/qr_dense_default_online_fpt_dispatcher.cpp @@ -28,5 +28,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(qr::OnlineContainer, online, DAAL_FPTYPE, qr::defaultDense) +namespace qr +{ +namespace interface1 +{ + +template +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +template +DAAL_EXPORT Online::Online(const Online & other) : input(other.input), parameter(other.parameter) +{ + initialize(); } +template class Online; +} // namespace interface1 +} // namespace qr +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/quantiles/quantiles_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/quantiles/quantiles_dense_default_batch_fpt_dispatcher.cpp index 76311285bb8..69f00ec94c0 100644 --- a/cpp/daal/src/algorithms/quantiles/quantiles_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/quantiles/quantiles_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,23 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(quantiles::BatchContainer, batch, DAAL_FPTYPE, quantiles::defaultDense) +namespace quantiles +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} +template class Batch; +} // namespace interface1 +} // namespace quantiles } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_batch_fpt_dispatcher.cpp index 8f46e2a398e..c9384c2129d 100644 --- a/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_batch_fpt_dispatcher.cpp @@ -28,5 +28,26 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(ridge_regression::training::BatchContainer, batch, DAAL_FPTYPE, ridge_regression::training::normEqDense) +namespace ridge_regression +{ +namespace training +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} +template class Batch; +} // namespace interface1 +} // namespace training +} // namespace ridge_regression } // namespace algorithms -} // namespace daal +} // namespace daal \ No newline at end of file diff --git a/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_distr_step2_fpt_dispatcher.cpp index e68957c8f3b..652dd509bf7 100644 --- a/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_distr_step2_fpt_dispatcher.cpp @@ -29,5 +29,29 @@ namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(ridge_regression::training::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, ridge_regression::training::normEqDense) +namespace ridge_regression +{ +namespace training +{ +namespace interface1 +{ + +template +Distributed::Distributed() +{ + initialize(); +} + +template +Distributed::Distributed(const Distributed & other) + : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Distributed; +} // namespace interface1 +} // namespace training +} // namespace ridge_regression } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_online_fpt_dispatcher.cpp index 4b30e56b598..3a294571675 100644 --- a/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/ridge_regression/ridge_regression_train_dense_normeq_online_fpt_dispatcher.cpp @@ -28,5 +28,27 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(ridge_regression::training::OnlineContainer, online, DAAL_FPTYPE, ridge_regression::training::normEqDense) +namespace ridge_regression +{ +namespace training +{ +namespace interface1 +{ +template +DAAL_EXPORT Online::Online() +{ + initialize(); +} + +template +DAAL_EXPORT Online::Online(const Online & other) + : linear_model::training::Online(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} +template class Online; +} // namespace interface1 +} // namespace training +} // namespace ridge_regression } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/sorting/sorting_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/sorting/sorting_dense_default_batch_fpt_dispatcher.cpp index 8749c7c06e2..3a27d10bac0 100644 --- a/cpp/daal/src/algorithms/sorting/sorting_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/sorting/sorting_dense_default_batch_fpt_dispatcher.cpp @@ -28,7 +28,23 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(sorting::BatchContainer, batch, DAAL_FPTYPE, sorting::defaultDense) +namespace sorting +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input) +{ + initialize(); +} +template class Batch; +} // namespace interface1 +} // namespace sorting } // namespace algorithms - } // namespace daal diff --git a/cpp/daal/src/algorithms/stump/stump_classification_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/stump/stump_classification_predict_dense_default_batch_fpt_dispatcher.cpp index 652fca0f041..a8b3b04f88e 100644 --- a/cpp/daal/src/algorithms/stump/stump_classification_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/stump/stump_classification_predict_dense_default_batch_fpt_dispatcher.cpp @@ -53,13 +53,12 @@ Batch::Batch(const Batch & other) : classifier::predict initialize(); } -template Batch::Batch(size_t); -template Batch::Batch(const Batch &); +template DAAL_EXPORT Batch::Batch(size_t nClasses); +template DAAL_EXPORT Batch::Batch(const Batch & other); } // namespace interface1 } // namespace prediction } // namespace classification } // namespace stump - } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/stump/stump_classification_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/stump/stump_classification_train_dense_default_batch_fpt_dispatcher.cpp index cf8086a4f37..9fc54b5b366 100644 --- a/cpp/daal/src/algorithms/stump/stump_classification_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/stump/stump_classification_train_dense_default_batch_fpt_dispatcher.cpp @@ -53,13 +53,11 @@ Batch::Batch(const Batch & other) : classifier::trainin initialize(); } -template Batch::Batch(size_t); -template Batch::Batch(const Batch &); - +template DAAL_EXPORT Batch::Batch(size_t nClasses); +template DAAL_EXPORT Batch::Batch(const Batch & other); } // namespace interface1 } // namespace training } // namespace classification } // namespace stump - } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/stump/stump_regression_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/stump/stump_regression_predict_dense_default_batch_fpt_dispatcher.cpp index 377f2feeffe..eb5c4d3e0d7 100644 --- a/cpp/daal/src/algorithms/stump/stump_regression_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/stump/stump_regression_predict_dense_default_batch_fpt_dispatcher.cpp @@ -52,13 +52,11 @@ Batch::Batch(const Batch & other) : algorithms::regress initialize(); } -template Batch::Batch(); -template Batch::Batch(const Batch &); +template class Batch; } // namespace interface1 } // namespace prediction } // namespace regression } // namespace stump - } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/stump/stump_regression_train_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/stump/stump_regression_train_dense_default_batch_fpt_dispatcher.cpp index 82b938cbd20..ae5d0da151c 100644 --- a/cpp/daal/src/algorithms/stump/stump_regression_train_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/stump/stump_regression_train_dense_default_batch_fpt_dispatcher.cpp @@ -52,13 +52,11 @@ Batch::Batch(const Batch & other) : algorithms::regress initialize(); } -template Batch::Batch(); -template Batch::Batch(const Batch &); +template class Batch; } // namespace interface1 } // namespace training } // namespace regression } // namespace stump - } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/svd/svd_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/svd/svd_dense_default_batch_fpt_dispatcher.cpp index ac5500ae46d..b3ba38cee05 100644 --- a/cpp/daal/src/algorithms/svd/svd_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/svd/svd_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(svd::BatchContainer, batch, DAAL_FPTYPE, svd::defaultDense) +namespace svd +{ +namespace interface1 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); } + +template +DAAL_EXPORT Batch::Batch(const Batch & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Batch; +} // namespace interface1 +} // namespace svd +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/svd/svd_dense_default_distr_step2_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/svd/svd_dense_default_distr_step2_fpt_dispatcher.cpp index e41fd6ec5df..ec81edc4360 100644 --- a/cpp/daal/src/algorithms/svd/svd_dense_default_distr_step2_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/svd/svd_dense_default_distr_step2_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(svd::DistributedContainer, distributed, step2Master, DAAL_FPTYPE, svd::defaultDense) +namespace svd +{ +namespace interface1 +{ +template +Distributed::Distributed() +{ + initialize(); } + +template +Distributed::Distributed(const Distributed & other) + : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Distributed; +} // namespace interface1 +} // namespace svd +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/svd/svd_dense_default_distr_step3_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/svd/svd_dense_default_distr_step3_fpt_dispatcher.cpp index 9077af1f3a1..7e27ff40669 100644 --- a/cpp/daal/src/algorithms/svd/svd_dense_default_distr_step3_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/svd/svd_dense_default_distr_step3_fpt_dispatcher.cpp @@ -28,5 +28,25 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(svd::DistributedContainer, distributed, step3Local, DAAL_FPTYPE, svd::defaultDense) +namespace svd +{ +namespace interface1 +{ +template +Distributed::Distributed() +{ + initialize(); } + +template +Distributed::Distributed(const Distributed & other) + : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Distributed; +} // namespace interface1 +} // namespace svd +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/svd/svd_dense_default_online_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/svd/svd_dense_default_online_fpt_dispatcher.cpp index 07f7cffabd0..b152943d70c 100644 --- a/cpp/daal/src/algorithms/svd/svd_dense_default_online_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/svd/svd_dense_default_online_fpt_dispatcher.cpp @@ -28,5 +28,24 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(svd::OnlineContainer, online, DAAL_FPTYPE, svd::defaultDense) +namespace svd +{ +namespace interface1 +{ +template +DAAL_EXPORT Online::Online() +{ + initialize(); } + +template +DAAL_EXPORT Online::Online(const Online & other) : input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Online; +} // namespace interface1 +} // namespace svd +} // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/svm/svm_predict_dense_default_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/svm/svm_predict_dense_default_batch_fpt_dispatcher.cpp index f27be69b003..a2f0e980386 100644 --- a/cpp/daal/src/algorithms/svm/svm_predict_dense_default_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/svm/svm_predict_dense_default_batch_fpt_dispatcher.cpp @@ -28,5 +28,28 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(svm::prediction::BatchContainer, batch, DAAL_FPTYPE, svm::prediction::defaultDense) +namespace svm +{ +namespace prediction +{ +namespace interface2 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) + : classifier::prediction::Batch(other), input(other.input), parameter(other.parameter) +{ + initialize(); +} + +template class Batch; +} // namespace interface2 +} // namespace prediction +} // namespace svm } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/svm/svm_train_boser_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/svm/svm_train_boser_batch_fpt_dispatcher.cpp index e14fe4a3486..2e6cff422f7 100644 --- a/cpp/daal/src/algorithms/svm/svm_train_boser_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/svm/svm_train_boser_batch_fpt_dispatcher.cpp @@ -28,6 +28,35 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER(svm::training::BatchContainer, batch, DAAL_FPTYPE, svm::training::boser) -__DAAL_INSTANTIATE_DISPATCH_CONTAINER(svm::training::internal::BatchContainer, batch, DAAL_FPTYPE, svm::training::boser) +namespace svm +{ +namespace training +{ +namespace interface2 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(size_t nClasses) +{ + parameter.nClasses = nClasses; + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) + : classifier::training::Batch(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} + +template class Batch; +} // namespace interface2 +} // namespace training +} // namespace svm } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/algorithms/svm/svm_train_thunder_batch_fpt_dispatcher.cpp b/cpp/daal/src/algorithms/svm/svm_train_thunder_batch_fpt_dispatcher.cpp old mode 100755 new mode 100644 index 522c1730cd0..f6029be2bb9 --- a/cpp/daal/src/algorithms/svm/svm_train_thunder_batch_fpt_dispatcher.cpp +++ b/cpp/daal/src/algorithms/svm/svm_train_thunder_batch_fpt_dispatcher.cpp @@ -28,6 +28,35 @@ namespace daal namespace algorithms { __DAAL_INSTANTIATE_DISPATCH_CONTAINER_SAFE(svm::training::BatchContainer, batch, DAAL_FPTYPE, svm::training::thunder) -__DAAL_INSTANTIATE_DISPATCH_CONTAINER_SAFE(svm::training::internal::BatchContainer, batch, DAAL_FPTYPE, svm::training::thunder) +namespace svm +{ +namespace training +{ +namespace interface2 +{ +template +DAAL_EXPORT Batch::Batch() +{ + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(size_t nClasses) +{ + parameter.nClasses = nClasses; + initialize(); +} + +template +DAAL_EXPORT Batch::Batch(const Batch & other) + : classifier::training::Batch(other), parameter(other.parameter), input(other.input) +{ + initialize(); +} + +template class Batch; +} // namespace interface2 +} // namespace training +} // namespace svm } // namespace algorithms } // namespace daal diff --git a/cpp/daal/src/services/service_defines.h b/cpp/daal/src/services/service_defines.h index 954dfbecc9f..25e348e099a 100644 --- a/cpp/daal/src/services/service_defines.h +++ b/cpp/daal/src/services/service_defines.h @@ -274,57 +274,57 @@ typedef union } _daal_dp_union_t; #define IMPLEMENT_SERIALIZABLE_TAG(Class, Tag) \ - int Class::serializationTag() \ + int DAAL_EXPORT Class::serializationTag() \ { \ return Tag; \ } \ - int Class::getSerializationTag() const \ + int DAAL_EXPORT Class::getSerializationTag() const \ { \ return Class::serializationTag(); \ } #define IMPLEMENT_SERIALIZABLE_TAG1T(Class, T1, Tag) \ template <> \ - int Class::serializationTag() \ + int DAAL_EXPORT Class::serializationTag() \ { \ return features::internal::getIndexNumType() + Tag; \ } \ template <> \ - int Class::getSerializationTag() const \ + int DAAL_EXPORT Class::getSerializationTag() const \ { \ return Class::serializationTag(); \ } #define IMPLEMENT_SERIALIZABLE_TAG1T_SPECIALIZATION(Class, TemplateClass, Tag) \ template <> \ - int Class::serializationTag() \ + int DAAL_EXPORT Class::serializationTag() \ { \ return Tag; \ } \ template <> \ - int Class::getSerializationTag() const \ + int DAAL_EXPORT Class::getSerializationTag() const \ { \ return Class::serializationTag(); \ } #define IMPLEMENT_SERIALIZABLE_TAG2T(Class, T1, T2, Tag) \ template <> \ - int Class::serializationTag() \ + int DAAL_EXPORT Class::serializationTag() \ { \ return features::internal::getIndexNumType() + Tag; \ } \ template <> \ - int Class::getSerializationTag() const \ + int DAAL_EXPORT Class::getSerializationTag() const \ { \ return Class::serializationTag(); \ } #define IMPLEMENT_SERIALIZABLE_TAG22(Class, T1, Tag) \ - int Class::serializationTag() \ + int DAAL_EXPORT Class::serializationTag() \ { \ return Tag; \ } \ - int Class::getSerializationTag() const \ + int DAAL_EXPORT Class::getSerializationTag() const \ { \ return Class::serializationTag(); \ } diff --git a/cpp/oneapi/dal/algo/basic_statistics/common.hpp b/cpp/oneapi/dal/algo/basic_statistics/common.hpp index a0fb211e8a4..c104195e498 100644 --- a/cpp/oneapi/dal/algo/basic_statistics/common.hpp +++ b/cpp/oneapi/dal/algo/basic_statistics/common.hpp @@ -167,9 +167,9 @@ namespace v1 { /// be :expr:`method::dense`. /// @tparam Task Tag-type that specifies the type of the problem to solve. Can /// be :expr:`task::compute`. -template ::float_t, - typename Method = detail::descriptor_base<>::method_t, - typename Task = detail::descriptor_base<>::task_t> +template class descriptor : public detail::descriptor_base { static_assert(detail::is_valid_float_v); static_assert(detail::is_valid_method_v); diff --git a/cpp/oneapi/dal/algo/basic_statistics/compute_types.cpp b/cpp/oneapi/dal/algo/basic_statistics/compute_types.cpp index ef40d48f239..543dee75027 100644 --- a/cpp/oneapi/dal/algo/basic_statistics/compute_types.cpp +++ b/cpp/oneapi/dal/algo/basic_statistics/compute_types.cpp @@ -355,8 +355,8 @@ const table& partial_compute_result::get_partial_sum_squares_centered() co } template class ONEDAL_EXPORT compute_input; template class ONEDAL_EXPORT compute_result; -template class ONEDAL_EXPORT partial_compute_input; template class ONEDAL_EXPORT partial_compute_result; +template class ONEDAL_EXPORT partial_compute_input; } // namespace v1 } // namespace oneapi::dal::basic_statistics diff --git a/cpp/oneapi/dal/algo/covariance/compute_types.cpp b/cpp/oneapi/dal/algo/covariance/compute_types.cpp index 58cf70661f1..f0f37560031 100644 --- a/cpp/oneapi/dal/algo/covariance/compute_types.cpp +++ b/cpp/oneapi/dal/algo/covariance/compute_types.cpp @@ -219,8 +219,8 @@ void partial_compute_result::set_partial_sum_impl(const table& value) { template class ONEDAL_EXPORT compute_input; template class ONEDAL_EXPORT compute_result; -template class ONEDAL_EXPORT partial_compute_input; template class ONEDAL_EXPORT partial_compute_result; +template class ONEDAL_EXPORT partial_compute_input; } // namespace v1 } // namespace oneapi::dal::covariance diff --git a/cpp/oneapi/dal/algo/decision_tree/common.cpp b/cpp/oneapi/dal/algo/decision_tree/common.cpp index f0c9ef12ea0..61414b662f4 100644 --- a/cpp/oneapi/dal/algo/decision_tree/common.cpp +++ b/cpp/oneapi/dal/algo/decision_tree/common.cpp @@ -210,8 +210,6 @@ double leaf_node_info::get_response() const { return de::cast_impl(*this).response; } -template class ONEDAL_EXPORT node_info; -template class ONEDAL_EXPORT node_info; template class ONEDAL_EXPORT split_node_info; template class ONEDAL_EXPORT split_node_info; diff --git a/cpp/oneapi/dal/algo/linear_regression/train_types.cpp b/cpp/oneapi/dal/algo/linear_regression/train_types.cpp index 925ffe526b1..2e33229240f 100644 --- a/cpp/oneapi/dal/algo/linear_regression/train_types.cpp +++ b/cpp/oneapi/dal/algo/linear_regression/train_types.cpp @@ -252,8 +252,8 @@ void partial_train_result::set_partial_xty_impl(const table& value) { template class ONEDAL_EXPORT train_result; template class ONEDAL_EXPORT train_input; -template class ONEDAL_EXPORT partial_train_input; template class ONEDAL_EXPORT partial_train_result; +template class ONEDAL_EXPORT partial_train_input; } // namespace v1 } // namespace oneapi::dal::linear_regression diff --git a/cpp/oneapi/dal/algo/pca/train_types.cpp b/cpp/oneapi/dal/algo/pca/train_types.cpp index 52bcb8b1e15..fb5c79267e9 100644 --- a/cpp/oneapi/dal/algo/pca/train_types.cpp +++ b/cpp/oneapi/dal/algo/pca/train_types.cpp @@ -258,8 +258,8 @@ void partial_train_result::set_auxiliary_table_impl(const table& value) { template class ONEDAL_EXPORT train_input; template class ONEDAL_EXPORT train_result; -template class ONEDAL_EXPORT partial_train_input; template class ONEDAL_EXPORT partial_train_result; +template class ONEDAL_EXPORT partial_train_input; } // namespace v1 } // namespace oneapi::dal::pca diff --git a/cpp/oneapi/dal/common.hpp b/cpp/oneapi/dal/common.hpp index b9df2ece9a5..7927515b1ff 100644 --- a/cpp/oneapi/dal/common.hpp +++ b/cpp/oneapi/dal/common.hpp @@ -19,8 +19,8 @@ #include #include +#ifdef __ONEDAL_ENABLE_EXPORT__ #if defined(_WIN32) || defined(_WIN64) -#ifdef __ONEDAL_ENABLE_DLL_EXPORT__ #define __ONEDAL_IMPORT_IMPL __declspec(dllimport) #define __ONEDAL_EXPORT_IMPL __declspec(dllexport) #ifdef INVERT_EXPORT_IMPORT @@ -30,8 +30,10 @@ #define ONEDAL_EXPORT __ONEDAL_EXPORT_IMPL #define ONEDAL_IMPORT __ONEDAL_IMPORT_IMPL #endif // defined(INVERT_EXPORT_IMPORT) -#endif // __ONEDAL_ENABLE_DLL_EXPORT__ +#else +#define ONEDAL_EXPORT __attribute__((visibility("default"))) #endif // defined(_WIN32) || defined(_WIN64) +#endif // __ONEDAL_ENABLE_EXPORT__ #ifndef ONEDAL_EXPORT #define ONEDAL_EXPORT diff --git a/cpp/oneapi/dal/detail/cpu.cpp b/cpp/oneapi/dal/detail/cpu.cpp index 1369da2d231..3494e0f30ce 100644 --- a/cpp/oneapi/dal/detail/cpu.cpp +++ b/cpp/oneapi/dal/detail/cpu.cpp @@ -14,13 +14,14 @@ * limitations under the License. *******************************************************************************/ +#include "oneapi/dal/common.hpp" #include "oneapi/dal/detail/cpu.hpp" #include namespace oneapi::dal::detail { namespace v1 { -cpu_extension from_daal_cpu_type(int cpu_type) { +ONEDAL_EXPORT cpu_extension from_daal_cpu_type(int cpu_type) { daal::CpuType cpu = static_cast(cpu_type); switch (cpu) { #if defined(TARGET_X86_64) diff --git a/cpp/oneapi/dal/detail/parameters/system_parameters.hpp b/cpp/oneapi/dal/detail/parameters/system_parameters.hpp index b173edbfbf7..eb35c79bd82 100644 --- a/cpp/oneapi/dal/detail/parameters/system_parameters.hpp +++ b/cpp/oneapi/dal/detail/parameters/system_parameters.hpp @@ -30,7 +30,7 @@ namespace detail { /// /// `cpu_info` reports the parameters available in hardware, where `system_parameters` /// are the software-enabled parameters that can differ from `cpu_info`. -class system_parameters : public base { +class ONEDAL_EXPORT system_parameters : public base { public: /// Creates a new default `system_parameters` instance. explicit system_parameters(); diff --git a/makefile b/makefile index 8ef5d75fe03..af7b8ccff73 100644 --- a/makefile +++ b/makefile @@ -129,11 +129,14 @@ y := $(notdir $(filter $(_OS)/%,lnx/so win/dll mac/dylib)) -Q := $(if $(OS_is_win),$(if $(COMPILER_is_vc),-,-Q),-) -cxx17 := $(if $(COMPILER_is_vc),/std:c++17,$(-Q)std=c++17) -fPIC := $(if $(OS_is_win),,-fPIC) +-visibility := $(if $(OS_is_win),,-fvisibility=hidden) -DMKL_ILP64 := $(if $(filter mkl,$(BACKEND_CONFIG)),-DMKL_ILP64) -Zl := $(-Zl.$(COMPILER)) -Zl_DPCPP := $(-Zl.dpcpp) --DEBC := $(if $(REQDBG),$(-DEBC.$(COMPILER)) -DDEBUG_ASSERT -DONEDAL_ENABLE_ASSERT) -DTBB_SUPPRESS_DEPRECATED_MESSAGES -D__TBB_LEGACY_MODE --DEBC_DPCPP := $(if $(REQDBG),$(-DEBC.dpcpp) -DDEBUG_ASSERT -DONEDAL_ENABLE_ASSERT) +# if REQDBG set to 'symbols', it will disable assert checking +# This greatly reduces compiling with the static library when only symbols are desired +-DEBC := $(if $(REQDBG),$(if $(filter symbols,$(REQDBG)),$(-DEBC.$(COMPILER)),$(-DEBC.$(COMPILER)) -DDEBUG_ASSERT -DONEDAL_ENABLE_ASSERT)) -DTBB_SUPPRESS_DEPRECATED_MESSAGES -D__TBB_LEGACY_MODE +-DEBC_DPCPP := $(if $(REQDBG),$(if $(filter symbols,$(REQDBG)),$(-DEBC.dpcpp),$(-DEBC.dpcpp) -DDEBUG_ASSERT -DONEDAL_ENABLE_ASSERT)) -DEBL := $(if $(REQDBG),$(if $(OS_is_win),-debug,)) -EHsc := $(if $(OS_is_win),-EHsc,) -isystem := $(if $(OS_is_win),-I,-isystem) @@ -514,7 +517,7 @@ $(CORE.objs_a): COPT += @$(CORE.tmpdir_a)/inc_a_folders.txt $(eval $(call append_uarch_copt,$(CORE.objs_a))) $(CORE.objs_y): $(CORE.tmpdir_y)/inc_y_folders.txt -$(CORE.objs_y): COPT += $(-fPIC) $(-cxx17) $(-Zl) $(-DEBC) $(-DMKL_ILP64) $(-DPROFILER) +$(CORE.objs_y): COPT += $(-fPIC) $(-cxx17) $(-Zl) $(-visibility) $(-DEBC) $(-DMKL_ILP64) $(-DPROFILER) $(CORE.objs_y): COPT += -D__DAAL_IMPLEMENTATION \ -D__TBB_NO_IMPLICIT_LINKAGE -DDAAL_NOTHROW_EXCEPTIONS \ -DDAAL_HIDE_DEPRECATED -DTBB_USE_ASSERT=0 -D_ENABLE_ATOMIC_ALIGNMENT_FIX \ @@ -697,12 +700,12 @@ $(eval $(call update_copt_from_dispatcher_tag,$(ONEAPI.objs_a.dpc),.dpcpp)) # Set compilation options to the object files which are part of DYNAMIC lib $(ONEAPI.objs_y): $(ONEAPI.dispatcher_cpu) $(ONEAPI.tmpdir_y)/inc_y_folders.txt -$(ONEAPI.objs_y): COPT += $(-fPIC) $(-cxx17) $(-Zl) $(-DMKL_ILP64) $(-DEBC) $(-EHsc) $(pedantic.opts) \ +$(ONEAPI.objs_y): COPT += $(-fPIC) $(-cxx17) $(-Zl) $(-visibility) $(-DMKL_ILP64) $(-DEBC) $(-EHsc) $(pedantic.opts) \ -DDAAL_NOTHROW_EXCEPTIONS \ -DDAAL_HIDE_DEPRECATED \ -D_ENABLE_ATOMIC_ALIGNMENT_FIX \ $(if $(CHECK_DLL_SIG),-DDAAL_CHECK_DLL_SIG) \ - -D__ONEDAL_ENABLE_DLL_EXPORT__ \ + -D__ONEDAL_ENABLE_EXPORT__ \ -D__TBB_NO_IMPLICIT_LINKAGE \ -DTBB_USE_ASSERT=0 \ @$(ONEAPI.tmpdir_y)/inc_y_folders.txt @@ -713,13 +716,13 @@ $(eval $(call update_copt_from_dispatcher_tag,$(ONEAPI.objs_y))) # When compiling with the debug flag $(-DEBC_DPCPP), linking with libonedal_dpc.so may cause indefinite linking times # due to the extensive processing of debug information. For debugging, please use the static library version (libonedal_dpc.a). $(ONEAPI.objs_y.dpc): $(ONEAPI.dispatcher_cpu) $(ONEAPI.tmpdir_y.dpc)/inc_y_folders.txt -$(ONEAPI.objs_y.dpc): COPT += $(-fPIC) $(-cxx17) $(-Zl_DPCPP) $(-DMKL_ILP64) $(-EHsc) $(pedantic.opts.dpcpp) \ +$(ONEAPI.objs_y.dpc): COPT += $(-fPIC) $(-cxx17) $(-Zl_DPCPP) $(-visibility) $(-DMKL_ILP64) $(-EHsc) $(pedantic.opts.dpcpp) \ -DDAAL_NOTHROW_EXCEPTIONS \ -DDAAL_HIDE_DEPRECATED \ -DONEDAL_DATA_PARALLEL \ -D_ENABLE_ATOMIC_ALIGNMENT_FIX \ $(if $(CHECK_DLL_SIG),-DDAAL_CHECK_DLL_SIG) \ - -D__ONEDAL_ENABLE_DLL_EXPORT__ \ + -D__ONEDAL_ENABLE_EXPORT__ \ -D__TBB_NO_IMPLICIT_LINKAGE \ -DTBB_USE_ASSERT=0 \ @$(ONEAPI.tmpdir_y.dpc)/inc_y_folders.txt @@ -1000,7 +1003,7 @@ endif endif _release_c: ./deploy/pkg-config/pkg-config.tpl - python ./deploy/pkg-config/generate_pkgconfig.py --output_dir $(RELEASEDIR.pkgconfig) --template_name ./deploy/pkg-config/pkg-config.tpl + python3 ./deploy/pkg-config/generate_pkgconfig.py --output_dir $(RELEASEDIR.pkgconfig) --template_name ./deploy/pkg-config/pkg-config.tpl #----- releasing examples define .release.x @@ -1116,7 +1119,9 @@ Flags: possible values: $(CORE.ALGORITHMS.CUSTOM.AVAILABLE) REQCPU - list of CPU optimizations to be included into library possible values: $(CPUs) - REQDBG - flag that enables build in debug mode + REQDBG - flag that enables build in debug mode. Debug mode turns on oneDAL + assertions and adds debug symbols. For only debug symbols set flag to + special value: symbols REQPROFILE - flag that enables kernel profiling using endef