2016-12-02 3 views
1

저는 2- 벡터와 스칼라에서 형식적으로 동일한 루틴을 작성 중입니다. 나는 그것을 인스턴스화, Eigen::Matrix<double,N,1> 템플릿으로입니다 쓰고 싶습니다 N = 2 또는 N = 1 (Eigen::Map<Eigen::Matrix<double,1,1>>(&d)로 스칼라 double d 포장 스칼라, 대한.1 벡터 (스칼라)에도 Eigen을 사용할 수 있습니까?

은 아이겐 염두에 특별한 경우로 설계되어 있습니까? 그것은 예정 예 내부적으로 명시 적으로 꺼내는에 Eigen::Matrix<double,1,1>::norm()에 대한 abs(v1), v1*v1squaredNorm() 또는 normalized()size=1에 대한 명시 적 특수화가 없다?

답변

2

에 대한 copysign(1,v1)하지만, 덕분에 효율적으로 호출 할 것은, 대부분의 표현. 스칼라 코드를 생성합니다 예를 들어, squaredNorm()x*x를 생성합니다 , norm은를 생성합니다.. normalized()과 동일합니다.

+0

고마워요! (나는 더 많이 써야한다고 말합니다. :) : 그래서 : 아마 잠재적으로 유용한 최적화 일 것입니다.) – eudoxos