2012-10-17 68 views
0

我想在C#中實現對性能敏感的積分計算。我被告知函數int Sin(int angle)返回一個介於-256和255之間的值,在這種情況下很有用,因爲我不需要它是精確的。有沒有我可以使用的這樣的函數的一個很好的實現,或者我可以實現的一些算法?C中的積分竇#

+1

這只是一個查找表。只需在啓動時使用內置的sin函數創建表格,然後編寫函數來查找該表格。這是一個基本相同的問題,你的函數只需要一個int而不是double:http://stackoverflow.com/questions/2088194/fast-sin-cos-using-a-pre-computed-translation-數組 - 這個答案也使用不安全的代碼來獲得一點額外的速度,但是如果你不想要不安全的代碼,你可以使用普通數組。 –

+0

我認爲這個評論其實是我的問題的完美答案。謝謝! –

+0

@JamesGaunt發佈這個答案... – tomfanning

回答

2

這只是一個查找表。只需在啓動時使用內置的sin函數創建表格,然後編寫函數來查找該表格。這裏有一個問題,這基本上是一樣的,你的函數將只取一個整數,而不是雙:

Fast Sin/Cos using a pre computed translation array

這個答案也使用不安全的代碼來獲得一點額外的速度,但你可以只使用一個正常的數組,如果你不想要不安全的代碼