acos.java

来自「JAVA 数学程序库 提供常规的数值计算程序包」· Java 代码 · 共 73 行

JAVA
73
字号
package jmathlib.toolbox.trigonometric;

import jmathlib.core.functions.ExternalElementWiseFunction;
import jmathlib.toolbox.jmathlib.matrix.log;
import jmathlib.toolbox.jmathlib.matrix.sqrt;

public class acos extends ExternalElementWiseFunction
{
    
    public acos()
    {
        name = "acos";
    }
    
    /**Calculates the arccosine of a complex number
     * @param arg = the value as an array of double
     * @return the result as an array of double
     */ 
    public double[] evaluateValue(double[] arg)
    {
        double result[] = new double[2];
        double _re1, _im1;

        double re =  arg[REAL];
        double im =  arg[IMAG];
               
        // _1:      one - z^2 ...
        result[REAL]  =  1.0 - ( (re*re) - (im*im) );
        result[IMAG]  =  0.0 - ( (re*im) + (im*re) );

        // result:  _1.Sqrt() ...
        sqrt sqrtFunc = new sqrt();
        result = sqrtFunc.evaluateValue(result);

        // _1:      i * result ...
        _re1 =  - result[IMAG];
        _im1 =  + result[REAL];

        // result:  z +_1  ...
        result[REAL]  =  re + _re1;
        result[IMAG]  =  im + _im1;

        // _1:      result.log()
        log logFunc = new log();
        result = logFunc.evaluateValue(result);

        // result:  -i * _1 ...
        double temp  = result[IMAG];
        result[IMAG] = -result[REAL];
        result[REAL] = temp;
        
        return result;
    }

}

/*
@GROUP
trigonometric
@SYNTAX
angle = acos(value)
@DOC
Returns the arc cosine of value.
@EXAMPLES
<programlisting>
acos(1) = 0
acos(0) = 1.5707963267948966
</programlisting>
@SEE
cos, acosh, sin, asin, asinh
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?