程序包 org.hipparchus.dfp

类 Dfp

java.lang.Object
org.hipparchus.dfp.Dfp
所有已实现的接口:
CalculusFieldElement<Dfp>, FieldElement<Dfp>
直接已知子类:
DfpDec

public class Dfp extends Object implements CalculusFieldElement<Dfp>
Java的十进制浮点库

另一个浮点类。这个类使用基数10000构建,几乎是十进制的。

这里的设计目标是:

  1. 十进制数学,或接近十进制
  2. 可设置精度(但不允许使用不同设置的数字混合)
  3. 可移植性。代码应尽可能保持可移植性。
  4. 性能
  5. 准确性 - 基本代数运算的结果应始终为+/- 1 ULP
  6. 尽可能遵守IEEE 854-1987标准。(请参阅下面的IEEE 854-1987注释)

权衡:

  1. 内存占用。为了获得更好的性能,我使用了比必要更多的内存来表示数字。
  2. 数字更大,因此舍入损失更大。因此,如果您真的需要12个十进制数字,最好使用4个基数10000数字,其中可以有一个部分填充。

数字以以下形式表示: \[ n = \mathrm{sign} \times \mathrm{mant} \times \mathrm{radix}^\mathrm{exp} \] 其中sign为±1,mantissa表示介于零和一之间的分数。mant[0]是最不重要的数字。exp的范围为-32767到32768

IEEE 854-1987注释和差异

IEEE 854要求基数为2或10。这里的基数为10000,因此不符合该要求,但可以通过制作一个子类使其表现为基数10数字。我认为,如果它看起来和行为像基数10数字,那么它就是一个基数10数字,那么该要求就得到满足。

选择基数10000是因为一次操作4个十进制数字应该比逐个操作更快。通过添加额外的舍入步骤,可以实现基数10的行为,以确保所表示的十进制数字的数量是恒定的。

IEEE标准明确排除了内部数据编码,因此可以合理地得出结论,这种基数10000系统的子类仅仅是基数10系统的编码。

IEEE 854还规定了“次正常”数字的存在。此类不包含任何此类实体。最重要的基数10000数字始终不为零。相反,我们通过将指数小于expMin的数字引发下溢标志来支持“渐进下溢”,但在指数达到MIN_EXP-digits之前不会刷新为零。因此,我们可以表示的最小数字将是: 1E(-(MIN_EXP-digits-1)*4),例如,对于digits=5,MIN_EXP=-32767,那将是1e-131092。

IEEE 854定义了隐含的基数点位于最重要数字的右侧,位于其余数字的左侧。此实现将隐含的基数点放在所有数字的左侧,包括最重要的数字。这是一个细微的细节,实际上只是一个定义问题。任何此类副作用都可以通过子类来隐藏。

另请参阅:
  • 字段详细资料

    • RADIX

      public static final int RADIX
      该系统的基数或基数。设置为10000
      另请参阅:
    • MIN_EXP

      public static final int MIN_EXP
      在下溢之前发出信号的最小指数。在minExp-DIGITS处发生向零冲刷
      另请参阅:
    • MAX_EXP

      public static final int MAX_EXP
      在溢出之前发出信号的最大指数,并将结果冲刷到无穷大
      另请参阅:
    • ERR_SCALE

      public static final int ERR_SCALE
      在转到陷阱处理程序之前,溢出/下溢量将被缩放
      另请参阅:
    • FINITE

      public static final byte FINITE
      正常有限数字的指示值。
      另请参阅:
    • INFINITE

      public static final byte INFINITE
      无穷大的指示值。
      另请参阅:
    • SNAN

      public static final byte SNAN
      信号NaN的指示值。
      另请参阅:
    • QNAN

      public static final byte QNAN
      安静NaN的指示值。
      另请参阅:
    • mant

      protected int[] mant
      尾数。
    • sign

      protected byte sign
      符号位:正为1,负为-1。
    • exp

      protected int exp
      指数。
    • nans

      protected byte nans
      非有限/非数字值的指示器。
  • 构造器详细资料

    • Dfp

      protected Dfp(DfpField field)
      创建一个值为零的实例。
      参数:
      field - 此实例所属的字段
    • Dfp

      protected Dfp(DfpField field, byte x)
      从字节值创建一个实例。
      参数:
      field - 此实例所属的字段
      x - 要转换为实例的值
    • Dfp

      protected Dfp(DfpField field, int x)
      从int值创建一个实例。
      参数:
      field - 此实例所属的字段
      x - 要转换为实例的值
    • Dfp

      protected Dfp(DfpField field, long x)
      从long值创建一个实例。
      参数:
      field - 此实例所属的字段
      x - 要转换为实例的值
    • Dfp

      protected Dfp(DfpField field, double x)
      从double值创建一个实例。
      参数:
      field - 此实例所属的字段
      x - 要转换为实例的值
    • Dfp

      public Dfp(Dfp d)
      复制构造函数。
      参数:
      d - 要复制的实例
    • Dfp

      protected Dfp(DfpField field, String s)
      从String表示创建一个实例。
      参数:
      field - 此实例所属的字段
      s - 实例的字符串表示
    • Dfp

      protected Dfp(DfpField field, byte sign, byte nans)
      创建一个具有非有限值的实例。
      参数:
      field - 此实例所属的字段
      sign - 要创建的Dfp的符号
      nans - 值的代码,必须是INFINITESNANQNAN之一
  • 方法详细资料

    • newInstance

      public Dfp newInstance()
      创建一个值为0的实例。在内部首选使用此方法而不是构造函数以便于子类
      返回:
      一个值为0的新实例
    • newInstance

      public Dfp newInstance(byte x)
      从字节值创建一个实例。
      参数:
      x - 要转换为实例的值
      返回:
      一个具有值x的新实例
    • newInstance

      public Dfp newInstance(int x)
      从int值创建一个实例。
      参数:
      x - 要转换为实例的值
      返回:
      一个具有值x的新实例
    • newInstance

      public Dfp newInstance(long x)
      从long值创建一个实例。
      参数:
      x - 要转换为实例的值
      返回:
      一个具有值x的新实例
    • newInstance

      public Dfp newInstance(double x)
      创建一个对应于常数实数值的实例。
      指定者:
      newInstance 在接口中 CalculusFieldElement<Dfp>
      参数:
      x - 常数实数值
      返回:
      对应于常数实数值的实例
    • newInstance

      public Dfp newInstance(Dfp d)
      通过复制现有实例创建一个实例。在内部首选使用此方法而不是构造函数以便于子类。
      参数:
      d - 要复制的实例
      返回:
      一个具有与d相同值的新实例
    • newInstance

      public Dfp newInstance(String s)
      从String表示创建一个实例。在内部首选使用此方法而不是构造函数以便于子类。
      参数:
      s - 实例的字符串表示
      返回:
      从指定字符串解析的新实例
    • newInstance

      public Dfp newInstance(byte sig, byte code)
      创建一个具有非有限值的实例。
      参数:
      sig - 要创建的Dfp的符号
      code - 值的代码,必须是INFINITESNANQNAN之一
      返回:
      一个具有非有限值的新实例
    • newInstance

      public Dfp newInstance(DfpField targetField, DfpField.RoundingMode rmode)
      通过将实例转换为不同字段(即不同精度)创建一个实例。

      如果目标字段具有更多的数字,额外的最不显著数字将设置为零。

      参数:
      targetField - 要将实例转换为的字段
      rmode - 如果目标字段比实例少数字,则要使用的舍入模式,否则可以为null
      返回:
      转换后的实例(如果实例已经具有所需数量的数字,则为实例本身)
      从以下版本开始:
      1.7
      另请参阅:
    • getField

      public DfpField getField()
      获取Field(实际上是一个DfpField),该实例所属。

      该字段与数字位数相关联,并充当Dfp实例的工厂。

      指定者:
      getField 在接口中 FieldElement<Dfp>
      返回:
      Field (实际上是一个DfpField),该实例所属的字段
    • getRadixDigits

      public int getRadixDigits()
      获取实例的基数位数。
      返回:
      基数位数
    • getZero

      public Dfp getZero()
      获取常量0。
      返回:
      值为零的Dfp
    • getOne

      public Dfp getOne()
      获取常量1。
      返回:
      值为一的Dfp
    • getTwo

      public Dfp getTwo()
      获取常量2。
      返回:
      值为二的Dfp
    • shiftLeft

      protected void shiftLeft()
      将尾数向左移动,并调整指数以补偿。
    • shiftRight

      protected void shiftRight()
      将尾数向右移动,并调整指数以补偿。
    • align

      protected int align(int e)
      使我们的指数等于提供的指数,这可能会导致四舍五入。还会导致非规范化数字。这些数字通常很危险,因为大多数例程假定规范化数字。Align不会四舍五入,因此它将返回向右移动时破坏的最后一位数字。
      参数:
      e - 所需指数
      返回:
      向右移动时破坏的最后一位数字
    • lessThan

      public boolean lessThan(Dfp x)
      检查实例是否小于x。
      参数:
      x - 要检查实例是否小于的数字
      返回:
      如果实例小于x且两者均不是NaN,则返回true,否则返回false
    • greaterThan

      public boolean greaterThan(Dfp x)
      检查实例是否大于x。
      参数:
      x - 要检查实例是否大于的数字
      返回:
      如果实例大于x且两者均不是NaN,则返回true,否则返回false
    • negativeOrNull

      public boolean negativeOrNull()
      检查实例是否小于或等于0。
      返回:
      如果实例不是NaN且小于或等于0,则返回true,否则返回false
    • strictlyNegative

      public boolean strictlyNegative()
      检查实例是否严格小于0。
      返回:
      如果实例不是NaN且严格小于0,则返回true,否则返回false
    • positiveOrNull

      public boolean positiveOrNull()
      检查实例是否大于或等于0。
      返回:
      如果实例不是NaN且大于或等于0,则返回true,否则返回false
    • strictlyPositive

      public boolean strictlyPositive()
      检查实例是否严格大于0。
      返回:
      如果实例不是NaN且严格大于0,则返回true,否则返回false
    • abs

      public Dfp abs()
      绝对值。

      只是CalculusFieldElement.norm()的另一个名称

      指定者:
      abs 在接口中 CalculusFieldElement<Dfp>
      返回:
      abs(this)
    • isInfinite

      public boolean isInfinite()
      检查实例是否为无穷大。
      指定者:
      isInfinite 在接口中 CalculusFieldElement<Dfp>
      返回:
      如果实例为无穷大,则返回true
    • isNaN

      public boolean isNaN()
      检查实例是否为非数字。
      指定者:
      isNaN 在接口中 CalculusFieldElement<Dfp>
      返回:
      如果实例为非数字,则返回true
    • isZero

      public boolean isZero()
      检查实例是否等于零。
      指定者:
      isZero 在接口中 FieldElement<Dfp>
      返回:
      如果实例等于零,则返回true
    • equals

      public boolean equals(Object other)
      检查实例是否等于x。
      覆盖:
      equals 在类中 Object
      参数:
      other - 要检查实例是否等于的对象
      返回:
      如果实例等于x且两者均不是NaN,则返回true,否则返回false
    • hashCode

      public int hashCode()
      获取实例的哈希码。
      覆盖:
      hashCode 在类中 Object
      返回:
      该对象的哈希码值
    • unequal

      public boolean unequal(Dfp x)
      检查实例是否不等于x。
      参数:
      x - 要检查实例是否不等于的数字
      返回:
      如果实例不等于x且两者均不是NaN,则返回true,否则返回false
    • rint

      public Dfp rint()
      使用四舍五入-半偶数方法将实例四舍五入到最近的整数。也就是说,四舍五入到最近的整数,除非两者等距。在这种情况下,四舍五入到偶数。
      指定者:
      rint 在接口中 CalculusFieldElement<Dfp>
      返回:
      四舍五入的值
    • floor

      public Dfp floor()
      使用向下舍入模式将实例四舍五入为整数。也就是说,向负无穷舍入
      指定者:
      floor 在接口中 CalculusFieldElement<Dfp>
      返回:
      四舍五入的值
    • ceil

      public Dfp ceil()
      使用向上舍入模式将实例四舍五入为整数。也就是说,向正无穷舍入
      指定者:
      ceil 在接口中 CalculusFieldElement<Dfp>
      返回:
      四舍五入的值
    • remainder

      public Dfp remainder(Dfp d)
      返回IEEE余数。
      指定者:
      remainder 在接口中 CalculusFieldElement<Dfp>
      参数:
      d - 除数
      返回:
      this减去n × d,其中n是最接近this/d的整数
    • trunc

      protected Dfp trunc(DfpField.RoundingMode rmode)
      使用指定的舍入进行整数转换。
      参数:
      rmode - 要使用的舍入模式
      返回:
      截断的值
    • intValue

      public int intValue()
      将此转换为整数。如果大于2147483647,则返回2147483647。如果小于-2147483648,则返回-2147483648。
      返回:
      转换后的数字
    • log10K

      public int log10K()
      获取小于或等于此绝对值的最大10000的幂的指数。即,如果this为106,则log10K将返回1。
      返回:
      整数基数10000对数
    • power10K

      public Dfp power10K(int e)
      获取指定的10000的幂。
      参数:
      e - 所需幂
      返回:
      10000e
    • intLog10

      public int intLog10()
      获取小于或等于abs(this)的最大10的幂的指数。
      返回:
      整数基数10对数
    • power10

      public Dfp power10(int e)
      返回指定的10的幂。
      参数:
      e - 所需幂
      返回:
      10e
    • complement

      protected int complement(int extra)
      通过计算补码来否定此的尾数。保留符号位不变,内部使用add。非规范化数字在这里得到了正确处理。
      参数:
      extra - ???
      返回:
      ???
    • add

      public Dfp add(Dfp x)
      将x添加到此。
      指定者:
      add 在接口中 FieldElement<Dfp>
      参数:
      x - 要添加的数字
      返回:
      this和x的和
    • negate

      public Dfp negate()
      返回一个具有反转符号位的数字。
      指定者:
      negate 在接口中 FieldElement<Dfp>
    • subtract

      public Dfp subtract(Dfp x)
      Subtract x from this.
      指定者:
      subtract 在接口中 FieldElement<Dfp>
      参数:
      x - number to subtract
      返回:
      difference of this and a
    • round

      protected int round(int n)
      Round this given the next digit n using the current rounding mode.
      参数:
      n - ???
      返回:
      the IEEE flag if an exception occurred
    • multiply

      public Dfp multiply(Dfp x)
      Multiply this by x.
      指定者:
      multiply 在接口中 FieldElement<Dfp>
      参数:
      x - 乘数
      返回:
      乘积
    • multiply

      public Dfp multiply(int x)
      将此乘以一个单个数字 x。
      指定者:
      multiply 在接口中 FieldElement<Dfp>
      参数:
      x - 乘数
      返回:
      乘积
    • divide

      public Dfp divide(Dfp divisor)
      除以除数。
      指定者:
      divide 在接口中 FieldElement<Dfp>
      参数:
      divisor - 除数
      返回:
      除以除数的商
    • divide

      public Dfp divide(int divisor)
      除以小于基数的单个数字。特殊情况,因此有速度优势。0 <= 除数 < 基数
      参数:
      divisor - 除数
      返回:
      除以除数的商
    • reciprocal

      public Dfp reciprocal()
      返回this元素的乘法逆元。
      指定者:
      reciprocal 在接口中 CalculusFieldElement<Dfp>
      指定者:
      reciprocal 在接口中 FieldElement<Dfp>
      返回:
      this的倒数。
    • sqrt

      public Dfp sqrt()
      计算平方根。
      指定者:
      sqrt 在接口中 CalculusFieldElement<Dfp>
      返回:
      实例的平方根
    • toString

      public String toString()
      获取实例的字符串表示形式。
      覆盖:
      toString 在类中 Object
      返回:
      实例的字符串表示形式
    • dfp2sci

      protected String dfp2sci()
      使用科学计数法将实例转换为字符串。
      返回:
      以科学计数法表示的实例的字符串形式
    • dfp2string

      protected String dfp2string()
      使用普通表示法将实例转换为字符串。
      返回:
      以普通表示法表示的实例的字符串形式
    • dotrap

      public Dfp dotrap(int type, String what, Dfp oper, Dfp result)
      触发一个陷阱。但是这不会设置相应的标志。
      参数:
      type - 陷阱类型
      what - - 发生陷阱的例程名称
      oper - - 函数的输入运算符
      result - - 陷阱发生前计算的结果
      返回:
      建议的陷阱处理程序的返回值
    • trap

      protected Dfp trap(int type, String what, Dfp oper, Dfp def, Dfp result)
      陷阱处理程序。子类可以重写此方法以根据IEEE 854-1987提供陷阱功能。
      参数:
      type - 异常类型 - 例如 FLAG_OVERFLOW
      what - 我们所在例程的名称,例如 divide()
      oper - 如果有的话,此函数的操作数
      def - 如果未启用陷阱,则默认返回值
      result - 根据IEEE 854指定的结果,如果有的话
      返回:
      应该由触发陷阱的操作返回的值
    • classify

      public int classify()
      返回类型 - FINITE、INFINITE、SNAN、QNAN之一。
      返回:
      数字的类型
    • copysign

      public static Dfp copysign(Dfp x, Dfp y)
      创建一个与 x 相同但具有 y 符号的实例。abs(x) = dfp.copysign(x, dfp.one)
      参数:
      x - 获取值的数字
      y - 获取符号的数字
      返回:
      一个具有 x 值和 y 符号的数字
    • nextAfter

      public Dfp nextAfter(Dfp x)
      返回大于此数字且朝 x 方向的下一个数字。如果 this==x,则简单地返回 this。
      参数:
      x - 查看的方向
      返回:
      在 x 方向上最接近实例的下一个数字
    • toDouble

      public double toDouble()
      将实例转换为 double。
      返回:
      近似表示实例的 double
      另请参阅:
    • toSplitDouble

      public double[] toSplitDouble()
      将实例转换为 split double。
      返回:
      两个 double 数组,其和表示实例
      另请参阅:
    • getReal

      public double getReal()
      获取数字的实际值。
      指定者:
      getReal 在接口中 FieldElement<Dfp>
      返回:
      实际值
    • add

      public Dfp add(double a)
      '+' 运算符。
      指定者:
      add 在接口中 CalculusFieldElement<Dfp>
      参数:
      a - 运算符的右手参数
      返回:
      this+a
    • subtract

      public Dfp subtract(double a)
      '-' 运算符。
      指定者:
      subtract 在接口中 CalculusFieldElement<Dfp>
      参数:
      a - 运算符的右手参数
      返回:
      this-a
    • multiply

      public Dfp multiply(double a)
      '×' 运算符。
      指定者:
      multiply 在接口中 CalculusFieldElement<Dfp>
      参数:
      a - 运算符的右手参数
      返回:
      this×a
    • divide

      public Dfp divide(double a)
      '÷' 运算符。
      指定者:
      divide 在接口中 CalculusFieldElement<Dfp>
      参数:
      a - 运算符的右手参数
      返回:
      this÷a
    • remainder

      public Dfp remainder(double a)
      IEEE 余数运算符。
      指定者:
      remainder 在接口中 CalculusFieldElement<Dfp>
      参数:
      a - 运算符的右手参数
      返回:
      this - n × a,其中 n 是最接近 this/a 的整数
    • sign

      public Dfp sign()
      计算实例的符号。负数为 -1,正数为 +1,否则为 0,对于复数,它在单位圆上扩展(等同于 z/|z|,对于 0 和 NaN 进行特殊处理)
      指定者:
      sign 在接口中 CalculusFieldElement<Dfp>
      返回:
      -1.0、-0.0、+0.0、+1.0 或 NaN,取决于 a 的符号
    • copySign

      public Dfp copySign(Dfp s)
      返回具有参数符号的实例。NaN sign 参数被视为正数。
      指定者:
      copySign 在接口中 CalculusFieldElement<Dfp>
      参数:
      s - 返回值的符号
      返回:
      具有与 sign 参数相同符号的实例
    • copySign

      public Dfp copySign(double s)
      返回具有参数符号的实例。NaN sign 参数被视为正数。
      指定者:
      copySign 在接口中 CalculusFieldElement<Dfp>
      参数:
      s - 返回值的符
    • getExponent

      public int getExponent()
      Return the exponent of the instance, removing the bias.

      For double numbers of the form 2x, the unbiased exponent is exactly x.

      指定者:
      getExponent 在接口中 CalculusFieldElement<Dfp>
      返回:
      实例的指数,不包含偏差
    • scalb

      public Dfp scalb(int n)
      将实例乘以2的幂。
      指定者:
      scalb 在接口中 CalculusFieldElement<Dfp>
      参数:
      n - 2的幂
      返回:
      this × 2n
    • ulp

      public Dfp ulp()
      计算数字的最低有效位(最后一位单位)。
      指定者:
      ulp 在接口中 CalculusFieldElement<Dfp>
      返回:
      ulp(this)
    • hypot

      public Dfp hypot(Dfp y)
      返回三角形的斜边,其两边为thisy - sqrt(this2 +y2),避免中间溢出或下溢。
      • 如果任一参数为无穷大,则结果为正无穷大。
      • 否则,如果任一参数为NaN,则结果为NaN。
      指定者:
      hypot 在接口中 CalculusFieldElement<Dfp>
      参数:
      y - 一个值
      返回:
      sqrt(this2 +y2)
    • cbrt

      public Dfp cbrt()
      立方根。
      指定者:
      cbrt 在接口中 CalculusFieldElement<Dfp>
      返回:
      实例的立方根
    • rootN

      public Dfp rootN(int n)
      Nth根。
      指定者:
      rootN 在接口中 CalculusFieldElement<Dfp>
      参数:
      n - 根的阶数
      返回:
      实例的nth
    • pow

      public Dfp pow(double p)
      幂运算。
      指定者:
      pow 在接口中 CalculusFieldElement<Dfp>
      参数:
      p - 要应用的幂
      返回:
      thisp
    • pow

      public Dfp pow(int n)
      整数幂运算。
      指定者:
      pow 在接口中 CalculusFieldElement<Dfp>
      参数:
      n - 要应用的幂
      返回:
      thisn
    • pow

      public Dfp pow(Dfp e)
      幂运算。
      指定者:
      pow 在接口中 CalculusFieldElement<Dfp>
      参数:
      e - 指数
      返回:
      thise
    • exp

      public Dfp exp()
      指数。
      指定者:
      exp 在接口中 CalculusFieldElement<Dfp>
      返回:
      实例的指数
    • expm1

      public Dfp expm1()
      指数减1。
      指定者:
      expm1 在接口中 CalculusFieldElement<Dfp>
      返回:
      实例的指数减1
    • log

      public Dfp log()
      自然对数。
      指定者:
      log 在接口中 CalculusFieldElement<Dfp>
      返回:
      实例的对数
    • log1p

      public Dfp log1p()
      移位的自然对数。
      指定者:
      log1p 在接口中 CalculusFieldElement<Dfp>
      返回:
      1加上实例的对数
    • log10

      public Dfp log10()
      以10为底的对数。
      指定者:
      log10 在接口中 CalculusFieldElement<Dfp>
      返回:
      实例的以10为底的对数
    • cos

      public Dfp cos()
      余弦运算。
      指定者:
      cos 在接口中 CalculusFieldElement<Dfp>
      返回:
      cos(this)
    • sin

      public Dfp sin()
      正弦运算。
      指定者:
      sin 在接口中 CalculusFieldElement<Dfp>
      返回:
      sin(this)
    • sinCos

      public FieldSinCos<Dfp> sinCos()
      正弦和余弦的组合运算。
      指定者:
      sinCos 在接口中 CalculusFieldElement<Dfp>
      返回:
      [sin(this), cos(this)]
    • tan

      public Dfp tan()
      正切运算。
      指定者:
      tan 在接口中 CalculusFieldElement<Dfp>
      返回:
      tan(this)
    • acos

      public Dfp acos()
      反余弦运算。
      指定者:
      acos 在接口中 CalculusFieldElement<Dfp>
      返回:
      acos(this)
    • asin

      public Dfp asin()
      反正弦运算。
      指定者:
      asin 在接口中 CalculusFieldElement<Dfp>
      返回:
      asin(this)
    • atan

      public Dfp atan()
      反正切运算。
      指定者:
      atan 在接口中 CalculusFieldElement<Dfp>
      返回:
      atan(this)
    • atan2

      public Dfp atan2(Dfp x) throws MathIllegalArgumentException
      两参数反正切运算。

      注意参数的顺序!由于这是基于两个参数的函数,为了与参数顺序保持一致,实例是第一个参数,而提供的单个参数是第二个参数。为了与编程语言atan2保持一致,此方法计算atan2(this, x),即实例表示y参数,而作为单个参数传递的x参数。这可能会令人困惑,特别是对于Wolfram alpha的用户,因为该站点与编程语言atan2的两参数反正切不一致,并将x作为其第一个参数。

      指定者:
      atan2 在接口中 CalculusFieldElement<Dfp>
      参数:
      x - 反正切的第二个参数
      返回:
      atan2(this, x)
      <
    • cosh

      public Dfp cosh()
      Hyperbolic cosine operation.
      指定者:
      cosh 在接口中 CalculusFieldElement<Dfp>
      返回:
      cosh(this)
    • sinh

      public Dfp sinh()
      Hyperbolic sine operation.
      指定者:
      sinh 在接口中 CalculusFieldElement<Dfp>
      返回:
      sinh(this)
    • sinhCosh

      public FieldSinhCosh<Dfp> sinhCosh()
      组合双曲正弦和双曲余弦运算。
      指定者:
      sinhCosh 在接口中 CalculusFieldElement<Dfp>
      返回:
      [sinh(this), cosh(this)]
    • tanh

      public Dfp tanh()
      双曲正切运算。
      指定者:
      tanh 在接口中 CalculusFieldElement<Dfp>
      返回:
      tanh(this)
    • acosh

      public Dfp acosh()
      反双曲余弦运算。
      指定者:
      acosh 在接口中 CalculusFieldElement<Dfp>
      返回:
      acosh(this)
    • asinh

      public Dfp asinh()
      反双曲正弦运算。
      指定者:
      asinh 在接口中 CalculusFieldElement<Dfp>
      返回:
      asin(this)
    • atanh

      public Dfp atanh()
      反双曲正切运算。
      指定者:
      atanh 在接口中 CalculusFieldElement<Dfp>
      返回:
      atanh(this)
    • toDegrees

      public Dfp toDegrees()
      将弧度转换为度,误差小于0.5 ULP
      指定者:
      toDegrees 在接口中 CalculusFieldElement<Dfp>
      返回:
      实例转换为度
    • toRadians

      public Dfp toRadians()
      将度转换为弧度,误差小于0.5 ULP
      指定者:
      toRadians 在接口中 CalculusFieldElement<Dfp>
      返回:
      实例转换为弧度
    • linearCombination

      public Dfp linearCombination(Dfp[] a, Dfp[] b) throws MathIllegalArgumentException
      计算线性组合。
      指定者:
      linearCombination 在接口中 CalculusFieldElement<Dfp>
      参数:
      a - 因子。
      b - 因子。
      返回:
      Σi ai bi
      抛出:
      MathIllegalArgumentException - 如果数组维度不匹配
    • linearCombination

      public Dfp linearCombination(double[] a, Dfp[] b) throws MathIllegalArgumentException
      计算线性组合。
      指定者:
      linearCombination 在接口中 CalculusFieldElement<Dfp>
      参数:
      a - 因子。
      b - 因子。
      返回:
      Σi ai bi
      抛出:
      MathIllegalArgumentException - 如果数组维度不匹配
    • linearCombination

      public Dfp linearCombination(Dfp a1, Dfp b1, Dfp a2, Dfp b2)
      计算线性组合。
      指定者:
      linearCombination 在接口中 CalculusFieldElement<Dfp>
      参数:
      a1 - 第一项的第一个因子
      b1 - 第一项的第二个因子
      a2 - 第二项的第一个因子
      b2 - 第二项的第二个因子
      返回:
      a1×b1 + a2×b2
      另请参阅:
    • linearCombination

      public Dfp linearCombination(double a1, Dfp b1, double a2, Dfp b2)
      计算线性组合。
      指定者:
      linearCombination 在接口中 CalculusFieldElement<Dfp>
      参数:
      a1 - first factor of the first term
      b1 - second factor of the first term
      a2 - first factor of the second term
      b2 - second factor of the second term
      返回:
      a1×b1 + a2×b2
      另请参阅:
    • linearCombination

      public Dfp linearCombination(Dfp a1, Dfp b1, Dfp a2, Dfp b2, Dfp a3, Dfp b3)
      Compute a linear combination.
      指定者:
      linearCombination 在接口中 CalculusFieldElement<Dfp>
      参数:
      a1 - first factor of the first term
      b1 - second factor of the first term
      a2 - first factor of the second term
      b2 - second factor of the second term
      a3 - first factor of the third term
      b3 - second factor of the third term
      返回:
      a1×b1 + a2×b2 + a3×b3
      另请参阅:
    • linearCombination

      public Dfp linearCombination(double a1, Dfp b1, double a2, Dfp b2, double a3, Dfp b3)
      Compute a linear combination.
      指定者:
      linearCombination 在接口中 CalculusFieldElement<Dfp>
      参数:
      a1 - first factor of the first term
      b1 - second factor of the first term
      a2 - first factor of the second term
      b2 - second factor of the second term
      a3 - first factor of the third term
      b3 - second factor of the third term
      返回:
      a1×b1 + a2×b2 + a3×b3
      另请参阅:
    • linearCombination

      public Dfp linearCombination(Dfp a1, Dfp b1, Dfp a2, Dfp b2, Dfp a3, Dfp b3, Dfp a4, Dfp b4)
      Compute a linear combination.
      指定者:
      linearCombination 在接口中 CalculusFieldElement<Dfp>
      参数:
      a1 - first factor of the first term
      b1 - second factor of the first term
      a2 - first factor of the second term
      b2 - second factor of the second term
      a3 - first factor of the third term
      b3 - second factor of the third term
      a4 - first factor of the fourth term
      b4 - second factor of the fourth term
      返回:
      a1×b1 + a2×b2 + a3×b3 + a4×b4
      另请参阅:
    • linearCombination

      public Dfp linearCombination(double a1, Dfp b1, double a2, Dfp b2, double a3, Dfp b3, double a4, Dfp b4)
      Compute a linear combination.
      指定者:
      linearCombination 在接口中 CalculusFieldElement<Dfp>
      参数:
      a1 - 第一项的第一个因子
      b1 - 第一项的第二个因子
      a2 - 第二项的第一个因子
      b2 - 第二项的第二个因子
      a3 - 第三项的第一个因子
      b3 - 第三项的第二个因子
      a4 - 第四项的第一个因子
      b4 - 第四项的第二个因子
      返回:
      a1×b1 + a2×b2 + a3×b3 + a4×b4
      另请参阅:
    • getPi

      public Dfp getPi()
      获取阿基米德常数 π。

      阿基米德常数是圆周长与直径的比值。

      指定者:
      getPi 在接口中 CalculusFieldElement<Dfp>
      返回:
      阿基米德常数 π