如何在 Eiffel 中使用 Sine、Cosine、Tan 和 Sqrt?

How to use Sine, Cosine, Tan and Sqrt in Eiffel?

那里的编码员 - 我怀疑全世界不超过 10 人:) - ,

我有一个非常非常简单的问题:

如何用实数计算 sin、cos、tan 或 sqrt?

a: REAL
b: REAL
...
b := a.power(2) 

有效,但是...

a: REAL
b: REAL
...
b := a.sin(2)
b := a.tan(2)
b := a.cos(2)
b := a.sqrt()

... 没有。

亲爱的互联网,请不要让我失望!

保罗:)

有两个库 类:SINGLE_MATH 用于 REAL_32DOUBLE_MATH 用于 REAL_64。如果您打算只使用一种实数,只需继承 类 之一并使用

        b := sine (a)
        b := cosine (a)
        b := tangent (a)
        b := sqrt (a)

如果你想混合单精度和双精度实数,你可以添加一次函数,如

single_math: SINGLE_MATH
    once
        create Result
    end

然后使用

        b := single_math.sine (a)
        b := single_math.cosine (a)
        b := single_math.tangent (a)
        b := single_math.sqrt (a)