Use memcpy now for copying data and indicate how the data is stored
This commit is contained in:
		
							parent
							
								
									6fab3a8b85
								
							
						
					
					
						commit
						f4bbfef674
					
				| 
						 | 
					@ -27,13 +27,13 @@ void CppConvertToMatrix(const Eigen::MatrixXf& in, ::Matrix* out) {
 | 
				
			||||||
  out->cols = in.cols();
 | 
					  out->cols = in.cols();
 | 
				
			||||||
  out->data = new float[out->rows * out->cols];
 | 
					  out->data = new float[out->rows * out->cols];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Copy data from Eigen matrix to C-style matrix.
 | 
					  // Copies data from an Eigen matrix (default column-major) to a C-style
 | 
				
			||||||
  // This operation copies the elements sequentially as they appear in the Eigen
 | 
					  // matrix, preserving the sequence of elements as per the Eigen matrix's
 | 
				
			||||||
  // matrix's internal storage, regardless of whether it's stored in row-major
 | 
					  // internal storage (column-major order by default).
 | 
				
			||||||
  // or column-major order and ensures the integrity of data during the
 | 
					  if (!in.IsRowMajor) {
 | 
				
			||||||
  // transfer.
 | 
					    // Safe to use memcpy when the Eigen matrix is in its default column-major
 | 
				
			||||||
  for (int i = 0; i < out->rows * out->cols; ++i) {
 | 
					    // order.
 | 
				
			||||||
    out->data[i] = in.data()[i];
 | 
					    memcpy(out->data, in.data(), sizeof(float) * out->rows * out->cols);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user