Files
ceres-solver/include/ceres
Pez Firoozfam 806af056fe Add support for maximum matrix sizes to TinySolver.
This change restructures the `TinySolver` template and its associated
adapters (`AutoDiff` and `CostFunction`) to make maximum sizing
attributes first-class parameters. This enables the entire `TinySolver`
stack to be used in restricted environments (e.g., small MCUs) without
dynamic memory allocation, even when the number of residuals or
parameters is only known at runtime (`Eigen::Dynamic`).

Specifically:
- Adds `kMaxResiduals` and `kMaxParameters` template parameters to
  `TinySolver`.
- Updated `TinySolverAutoDiffFunction` and
  `TinySolverCostFunctionAdapter` to support optional maximum size
  template parameters for their internal buffers.
- The new API maintains backward compatibility for existing users by
  defaulting to the sizes defined in the `Function`'s enums.
- This structure also supports reducing code bloat by allowing
  `TinySolver` to be instantiated with an abstract base class, using
  dynamic dispatch for cost function evaluation.

New test cases for `TinySolver` and its adapters verify the
zero-allocation behavior and the unified API flexibility.

Change-Id: Ic6f43984d384dbe71472b31c5ebd2b538d61f19d
2026-04-07 23:16:48 -07:00
..
2026-04-01 07:48:28 -07:00
2023-09-21 11:23:38 -07:00
2023-10-04 22:59:15 +02:00
2023-10-04 22:59:15 +02:00
2023-09-21 11:23:38 -07:00
2023-09-21 11:23:38 -07:00
2023-09-21 11:23:38 -07:00
2023-09-21 11:23:38 -07:00
2023-09-21 11:23:38 -07:00
2023-09-21 11:23:38 -07:00
2024-07-18 00:24:49 -07:00
2024-07-18 00:24:49 -07:00
2025-10-30 17:34:39 -07:00
2023-09-21 11:23:38 -07:00
2023-09-21 11:23:38 -07:00
2024-07-18 00:24:49 -07:00
2025-10-30 17:34:39 -07:00
2024-07-18 00:24:49 -07:00