在Eiffel中,類DOUBLE_MATH
定義了三角函數。當我看到這個類的接口,如圖here,它說埃菲爾三角函數域是什麼?是[-pi/4,+ pi/4]嗎?
餘弦(ν:REAL_64):REAL_64 - 弧度`V」近似 的三角餘弦 - 在範圍[-pi/4 ,+π/ 4]
和
正弦(ν:REAL_64):REAL_64 - 弧度`v」近似 的正弦三角函數 - 在範圍[-pi/4,+ pi/4]
和
正切(ν:REAL_64):REAL_64 - 在範圍[-pi/4,+π/ 4]
- 弧度`V」近似 的三角正切
它似乎聲稱三角函數只能在域[-pi/4,+ pi/4]中工作。但是,當我嘗試將它們用於其他值時,它們似乎起作用。
我擔心它偶爾會失敗,或者我看到的成功實際上是一種不可靠的不確定行爲。
使用給定域以外的函數安全嗎?如果是這樣,爲什麼指定這個域?如果沒有,爲什麼它只能在這個領域發揮作用?
請注意,弧線函數的文檔是錯誤的,參數不是弧度而是數字,並且給定的範圍不是與其他函數一樣的域=「範圍參數」,而是範圍(值)的功能。即使是'arc_tangent'也失敗了。 – LutzL
@LutzL哦,是的,我沒有注意到這一點。那麼你是否說他們不可靠? – GoodDeeds
我認爲你可以使用沒有限制的功能。但是,對準確性的保證只適用於小的論點。 – LutzL