123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- #ifndef CERES_INTERNAL_BLOCK_JACOBIAN_WRITER_H_
- #define CERES_INTERNAL_BLOCK_JACOBIAN_WRITER_H_
- #include <memory>
- #include <vector>
- #include "ceres/evaluator.h"
- #include "ceres/internal/export.h"
- namespace ceres::internal {
- class BlockEvaluatePreparer;
- class Program;
- class SparseMatrix;
- class CERES_NO_EXPORT BlockJacobianWriter {
- public:
-
-
-
-
-
-
-
-
-
-
-
- BlockJacobianWriter(const Evaluator::Options& options, Program* program);
-
-
-
- std::unique_ptr<BlockEvaluatePreparer[]> CreateEvaluatePreparers(
- unsigned num_threads);
- std::unique_ptr<SparseMatrix> CreateJacobian() const;
- void Write(int ,
- int ,
- double** ,
- SparseMatrix* ) {
-
-
-
- }
- private:
- Evaluator::Options options_;
- Program* program_;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- std::vector<int*> jacobian_layout_;
-
- std::vector<int> jacobian_layout_storage_;
-
-
-
-
- bool jacobian_layout_is_valid_ = false;
- };
- }
- #endif
|