|  | @@ -113,52 +113,5 @@ TEST(Expression, DirectlyDependsOn) {
 | 
	
		
			
				|  |  |    ASSERT_TRUE(graph.ExpressionForId(d.id).DirectlyDependsOn(c.id));
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -TEST(Expression, Jet) {
 | 
	
		
			
				|  |  | -  using T = Jet<ExpressionRef, 1>;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  StartRecordingExpressions();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  T a(2, 0);
 | 
	
		
			
				|  |  | -  T b = a * a;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  auto graph = StopRecordingExpressions();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  // b is valid during the assignment so we expect an
 | 
	
		
			
				|  |  | -  // additional assignment expression.
 | 
	
		
			
				|  |  | -  EXPECT_EQ(graph.Size(), 8);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  // Expected code
 | 
	
		
			
				|  |  | -  //   v_0 = 2;
 | 
	
		
			
				|  |  | -  //   v_1 = 0;
 | 
	
		
			
				|  |  | -  //   v_2 = 1;
 | 
	
		
			
				|  |  | -  //   v_1 = v_2;
 | 
	
		
			
				|  |  | -  //   v_3 = v_0 * v_0;
 | 
	
		
			
				|  |  | -  //   v_4 = v_0 * v_1;
 | 
	
		
			
				|  |  | -  //   v_5 = v_1 * v_0;
 | 
	
		
			
				|  |  | -  //   v_6 = v_3 * v_4;
 | 
	
		
			
				|  |  | -  //   v_7 = v_5 * v_6;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  // clang-format off
 | 
	
		
			
				|  |  | -  // Id, Type, Lhs, Value, Name, Arguments
 | 
	
		
			
				|  |  | -  CHECK_EXPRESSION(  0,  COMPILE_TIME_CONSTANT,   0,   2,   "",     );
 | 
	
		
			
				|  |  | -  CHECK_EXPRESSION(  1,  COMPILE_TIME_CONSTANT,   1,   0,   "",     );
 | 
	
		
			
				|  |  | -  CHECK_EXPRESSION(  2,  COMPILE_TIME_CONSTANT,   2,   1,   "",     );
 | 
	
		
			
				|  |  | -  CHECK_EXPRESSION(  3,             ASSIGNMENT,   1,   0,   "", 2   );
 | 
	
		
			
				|  |  | -  CHECK_EXPRESSION(  4,      BINARY_ARITHMETIC,   4,   0,  "*", 0, 0);
 | 
	
		
			
				|  |  | -  CHECK_EXPRESSION(  5,      BINARY_ARITHMETIC,   5,   0,  "*", 0, 1);
 | 
	
		
			
				|  |  | -  CHECK_EXPRESSION(  6,      BINARY_ARITHMETIC,   6,   0,  "*", 1, 0);
 | 
	
		
			
				|  |  | -  CHECK_EXPRESSION(  7,      BINARY_ARITHMETIC,   7,   0,  "+", 5, 6);
 | 
	
		
			
				|  |  | -  // clang-format on
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  // Variables after execution:
 | 
	
		
			
				|  |  | -  //
 | 
	
		
			
				|  |  | -  // b.a         <=> v_4
 | 
	
		
			
				|  |  | -  // b.v[0]      <=> v_7
 | 
	
		
			
				|  |  | -  EXPECT_EQ(b.a.id, 4);
 | 
	
		
			
				|  |  | -  EXPECT_EQ(b.v[0].id, 7);
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -// Todo: remaining functions of Expression
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  }  // namespace internal
 | 
	
		
			
				|  |  |  }  // namespace ceres
 |