의 sin
및 cos
과 같은 trig 함수가 컴파일 타임에 미리 계산 된 Todd Veldhuizen의 metaprogramming guide의 마지막 예제를 보니 정말 감명 받았습니다. 솔직하게 말해서 그것은 나를 멀리 날려 버렸고 만약 당신이 루프에서 이런 엄청난 수의 코드를 작성한다면 나는 성능이 향상 될 수있다. 그러나 질문 1메타 프로그래밍에서 사용할 수있는 수학 연산자는 무엇입니까
, 그것은 (sin
또는 cos
처럼 실제 수학 라이브러리 함수를 호출하는) 어떤으로 사용할 수있는 라인이 런타임 도구로 사용할 수 있습니다 무엇을 잇는 위치를 궁금해 나를 주도 컴파일 타임 수학 연산자.
Todd의 예제는 일반적인 산술 연산을 사용하여 수동으로 trig 함수를 계산해야합니다.
내가 컴파일러가 모든 일반 수학 함수*
+
-
/
하지만 아무것도 할 수 있는지 다음 생각하는 건가요? 이러한 경우 2
질문, 당신은 단지 오른쪽 정수에 sin
및 cos
계산을 위해 컴파일 시간의 결과를 얻을 수있을 것? 즉, sin 45.5
같은 결과를 미리 컴파일 할 수 없습니까? 템플릿은 매개 변수로 정수를 받아 들일 수있는 경우
아니면, 당신은 몇 가지의 정수를 사용할 수 있으며, 1
2
3
을 전달하고 float 값의 sin
를 얻을 수 1.23
을 같은 클래스에서 그들을 밖으로 float
을합니다. 그러나 질문 1
시리즈 확장으로 컴파일 할 때 사인을 계산하려면 http://www10.informatik.uni-erlangen.de/~pflaum/pflaum/ProSeminar/meta-art.html을 참조하십시오. – jmihalicza