Lines Matching refs:problem

32 #include "ceres/problem.h"
122 Problem problem;
123 problem.AddParameterBlock(x, 3);
124 problem.AddParameterBlock(y, 4);
125 problem.AddParameterBlock(z, 5);
127 EXPECT_DEATH_IF_SUPPORTED(problem.AddResidualBlock(NULL, NULL, x),
134 Problem problem;
135 problem.AddParameterBlock(x, 3);
136 problem.AddParameterBlock(y, 4);
137 problem.AddParameterBlock(z, 5);
141 problem.AddResidualBlock(new UnaryCostFunction(2, 3), NULL, x, y),
148 Problem problem;
149 problem.AddResidualBlock(new UnaryCostFunction(2, 3), NULL, x);
150 EXPECT_DEATH_IF_SUPPORTED(problem.AddResidualBlock(
159 Problem problem;
160 EXPECT_DEATH_IF_SUPPORTED(problem.AddResidualBlock(
163 EXPECT_DEATH_IF_SUPPORTED(problem.AddResidualBlock(
172 Problem problem;
173 problem.AddParameterBlock(x, 3);
174 problem.AddParameterBlock(y, 4);
175 problem.AddParameterBlock(z, 5);
179 EXPECT_DEATH_IF_SUPPORTED(problem.AddResidualBlock(
187 Problem problem;
188 problem.AddResidualBlock(new UnaryCostFunction(2, 3), NULL, x);
189 problem.AddResidualBlock(new UnaryCostFunction(2, 3), NULL, x);
190 problem.AddResidualBlock(new UnaryCostFunction(2, 4), NULL, y);
191 problem.AddResidualBlock(new UnaryCostFunction(2, 5), NULL, z);
193 EXPECT_EQ(3, problem.NumParameterBlocks());
194 EXPECT_EQ(12, problem.NumParameters());
200 Problem problem;
201 problem.AddParameterBlock(x, 3);
202 problem.AddParameterBlock(y, 4);
204 EXPECT_DEATH_IF_SUPPORTED(problem.AddParameterBlock(x, 4),
223 Problem problem;
224 problem.AddParameterBlock(IntToPtr(5), 5); // x
225 problem.AddParameterBlock(IntToPtr(13), 3); // y
227 EXPECT_DEATH_IF_SUPPORTED(problem.AddParameterBlock(IntToPtr( 4), 2),
229 EXPECT_DEATH_IF_SUPPORTED(problem.AddParameterBlock(IntToPtr( 4), 3),
231 EXPECT_DEATH_IF_SUPPORTED(problem.AddParameterBlock(IntToPtr( 4), 9),
233 EXPECT_DEATH_IF_SUPPORTED(problem.AddParameterBlock(IntToPtr( 8), 3),
235 EXPECT_DEATH_IF_SUPPORTED(problem.AddParameterBlock(IntToPtr(12), 2),
237 EXPECT_DEATH_IF_SUPPORTED(problem.AddParameterBlock(IntToPtr(14), 3),
241 problem.AddParameterBlock(IntToPtr( 2), 3);
242 problem.AddParameterBlock(IntToPtr(10), 3);
243 problem.AddParameterBlock(IntToPtr(16), 2);
245 ASSERT_EQ(5, problem.NumParameterBlocks());
251 Problem problem;
252 problem.AddParameterBlock(x, 3);
253 problem.AddParameterBlock(y, 4);
256 problem.AddParameterBlock(x, 3);
257 problem.AddResidualBlock(new UnaryCostFunction(2, 3), NULL, x);
260 problem.AddParameterBlock(x, 3);
261 problem.AddResidualBlock(new UnaryCostFunction(2, 3), NULL, x);
264 problem.AddParameterBlock(y, 4);
265 problem.AddResidualBlock(new UnaryCostFunction(2, 4), NULL, y);
267 EXPECT_EQ(2, problem.NumParameterBlocks());
268 EXPECT_EQ(7, problem.NumParameters());
274 Problem problem;
275 problem.AddParameterBlock(x, 3);
276 EXPECT_EQ(1, problem.NumParameterBlocks());
277 EXPECT_EQ(3, problem.NumParameters());
279 problem.AddParameterBlock(y, 4);
280 EXPECT_EQ(2, problem.NumParameterBlocks());
281 EXPECT_EQ(7, problem.NumParameters());
283 problem.AddParameterBlock(z, 5);
284 EXPECT_EQ(3, problem.NumParameterBlocks());
285 EXPECT_EQ(12, problem.NumParameters());
289 problem.AddParameterBlock(w, 4, new QuaternionParameterization);
290 EXPECT_EQ(4, problem.NumParameterBlocks());
291 EXPECT_EQ(16, problem.NumParameters());
293 problem.AddResidualBlock(new UnaryCostFunction(2, 3), NULL, x);
294 problem.AddResidualBlock(new BinaryCostFunction(6, 5, 4) , NULL, z, y);
295 problem.AddResidualBlock(new BinaryCostFunction(3, 3, 5), NULL, x, z);
296 problem.AddResidualBlock(new BinaryCostFunction(7, 5, 3), NULL, z, x);
297 problem.AddResidualBlock(new TernaryCostFunction(1, 5, 3, 4), NULL, z, x, y);
300 EXPECT_EQ(problem.NumResidualBlocks(), 5);
301 EXPECT_EQ(problem.NumResiduals(), total_residuals);
330 Problem problem;
331 problem.AddParameterBlock(y, 4);
332 problem.AddParameterBlock(z, 5);
335 problem.AddResidualBlock(cost, NULL, y, z);
336 problem.AddResidualBlock(cost, NULL, y, z);
337 problem.AddResidualBlock(cost, NULL, y, z);
338 EXPECT_EQ(3, problem.NumResidualBlocks());
349 Problem problem;
350 problem.AddParameterBlock(y, 4);
351 problem.AddParameterBlock(z, 5);
357 ResidualBlock* r_yz = problem.AddResidualBlock(cost_yz, NULL, y, z);
358 ResidualBlock* r_wz = problem.AddResidualBlock(cost_wz, NULL, w, z);
359 EXPECT_EQ(2, problem.NumResidualBlocks());
362 problem.RemoveResidualBlock(r_yz);
364 problem.RemoveResidualBlock(r_wz);
367 EXPECT_EQ(0, problem.NumResidualBlocks());
372 // Make the dynamic problem tests (e.g. for removing residual blocks)
382 problem.reset(new ProblemImpl(options));
386 return problem->program().parameter_blocks()[block];
389 return problem->program().residual_blocks()[block];
396 (problem->residual_block_set().find(residual_block) !=
397 problem->residual_block_set().end());
400 find(problem->program().residual_blocks().begin(),
401 problem->program().residual_blocks().end(),
402 residual_block) != problem->program().residual_blocks().end();
409 EXPECT_EQ(problem->residual_block_set().size(),
410 problem->NumResidualBlocks());
412 return problem->NumResidualBlocks();
421 FindOrDie(problem->parameter_map(), values);
428 FindOrDie(problem->parameter_map(), values);
473 scoped_ptr<ProblemImpl> problem;
481 Problem problem;
482 problem.AddParameterBlock(x, 3);
484 EXPECT_DEATH_IF_SUPPORTED(problem.SetParameterBlockConstant(y),
492 Problem problem;
493 problem.AddParameterBlock(x, 3);
495 EXPECT_DEATH_IF_SUPPORTED(problem.SetParameterBlockVariable(y),
503 Problem problem;
504 problem.AddParameterBlock(x, 3);
507 problem.SetParameterization(y, new IdentityParameterization(3)),
515 Problem problem;
516 problem.AddParameterBlock(x, 3);
519 problem.RemoveParameterBlock(y), "Parameter block not found:");
526 Problem problem;
527 problem.AddParameterBlock(x, 3);
528 problem.AddParameterBlock(y, 2);
531 problem.SetParameterization(x, parameterization);
532 EXPECT_EQ(problem.GetParameterization(x), parameterization);
533 EXPECT_TRUE(problem.GetParameterization(y) == NULL);
539 Problem problem;
540 problem.AddParameterBlock(x, 3);
541 problem.AddParameterBlock(y, 4);
545 problem.SetParameterization(
548 EXPECT_EQ(problem.ParameterBlockSize(x), 3);
549 EXPECT_EQ(problem.ParameterBlockLocalSize(x), 2);
550 EXPECT_EQ(problem.ParameterBlockLocalSize(y), 4);
553 problem.GetParameterBlocks(&parameter_blocks);
559 EXPECT_TRUE(problem.HasParameterBlock(x));
560 problem.RemoveParameterBlock(x);
561 EXPECT_FALSE(problem.HasParameterBlock(x));
562 problem.GetParameterBlocks(&parameter_blocks);
568 problem->AddParameterBlock(y, 4);
569 problem->AddParameterBlock(z, 5);
570 problem->AddParameterBlock(w, 3);
571 ASSERT_EQ(3, problem->NumParameterBlocks());
579 problem->RemoveParameterBlock(w);
580 ASSERT_EQ(2, problem->NumParameterBlocks());
584 problem->AddParameterBlock(w, 3);
585 ASSERT_EQ(3, problem->NumParameterBlocks());
592 problem->RemoveParameterBlock(z);
593 ASSERT_EQ(2, problem->NumParameterBlocks());
597 problem->AddParameterBlock(z, 5);
598 ASSERT_EQ(3, problem->NumParameterBlocks());
606 problem->RemoveParameterBlock(y);
607 ASSERT_EQ(2, problem->NumParameterBlocks());
613 problem->RemoveParameterBlock(z);
614 ASSERT_EQ(1, problem->NumParameterBlocks());
619 problem->RemoveParameterBlock(w);
620 EXPECT_EQ(0, problem->NumParameterBlocks());
625 problem->AddParameterBlock(y, 4);
626 problem->AddParameterBlock(z, 5);
627 problem->AddParameterBlock(w, 3);
628 ASSERT_EQ(3, problem->NumParameterBlocks());
643 ResidualBlock* r_yzw = problem->AddResidualBlock(cost_yzw, NULL, y, z, w);
644 ResidualBlock* r_yz = problem->AddResidualBlock(cost_yz, NULL, y, z);
645 ResidualBlock* r_yw = problem->AddResidualBlock(cost_yw, NULL, y, w);
646 ResidualBlock* r_zw = problem->AddResidualBlock(cost_zw, NULL, z, w);
647 ResidualBlock* r_y = problem->AddResidualBlock(cost_y, NULL, y);
648 ResidualBlock* r_z = problem->AddResidualBlock(cost_z, NULL, z);
649 ResidualBlock* r_w = problem->AddResidualBlock(cost_w, NULL, w);
651 EXPECT_EQ(3, problem->NumParameterBlocks());
655 problem->RemoveParameterBlock(w);
656 ASSERT_EQ(2, problem->NumParameterBlocks());
668 problem->RemoveParameterBlock(z);
669 ASSERT_EQ(1, problem->NumParameterBlocks());
681 problem->RemoveParameterBlock(y);
682 EXPECT_EQ(0, problem->NumParameterBlocks());
687 problem->AddParameterBlock(y, 4);
688 problem->AddParameterBlock(z, 5);
689 problem->AddParameterBlock(w, 3);
700 ResidualBlock* r_yzw = problem->AddResidualBlock(cost_yzw, NULL, y, z, w);
701 ResidualBlock* r_yz = problem->AddResidualBlock(cost_yz, NULL, y, z);
702 ResidualBlock* r_yw = problem->AddResidualBlock(cost_yw, NULL, y, w);
703 ResidualBlock* r_zw = problem->AddResidualBlock(cost_zw, NULL, z, w);
704 ResidualBlock* r_y = problem->AddResidualBlock(cost_y, NULL, y);
705 ResidualBlock* r_z = problem->AddResidualBlock(cost_z, NULL, z);
706 ResidualBlock* r_w = problem->AddResidualBlock(cost_w, NULL, w);
720 EXPECT_EQ(3, problem->NumParameterBlocks());
726 problem->RemoveResidualBlock(r_yzw);
727 ASSERT_EQ(3, problem->NumParameterBlocks());
742 problem->RemoveResidualBlock(r_yw);
743 ASSERT_EQ(3, problem->NumParameterBlocks());
757 problem->RemoveResidualBlock(r_zw);
758 ASSERT_EQ(3, problem->NumParameterBlocks());
771 problem->RemoveResidualBlock(r_w);
772 ASSERT_EQ(3, problem->NumParameterBlocks());
784 problem->RemoveResidualBlock(r_yz);
785 ASSERT_EQ(3, problem->NumParameterBlocks());
796 problem->RemoveResidualBlock(r_z);
797 problem->RemoveResidualBlock(r_y);
798 ASSERT_EQ(3, problem->NumParameterBlocks());
808 problem->AddParameterBlock(y, 4);
809 problem->AddParameterBlock(z, 5);
810 problem->AddParameterBlock(w, 3);
821 ResidualBlock* r_yzw = problem->AddResidualBlock(cost_yzw, NULL, y, z, w);
822 ResidualBlock* r_yz = problem->AddResidualBlock(cost_yz, NULL, y, z);
823 ResidualBlock* r_yw = problem->AddResidualBlock(cost_yw, NULL, y, w);
824 ResidualBlock* r_zw = problem->AddResidualBlock(cost_zw, NULL, z, w);
825 ResidualBlock* r_y = problem->AddResidualBlock(cost_y, NULL, y);
826 ResidualBlock* r_z = problem->AddResidualBlock(cost_z, NULL, z);
827 ResidualBlock* r_w = problem->AddResidualBlock(cost_w, NULL, w);
830 problem->RemoveResidualBlock(r_yzw);
831 ASSERT_EQ(3, problem->NumParameterBlocks());
834 EXPECT_DEATH_IF_SUPPORTED(problem->RemoveResidualBlock(r_yzw), "not found");
840 EXPECT_DEATH_IF_SUPPORTED(problem->RemoveResidualBlock(invalid_residual),
845 problem->RemoveParameterBlock(z);
846 ASSERT_EQ(2, problem->NumParameterBlocks());
848 EXPECT_DEATH_IF_SUPPORTED(problem->RemoveResidualBlock(r_yz), "not found");
849 EXPECT_DEATH_IF_SUPPORTED(problem->RemoveResidualBlock(r_zw), "not found");
850 EXPECT_DEATH_IF_SUPPORTED(problem->RemoveResidualBlock(r_z), "not found");
852 problem->RemoveResidualBlock(r_yw);
853 problem->RemoveResidualBlock(r_w);
854 problem->RemoveResidualBlock(r_y);
883 const ProblemImpl &problem,
886 problem.GetResidualBlocks(&residual_blocks);
891 problem->AddParameterBlock(y, 4);
892 problem->AddParameterBlock(z, 5);
893 problem->AddParameterBlock(w, 3);
904 ResidualBlock* r_yzw = problem->AddResidualBlock(cost_yzw, NULL, y, z, w);
907 ExpectProblemHasResidualBlocks(*problem, expected_residuals);
909 ResidualBlock* r_yz = problem->AddResidualBlock(cost_yz, NULL, y, z);
912 ExpectProblemHasResidualBlocks(*problem, expected_residuals);
914 ResidualBlock* r_yw = problem->AddResidualBlock(cost_yw, NULL, y, w);
917 ExpectProblemHasResidualBlocks(*problem, expected_residuals);
919 ResidualBlock* r_zw = problem->AddResidualBlock(cost_zw, NULL, z, w);
922 ExpectProblemHasResidualBlocks(*problem, expected_residuals);
924 ResidualBlock* r_y = problem->AddResidualBlock(cost_y, NULL, y);
927 ExpectProblemHasResidualBlocks(*problem, expected_residuals);
929 ResidualBlock* r_z = problem->AddResidualBlock(cost_z, NULL, z);
934 ExpectProblemHasResidualBlocks(*problem, expected_residuals);
936 ResidualBlock* r_w = problem->AddResidualBlock(cost_w, NULL, w);
941 ExpectProblemHasResidualBlocks(*problem, expected_residuals);
959 problem->GetResidualBlocksForParameterBlock(
983 problem->GetParameterBlocksForResidualBlock(