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];
393 return find(problem->program().residual_blocks().begin(),
394 problem->program().residual_blocks().end(),
395 residual_block) != problem->program().residual_blocks().end();
404 FindOrDie(problem->parameter_map(), values);
411 FindOrDie(problem->parameter_map(), values);
456 scoped_ptr<ProblemImpl> problem;
464 Problem problem;
465 problem.AddParameterBlock(x, 3);
467 EXPECT_DEATH_IF_SUPPORTED(problem.SetParameterBlockConstant(y),
475 Problem problem;
476 problem.AddParameterBlock(x, 3);
478 EXPECT_DEATH_IF_SUPPORTED(problem.SetParameterBlockVariable(y),
486 Problem problem;
487 problem.AddParameterBlock(x, 3);
490 problem.SetParameterization(y, new IdentityParameterization(3)),
498 Problem problem;
499 problem.AddParameterBlock(x, 3);
502 problem.RemoveParameterBlock(y), "Parameter block not found:");
508 Problem problem;
509 problem.AddParameterBlock(x, 3);
510 problem.AddParameterBlock(y, 4);
514 problem.SetParameterization(
517 EXPECT_EQ(problem.ParameterBlockSize(x), 3);
518 EXPECT_EQ(problem.ParameterBlockLocalSize(x), 2);
519 EXPECT_EQ(problem.ParameterBlockLocalSize(y), 4);
522 problem.GetParameterBlocks(&parameter_blocks);
528 problem.RemoveParameterBlock(x);
529 problem.GetParameterBlocks(&parameter_blocks);
535 problem->AddParameterBlock(y, 4);
536 problem->AddParameterBlock(z, 5);
537 problem->AddParameterBlock(w, 3);
538 ASSERT_EQ(3, problem->NumParameterBlocks());
539 ASSERT_EQ(0, problem->NumResidualBlocks());
546 problem->RemoveParameterBlock(w);
547 ASSERT_EQ(2, problem->NumParameterBlocks());
548 ASSERT_EQ(0, problem->NumResidualBlocks());
551 problem->AddParameterBlock(w, 3);
552 ASSERT_EQ(3, problem->NumParameterBlocks());
553 ASSERT_EQ(0, problem->NumResidualBlocks());
559 problem->RemoveParameterBlock(z);
560 ASSERT_EQ(2, problem->NumParameterBlocks());
561 ASSERT_EQ(0, problem->NumResidualBlocks());
564 problem->AddParameterBlock(z, 5);
565 ASSERT_EQ(3, problem->NumParameterBlocks());
566 ASSERT_EQ(0, problem->NumResidualBlocks());
573 problem->RemoveParameterBlock(y);
574 ASSERT_EQ(2, problem->NumParameterBlocks());
575 ASSERT_EQ(0, problem->NumResidualBlocks());
580 problem->RemoveParameterBlock(z);
581 ASSERT_EQ(1, problem->NumParameterBlocks());
582 ASSERT_EQ(0, problem->NumResidualBlocks());
586 problem->RemoveParameterBlock(w);
587 EXPECT_EQ(0, problem->NumParameterBlocks());
588 EXPECT_EQ(0, problem->NumResidualBlocks());
592 problem->AddParameterBlock(y, 4);
593 problem->AddParameterBlock(z, 5);
594 problem->AddParameterBlock(w, 3);
595 ASSERT_EQ(3, problem->NumParameterBlocks());
596 ASSERT_EQ(0, problem->NumResidualBlocks());
610 ResidualBlock* r_yzw = problem->AddResidualBlock(cost_yzw, NULL, y, z, w);
611 ResidualBlock* r_yz = problem->AddResidualBlock(cost_yz, NULL, y, z);
612 ResidualBlock* r_yw = problem->AddResidualBlock(cost_yw, NULL, y, w);
613 ResidualBlock* r_zw = problem->AddResidualBlock(cost_zw, NULL, z, w);
614 ResidualBlock* r_y = problem->AddResidualBlock(cost_y, NULL, y);
615 ResidualBlock* r_z = problem->AddResidualBlock(cost_z, NULL, z);
616 ResidualBlock* r_w = problem->AddResidualBlock(cost_w, NULL, w);
618 EXPECT_EQ(3, problem->NumParameterBlocks());
619 EXPECT_EQ(7, problem->NumResidualBlocks());
622 problem->RemoveParameterBlock(w);
623 ASSERT_EQ(2, problem->NumParameterBlocks());
624 ASSERT_EQ(3, problem->NumResidualBlocks());
635 problem->RemoveParameterBlock(z);
636 ASSERT_EQ(1, problem->NumParameterBlocks());
637 ASSERT_EQ(1, problem->NumResidualBlocks());
648 problem->RemoveParameterBlock(y);
649 EXPECT_EQ(0, problem->NumParameterBlocks());
650 EXPECT_EQ(0, problem->NumResidualBlocks());
654 problem->AddParameterBlock(y, 4);
655 problem->AddParameterBlock(z, 5);
656 problem->AddParameterBlock(w, 3);
667 ResidualBlock* r_yzw = problem->AddResidualBlock(cost_yzw, NULL, y, z, w);
668 ResidualBlock* r_yz = problem->AddResidualBlock(cost_yz, NULL, y, z);
669 ResidualBlock* r_yw = problem->AddResidualBlock(cost_yw, NULL, y, w);
670 ResidualBlock* r_zw = problem->AddResidualBlock(cost_zw, NULL, z, w);
671 ResidualBlock* r_y = problem->AddResidualBlock(cost_y, NULL, y);
672 ResidualBlock* r_z = problem->AddResidualBlock(cost_z, NULL, z);
673 ResidualBlock* r_w = problem->AddResidualBlock(cost_w, NULL, w);
687 EXPECT_EQ(3, problem->NumParameterBlocks());
688 EXPECT_EQ(7, problem->NumResidualBlocks());
693 problem->RemoveResidualBlock(r_yzw);
694 ASSERT_EQ(3, problem->NumParameterBlocks());
695 ASSERT_EQ(6, problem->NumResidualBlocks());
709 problem->RemoveResidualBlock(r_yw);
710 ASSERT_EQ(3, problem->NumParameterBlocks());
711 ASSERT_EQ(5, problem->NumResidualBlocks());
724 problem->RemoveResidualBlock(r_zw);
725 ASSERT_EQ(3, problem->NumParameterBlocks());
726 ASSERT_EQ(4, problem->NumResidualBlocks());
738 problem->RemoveResidualBlock(r_w);
739 ASSERT_EQ(3, problem->NumParameterBlocks());
740 ASSERT_EQ(3, problem->NumResidualBlocks());
751 problem->RemoveResidualBlock(r_yz);
752 ASSERT_EQ(3, problem->NumParameterBlocks());
753 ASSERT_EQ(2, problem->NumResidualBlocks());
763 problem->RemoveResidualBlock(r_z);
764 problem->RemoveResidualBlock(r_y);
765 ASSERT_EQ(3, problem->NumParameterBlocks());
766 ASSERT_EQ(0, problem->NumResidualBlocks());