Remove HelloWorldCodegen example Change-Id: I2584f41d591a5d648b4832385c2a779bb25fc04d
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index f185d19..3d86be8 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt
@@ -72,18 +72,6 @@ add_executable(simple_bundle_adjuster simple_bundle_adjuster.cc) target_link_libraries(simple_bundle_adjuster ceres) -if(CODE_GENERATION) - include(CeresCodeGeneration) - ceres_generate_cost_function_implementation_for_functor( - NAME HelloWorldCostFunction - INPUT_FILE helloworld_cost_function.h - OUTPUT_DIRECTORY examples - NAMESPACE helloworld - ) - add_executable(helloworld_codegen helloworld_codegen.cc ) - target_link_libraries(helloworld_codegen ceres HelloWorldCostFunction) -endif(CODE_GENERATION) - if (GFLAGS) add_executable(powell powell.cc) target_link_libraries(powell ceres ${GFLAGS_LIBRARIES})
diff --git a/examples/helloworld_codegen.cc b/examples/helloworld_codegen.cc deleted file mode 100644 index 6aa0792..0000000 --- a/examples/helloworld_codegen.cc +++ /dev/null
@@ -1,65 +0,0 @@ -// Ceres Solver - A fast non-linear least squares minimizer -// Copyright 2019 Google Inc. All rights reserved. -// http://code.google.com/p/ceres-solver/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of Google Inc. nor the names of its contributors may be -// used to endorse or promote products derived from this software without -// specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -// Author: darius.rueckert@fau.de (Darius Rueckert) -// -// A simple example showing how to generate code for a cost functor - -#include "ceres/ceres.h" -#include "glog/logging.h" -#include "helloworld_cost_function.h" - -using ceres::CostFunction; -using ceres::Problem; -using ceres::Solve; -using ceres::Solver; - -int main(int argc, char** argv) { - google::InitGoogleLogging(argv[0]); - - // The variable to solve for with its initial value. It will be - // mutated in place by the solver. - double x = 0.5; - const double initial_x = x; - - Problem problem; - - const double kTargetValue = 10.0; - CostFunction* cost_function = - new helloworld::HelloWorldCostFunction(kTargetValue); - problem.AddResidualBlock(cost_function, NULL, &x); - - Solver::Options options; - options.minimizer_progress_to_stdout = true; - Solver::Summary summary; - Solve(options, &problem, &summary); - - std::cout << summary.BriefReport() << "\n"; - std::cout << "x : " << initial_x << " -> " << x << "\n"; - return 0; -}
diff --git a/examples/helloworld_cost_function.h b/examples/helloworld_cost_function.h deleted file mode 100644 index 764d6c7..0000000 --- a/examples/helloworld_cost_function.h +++ /dev/null
@@ -1,56 +0,0 @@ -// Ceres Solver - A fast non-linear least squares minimizer -// Copyright 2019 Google Inc. All rights reserved. -// http://code.google.com/p/ceres-solver/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of Google Inc. nor the names of its contributors may be -// used to endorse or promote products derived from this software without -// specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -// Author: darius.rueckert@fau.de (Darius Rueckert) -// -#include "ceres/codegen/codegen_cost_function.h" - -namespace helloworld { - -struct HelloWorldCostFunction : public ceres::CodegenCostFunction<1, 1> { - // We need a default constructor, because code is generated for the cost - // functor and not a specific instantiation of it. - HelloWorldCostFunction() = default; - explicit HelloWorldCostFunction(double target_value) - : target_value_(target_value) {} - - template <typename T> - bool operator()(const T* x, T* residual) const { - residual[0] = CERES_LOCAL_VARIABLE(T, target_value_) - x[0]; - return true; - } - -// The include file name is automatically generated as -// "<output_dir>/<lower_case_class_name>.h" -#include "examples/helloworldcostfunction.h" - - private: - double target_value_; -}; - -} // namespace helloworld