From 6b2315e0c11e7623673894b8bc743ac53c3b89b8 Mon Sep 17 00:00:00 2001 From: JustLonding <874922263@qq.com> Date: Tue, 1 Jul 2025 16:37:30 +0800 Subject: [PATCH 1/3] ee Signed-off-by: JustLonding <874922263@qq.com> --- api/hcTest090901updateone1.d.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 api/hcTest090901updateone1.d.ts diff --git a/api/hcTest090901updateone1.d.ts b/api/hcTest090901updateone1.d.ts new file mode 100644 index 0000000000..0d7d68738b --- /dev/null +++ b/api/hcTest090901updateone1.d.ts @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"), + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions andd + * limitations under the License.test + */ + +/** + * @file + * @kit TestKit + */ \ No newline at end of file -- Gitee From fd2eb25801eb835528ea1355dea65f8bef9f8202 Mon Sep 17 00:00:00 2001 From: JustLonding <874922263@qq.com> Date: Thu, 17 Jul 2025 10:44:37 +0800 Subject: [PATCH 2/3] ee Signed-off-by: JustLonding <874922263@qq.com> --- api/@internal/TestHc0716Update1.d.ts | 55 ++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 api/@internal/TestHc0716Update1.d.ts diff --git a/api/@internal/TestHc0716Update1.d.ts b/api/@internal/TestHc0716Update1.d.ts new file mode 100644 index 0000000000..ff69565cef --- /dev/null +++ b/api/@internal/TestHc0716Update1.d.ts @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"), + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file + * @kit AccessibilityKit + */ + +import type { GesturePoint } from './@ohos.accessibility.GesturePoint'; + +/** + * Indicates the path of the gesture. + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @since 9 + */ +export declare class GesturePath { + /** + * A constructor used to create a GesturePath object. + * + * @param { number } durationTime - Indicates the duration of the gesture. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @since 9 + * @deprecated since 12 + */ + constructor(durationTime: number); + /** + * Indicates the position of the points that make up the gesture. + * + * @type { Array } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @since 9 + */ + points: Array; + /** + * Indicates the duration of the gesture. + * + * @type { number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @since 9 + */ + durationTime: number; +} \ No newline at end of file -- Gitee From acaef2f1b477862b9703555b7f849b3a5406e89a Mon Sep 17 00:00:00 2001 From: JustLonding <874922263@qq.com> Date: Wed, 23 Jul 2025 15:42:07 +0800 Subject: [PATCH 3/3] ee Signed-off-by: JustLonding <874922263@qq.com> --- api/@internal/ets/TestHc0723.d.ets | 2118 ++++++++++++++++++++++++++++ 1 file changed, 2118 insertions(+) create mode 100644 api/@internal/ets/TestHc0723.d.ets diff --git a/api/@internal/ets/TestHc0723.d.ets b/api/@internal/ets/TestHc0723.d.ets new file mode 100644 index 0000000000..d1d730bf4b --- /dev/null +++ b/api/@internal/ets/TestHc0723.d.ets @@ -0,0 +1,2118 @@ +/* + * Copyright (c) 2024-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file Defines the Decimal for ArkTS. Decimal support arbitrary precision decimal operation. + * @kit ArkUI + * @arkts 1.2 + */ + +/** + * The type uesd to set rounding + * + * @typedef { number } + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ +type Rounding = number; + +/** + * The type uesd to set modulo + * + * @typedef { number } + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ +type Modulo = number; + +/** + * The type uesd to denote decimal value + * + * @typedef { string | number | Decimal } + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ +type Value = string | number | Decimal; + +/** + * Provides configuration for decimal. + * + * @interface DecimalConfig + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ +interface DecimalConfig { + /** + * The maximum number of significant digits of the result of an operation. + * Default value: 20 + * + * @type { number } integer, 1 to 1e+9 inclusive + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + precision?: number; + /** + * The default rounding mode used when rounding the result of an operation to precision significant digits, + * and when rounding the return value of the round, toBinary, toDecimalPlaces, toExponential, toFixed, + * toHexadecimal, toNearest, toOctal, toPrecision and toSignificantDigits methods. + * Default value: 4 (ROUND_HALF_UP) + * + * @type { number } integer, integer, 0 to 8 inclusive + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + rounding?: Rounding; + /** + * The negative exponent value at and below which toString returns exponential notation. + * Default value: -7 + * + * @type { number } integer, -9e15 to 0 inclusive + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toExpNeg?: number; + /** + * The positive exponent value at and above which toString returns exponential notation. + * Default value: 20 + * + * @type { number } integer, 0 to 9e15 inclusive + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toExpPos?: number; + /** + * The negative exponent limit, i.e. the exponent value below which underflow to zero occurs. + * Default value: -9e15 + * + * @type { number } integer, -9e15 to 0 inclusive + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + minE?: number; + /** + * The positive exponent limit, i.e. the exponent value above which overflow to Infinity occurs. + * Default value: 9e15 + * + * @type { number } integer, 0 to 9e15 inclusive + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + maxE?: number; + /** + * The value that determines whether cryptographically-secure pseudo-random number generation is used. + * Default value: false + * + * @type { boolean } + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + crypto?: boolean; + /** + * The modulo mode used when calculating the modulus: a mod n. + * Default value: 1 (ROUND_DOWN) + * + * @type { number } integer, 0 to 9 inclusive + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + modulo?: Modulo; + /** + * If object has a 'defaults' property with value true then the new constructor will use the default configuration. + * Default value: false + * + * @type { boolean } + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + defaults?: boolean; +} +/** + * An arbitrary-precision Decimal type + * + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ +declare class Decimal { + + /** + * The numbers of decimal digits. + * + * @type { Array | null } + * @readonly + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + get d(): Array | null; + + /** + * The number of decimal exponent. + * + * @type { number } + * @readonly + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + get e(): number; + + /** + * The number of decimal sign. + * + * @type { number } + * @readonly + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + get s(): number; + + /** + * Return a new Decimal whose value is the absolute value of this Decimal. + * + * @param { Value } n {number | string | Decimal} + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + constructor(n: Value); + + /** + * Return a new Decimal whose value is the absolute value of this Decimal. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + abs(): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the + * direction of negative Infinity. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + floor(): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the + * direction of positive Infinity. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + ceil(): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal truncated to a whole number. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + trunc(): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal clamped to the range + * delineated by `min` and `max`. + * + * @param { Value } min {number | string | Decimal} + * @param { Value } max {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200001 - The value of `min` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + clamp(min: Value, max: Value): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal plus `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + add(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal minus `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + sub(n: Value): Decimal; + + /** + * Return a new Decimal whose value is this Decimal times `n`, rounded to `precision` significant + * digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + mul(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal divided by `n`, rounded to + * `precision` significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + div(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal modulo `n`, rounded to + * `precision` significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal }the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + mod(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the square root of this Decimal, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + sqrt(): Decimal; + + /** + * Return a new Decimal whose value is the cube root of the value of this Decimal, rounded to + * `precision` significant digits using rounding mode `rounding`. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + cbrt(): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal raised to the power `n`, rounded + * to `precision` significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + pow(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the natural exponential of the value of this Decimal, + * i.e. the base e raised to the power the value of this Decimal, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + exp(): Decimal; + + /** + * Return the logarithm of the value of this Decimal to the specified base, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + log(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the natural logarithm of the value of this Decimal, + * rounded to `precision` significant digits using rounding mode `rounding`. + * + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + ln(): Decimal; + + /** + * Return a new Decimal whose value is the cosine of the value in radians of this Decimal. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + cos(): Decimal; + + /** + * Return a new Decimal whose value is the sine of the value in radians of this Decimal. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + sin(): Decimal; + + /** + * Return a new Decimal whose value is the tangent of the value in radians of this Decimal. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + tan(): Decimal; + + /** + * Return a new Decimal whose value is the hyperbolic cosine of the value in radians of this + * Decimal. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + cosh(): Decimal; + + /** + * Return a new Decimal whose value is the hyperbolic sine of the value in radians of this Decimal. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + sinh(): Decimal; + + /** + * Return a new Decimal whose value is the hyperbolic tangent of the value in radians of this Decimal. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + tanh(): Decimal; + + /** + * Return a new Decimal whose value is the arccosine (inverse cosine) in radians of the value of this Decimal. + * + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + acos(): Decimal; + + /** + * Return a new Decimal whose value is the arcsine (inverse sine) in radians of the value of this + * Decimal. + * + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + asin(): Decimal; + + /** + * Return a new Decimal whose value is the arctangent (inverse tangent) in radians of the value of this Decimal. + * + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + atan(): Decimal; + + /** + * Return a new Decimal whose value is the inverse of the hyperbolic cosine in radians of the + * value of this Decimal. + * + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + acosh(): Decimal; + + /** + * Return a new Decimal whose value is the inverse of the hyperbolic sine in radians of the value + * of this Decimal. + * + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + asinh(): Decimal; + + /** + * Return a new Decimal whose value is the inverse of the hyperbolic tangent in radians of the + * value of this Decimal. + * + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + atanh(): Decimal; + + /** + * Return + * 1 if the value of this Decimal is greater than the value of `n`, + * -1 if the value of this Decimal is less than the value of `n`, + * 0 if they have the same value, + * NaN if the value of either Decimal is NaN. + * + * @param { Value } n {number | string | Decimal} + * @returns { number } the number type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + comparedTo(n: Value): number; + + /** + * Return true if the value of this Decimal is equal to the value of `n`, otherwise return false. + * + * @param { Value } n {number | string | Decimal} + * @returns { boolean } the boolean type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + equals(n: Value): boolean; + + /** + * Return true if the value of this Decimal is greater than the value of `n`, otherwise return false. + * + * @param { Value } n {number | string | Decimal} + * @returns { boolean } the boolean type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + greaterThan(n: Value): boolean; + + /** + * Return true if the value of this Decimal is greater than or equal to the value of `n`, + * otherwise return false. + * + * @param { Value } n {number | string | Decimal} + * @returns { boolean } the boolean type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + greaterThanOrEqualTo(n: Value): boolean; + + /** + * Return true if the value of this Decimal is less than `n`, otherwise return false. + * + * @param { Value } n {number | string | Decimal} + * @returns { boolean } the boolean type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + lessThan(n: Value): boolean; + + /** + * Return true if the value of this Decimal is less than or equal to `n`, otherwise return false. + * + * @param { Value } n {number | string | Decimal} + * @returns { boolean } the boolean type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + lessThanOrEqualTo(n: Value): boolean; + + /** + * Return true if the value of this Decimal is a finite number, otherwise return false. + * + * @returns { boolean } the boolean type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + isFinite(): boolean; + + /** + * Return true if the value of this Decimal is an integer, otherwise return false. + * + * @returns { boolean } the boolean type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + isInteger(): boolean; + + /** + * Return true if the value of this Decimal is NaN, otherwise return false. + * + * @returns { boolean } the boolean type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + isNaN(): boolean; + + /** + * Return true if the value of this Decimal is negative, otherwise return false. + * + * @returns { boolean } the boolean type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + isNegative(): boolean; + + /** + * Return true if the value of this Decimal is positive, otherwise return false. + * + * @returns { boolean } the boolean type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + isPositive(): boolean; + + /** + * Return true if the value of this Decimal is 0 or -0, otherwise return false. + * + * @returns { boolean } the boolean type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + isZero(): boolean; + + /** + * Return a new Decimal whose value is the integer part of dividing the value of this Decimal + * by the value of `n`, rounded to `precision` significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + dividedToIntegerBy(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by -1. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + negate(): Decimal; + + /** + * Return a string representing the value of this Decimal in base 2. + * + * @returns { string } the string type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toBinary(): string; + + /** + * Return a string representing the value of this Decimal in base 2, round to `significantDigits` + * significant digits. + * + * @param { number } significantDigits Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `significantDigits` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toBinary(significantDigits: number): string; + + /** + * Return a string representing the value of this Decimal in base 2, round to `significantDigits` + * significant digits using rounding mode `rounding`. + * + * @param { number } significantDigits Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @param { Rounding } rounding Rounding mode. Integer, 0 to 8 inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `significantDigits | rounding` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toBinary(significantDigits: number, rounding: Rounding): string; + + /** + * Return a string representing the value of this Decimal in base 8. + * + * @returns { string } the string type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toOctal(): string; + + /** + * Return a string representing the value of this Decimal in base 8, round to `significantDigits` significant. + * + * @param { number } significantDigits {number | string | Decimal} + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `significantDigits` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toOctal(significantDigits: number): string; + + /** + * Return a string representing the value of this Decimal in base 8, round to `significantDigits` significant + * digits using rounding mode `rounding`. + * + * @param { number } significantDigits {number | string | Decimal} + * @param { Rounding } rounding Rounding mode. Integer, 0 to 8 inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `significantDigits | rounding` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toOctal(significantDigits: number, rounding: Rounding): string; + + /** + * Return a string representing the value of this Decimal in base 16 + * + * @returns { string } the string type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toHexadecimal(): string; + + /** + * Return a string representing the value of this Decimal in base 16, round to `significantDigits` significant. + * + * @param { number } significantDigits Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `significantDigits` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toHexadecimal(significantDigits: number): string; + + /** + * Return a string representing the value of this Decimal in base 16, round to `significantDigits` significant + * digits using rounding mode `rounding`. + * + * @param { number } significantDigits Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @param { Rounding } rounding Rounding mode. Integer, 0 to 8 inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `significantDigits | rounding` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toHexadecimal(significantDigits: number, rounding: Rounding): string; + + /** + * Return a new Decimal whose value is the value of this Decimal. + * + * @overload { toDecimalPlacesWithNoArg, toDecimalPlacesWithDecimalPlaces, toDecimalPlacesWithDecimalPlacesRounding } + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + overload toDecimalPlaces { toDecimalPlacesWithNoArg, toDecimalPlacesWithDecimalPlaces, toDecimalPlacesWithDecimalPlacesRounding }; + + /** + * Return a new Decimal whose value is the value of this Decimal. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toDecimalPlacesWithNoArg(): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `decimalPlaces` + * decimal places. + * + * @param { number } decimalPlaces Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200001 - The value of `decimalPlaces` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toDecimalPlacesWithDecimalPlaces(decimalPlaces: number): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `decimalPlaces` + * decimal places using rounding mode `rounding`. + * + * @param { number } decimalPlaces Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @param { Rounding } rounding Rounding mode. Integer, 0 to 8 inclusive. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200001 - The value of `decimalPlaces | rounding` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toDecimalPlacesWithDecimalPlacesRounding(decimalPlaces: number, rounding: Rounding): Decimal; + + /** + * Return a string representing the value of this Decimal in exponential notation. + * + * @returns { string } the string type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toExponential(): string; + + /** + * Return a string representing the value of this Decimal in exponential notation rounded to + * `decimalPlaces` fixed decimal places. + * + * @param { number } decimalPlaces Decimal places. Integer, 0 to MAX_DIGITS inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `decimalPlaces` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toExponential(decimalPlaces: number): string; + + /** + * Return a string representing the value of this Decimal in exponential notation rounded to + * `decimalPlaces` fixed decimal places using rounding mode `rounding`. + * + * @param { number } decimalPlaces Decimal places. Integer, 0 to MAX_DIGITS inclusive. + * @param { Rounding } rounding Rounding mode. Integer, 0 to 8 inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `decimalPlaces | rounding` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toExponential(decimalPlaces: number, rounding: Rounding): string; + + /** + * Return a string representing the value of this Decimal in normal (fixed-point). + * + * @returns { string } the string type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toFixed(): string; + + /** + * Return a string representing the value of this Decimal in normal (fixed-point) notation to + * `decimalPlaces` fixed decimal places. + * + * @param { number } decimalPlaces Decimal places. Integer, 0 to MAX_DIGITS inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `decimalPlaces` is out of range. + * @crossplatform + * @atomicservice + * @since 20 + */ + toFixed(decimalPlaces: number): string; + + /** + * Return a string representing the value of this Decimal in normal (fixed-point) notation to + * `decimalPlaces` fixed decimal places and rounded using rounding mode `rounding`. + * + * @param { number } decimalPlaces Decimal places. Integer, 0 to MAX_DIGITS inclusive. + * @param { Rounding } rounding Rounding mode. Integer, 0 to 8 inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `decimalPlaces | rounding` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toFixed(decimalPlaces: number, rounding: Rounding): string; + + /** + * Return an array representing the value of this Decimal as a simple fraction with an integer + * numerator and an integer denominator. + * + * @returns { Decimal[] } the Decimal[] type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toFraction(): Decimal[]; + + /** + * Return an array representing the value of this Decimal as a simple fraction with an integer + * numerator and an integer denominator. The denominator will be a positive non-zero value + * less than or equal to `max_denominator`. + * + * @param { Value } maxDenominator {number | string | Decimal} + * @returns { Decimal[] } the Decimal[] type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toFraction(maxDenominator: Value): Decimal[]; + + /** + * Returns a new Decimal whose value is the nearest multiple of `n`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toNearest(n: Value): Decimal; + + /** + * Returns a new Decimal whose value is the nearest multiple of `n` in the direction of rounding + * mode `rounding`, to the value of this Decimal. + * + * @param { Value } n {number | string | Decimal} + * @param { Rounding } rounding Rounding mode. Integer, 0 to 8 inclusive. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200001 - The value of `rounding` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toNearest(n: Value, rounding: Rounding): Decimal; + + /** + * Return a string representing the value of this Decimal. + * + * @returns { string } the string type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toPrecision(): string; + + /** + * Return a string representing the value of this Decimal rounded to `significantDigits` significant digits. + * + * @param { number } significantDigits Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `significantDigits` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toPrecision(significantDigits: number): string; + + /** + * Return a string representing the value of this Decimal rounded to `significantDigits` significant digits + * using rounding mode `rounding`. + * + * @param { number } significantDigits Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @param { Rounding } rounding Rounding mode. Integer, 0 to 8 inclusive. + * @returns { string } the string type + * @throws { BusinessError } 10200001 - The value of `significantDigits | rounding` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toPrecision(significantDigits: number, rounding: Rounding): string; + + /** + * Return a new Decimal whose value is the value of this Decimal. + * + * @returns { Decimal } the Decimal type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toSignificantDigits(): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `significantDigits` + * significant digits. + * + * @param { number } significantDigits Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200001 - The value of `significantDigits` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toSignificantDigits(significantDigits: number): Decimal; + + /** + * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `significantDigits` + * significant digits using rounding mode `rounding`. + * + * @param { number } significantDigits Significant digits. Integer, 1 to MAX_DIGITS inclusive. + * @param { Rounding } rounding Rounding mode. Integer, 0 to 8 inclusive. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200001 - The value of `significantDigits | rounding` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toSignificantDigits(significantDigits: number, rounding: Rounding): Decimal; + + /** + * Return the value of this Decimal converted to a number primitive. Zero keeps its sign. + * + * @returns { number } the number type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toNumber(): number; + + /** + * Return a string representing the value of this Decimal. + * Return exponential notation if this Decimal has a positive exponent equal to or greater than + * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`. + * + * @returns { string } the string type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + toString(): string; + + /** + * Return a string representing the value of this Decimal. + * Unlike `toString`, negative zero will include the minus sign. + * + * @returns { string } the string type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + valueOf(): string; + + /** + * Return the number of decimal places of the value of this Decimal. + * + * @returns { number } the number type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + decimalPlaces(): number; + + /** + * Return the number of significant digits of the value of this Decimal. + * + * @returns { number } the number type + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + precision(): number; + + /** + * Return the number of significant digits of the value of this Decimal, whether to count + * integer-part trailing zeros. + * + * @param { boolean | number } includeZeros Whether to count integer-part trailing zeros: true, false, + * 1 or 0. + * @returns { number } the number type + * @throws { BusinessError } 10200001 - The value of `includeZeros` is out of range. + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + precision(includeZeros: boolean | number): number; + + /** + * Return a new Decimal whose value is the absolute value of `n`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static abs(n: Value): Decimal; + + /** + * Return a new Decimal whose value is `n` round to an integer using `ROUND_FLOOR`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static floor(n: Value): Decimal; + + /** + * Return a new Decimal whose value is `n` rounded to an integer using `ROUND_CEIL`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static ceil(n: Value): Decimal; + + /** + * Return a new Decimal whose value is `n` truncated to an integer. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static trunc(n: Value): Decimal; + + /** + * Return a new Decimal whose value is `n` clamped to the range delineated by `min` and `max`. + * + * @param { Value } n {number | string | Decimal} + * @param { Value } min {number | string | Decimal} + * @param { Value } max {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200001 - The value of `min` is out of range. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static clamp(n: Value, min: Value, max: Value): Decimal; + + /** + * Return a new Decimal whose value is the sum of `x` and `y`, rounded to `precision` significant + * digits using rounding mode `rounding`. + * + * @param { Value } x {number | string | Decimal} + * @param { Value } y {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static add(x: Value, y: Value): Decimal; + + /** + * Return a new Decimal whose value is the sum of the arguments, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * Only the result is rounded, not the intermediate calculations. + * + * @param { Value[] } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static sum(...n: Value[]): Decimal; + + /** + * Return a new Decimal whose value is `x` minus `y`, rounded to `precision` significant digits + * using rounding mode `rounding`. + * + * @param { Value } x {number | string | Decimal} + * @param { Value } y {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static sub(x: Value, y: Value): Decimal; + + /** + * Return a new Decimal whose value is `x` multiplied by `y`, rounded to `precision` significant + * digits using rounding mode `rounding`. + * + * @param { Value } x {number | string | Decimal} + * @param { Value } y {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static mul(x: Value, y: Value): Decimal; + + /** + * Return a new Decimal whose value is `x` divided by `y`, rounded to `precision` significant + * digits using rounding mode `rounding`. + * + * @param { Value } x {number | string | Decimal} + * @param { Value } y {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static div(x: Value, y: Value): Decimal; + + /** + * Return a new Decimal whose value is `x` modulo `y`, rounded to `precision` significant digits + * using rounding mode `rounding`. + * + * @param { Value } x {number | string | Decimal} + * @param { Value } y {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static mod(x: Value, y: Value): Decimal; + + /** + * Return a new Decimal whose value is the square root of `n`, rounded to `precision` significant + * digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static sqrt(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the cube root of `n`, rounded to `precision` significant + * digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static cbrt(n: Value): Decimal; + + /** + * Return a new Decimal whose value is `base` raised to the power `exponent`, rounded to precision + * significant digits using rounding mode `rounding`. + * + * @param { Value } base {number | string | Decimal} The base. + * @param { Value } exponent {number | string | Decimal} The exponent. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static pow(base: Value, exponent: Value): Decimal; + + /** + * Return a new Decimal whose value is the natural exponential of `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static exp(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the log of `n` to the base `base`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @param { Value } base {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static log(n: Value, base: Value): Decimal; + + /** + * Return a new Decimal whose value is the natural logarithm of `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static ln(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the base 2 logarithm of `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static log2(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the base 10 logarithm of `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static log10(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the cosine of `n`, rounded to `precision` significant + * digits using rounding mode `rounding` + * + * @param { Value } n {number | string | Decimal} A value in radians. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static cos(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the sine of `n`, rounded to `precision` significant digits + * using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} A value in radians. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static sin(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the tangent of `n`, rounded to `precision` significant + * digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} A value in radians. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static tan(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the hyperbolic cosine of `n`, rounded to precision + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} A value in radians. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static cosh(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the hyperbolic sine of `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static sinh(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the hyperbolic tangent of `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} A value in radians. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static tanh(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the arccosine in radians of `n`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static acos(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the arcsine in radians of `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static asin(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the arctangent in radians of `n`, rounded to `precision` + * significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static atan(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the inverse of the hyperbolic cosine of `n`, rounded to + * `precision` significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static acosh(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the inverse of the hyperbolic sine of `n`, rounded to + * `precision` significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} A value in radians. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static asinh(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the inverse of the hyperbolic tangent of `n`, rounded to + * `precision` significant digits using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} A value in radians. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static atanh(n: Value): Decimal; + + /** + * Return a new Decimal whose value is the arctangent in radians of `y/x` in the range -pi to pi + * (inclusive), rounded to `precision` significant digits using rounding mode `rounding`. + * + * @param { Value } y {number | string | Decimal} The y-coordinate. + * @param { Value } x {number | string | Decimal} The x-coordinate. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200060 - Precision limit exceeded. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static atan2(y: Value, x: Value): Decimal; + + /** + * Return a new Decimal whose value is the square root of the sum of the squares of the arguments, + * rounded to `precision` significant digits using rounding mode `rounding`. + * + * @param { Value[] } n {number | string | Decimal} Decimal + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static hypot(...n: Value[]): Decimal; + + /** + * Return a new Decimal whose value is the maximum of the arguments. + * + * @param { Value[] } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static max(...n: Value[]): Decimal; + + /** + * Return a new Decimal whose value is the minimum of the arguments. + * + * @param { Value[] } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static min(...n: Value[]): Decimal; + + /** + * Returns a new Decimal with a random value equal to or greater than 0 and less than 1. + * + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 10200061 - Crypto unavailable + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static random(): Decimal; + + /** + * Returns a new Decimal with a random value equal to or greater than 0 and less than 1, and with + * `significantDigits` significant digits (or less if trailing zeros are produced). + * + * @param { Value } significantDigits {number} Significant digits. Integer, 0 to MAX_DIGITS inclusive. + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200061 - Crypto unavailable + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static random(significantDigits: number): Decimal; + + /** + * Return the sign of the passed value to the method. + * 1 if x > 0, + * -1 if x < 0, + * 0 if x is 0, + * -0 if x is -0, + * NaN otherwise + * + * @param { Value } n {number | string | Decimal} + * @returns { number } the number type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static sign(n: Value): number; + + /** + * Return a new Decimal whose value is `n` rounded to an integer using rounding mode `rounding`. + * + * @param { Value } n {number | string | Decimal} + * @returns { Decimal } the Decimal type + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static round(n: Value): Decimal; + + /** + * Configures the 'global' settings for this particular Decimal constructor. + * + * @param { DecimalConfig } An object with one or more of the following properties, + * precision {number} + * rounding {number} + * toExpNeg {number} + * toExpPos {number} + * maxE {number} + * minE {number} + * modulo {number} + * crypto {boolean|number} + * defaults {true} + * @returns { void } + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1. Incorrect parameter types; + * 2. Parameter verification failed. + * @throws { BusinessError } 10200001 - The value of `DecimalConfig.properties` is out of range. + * @throws { BusinessError } 10200061 - Crypto unavailable + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + */ + static set(config: DecimalConfig): void; + + /** + * Rounds away from zero + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly ROUND_UP: number; + + /** + * Rounds towards zero + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly ROUND_DOWN: number; + + /** + * Rounds towards Infinity + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly ROUND_CEILING: number; + + /** + * Rounds towards -Infinity + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly ROUND_FLOOR: number; + + /** + * Rounds towards nearest neighbour. If equidistant, rounds away from zero + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly ROUND_HALF_UP: number; + + /** + * Rounds towards nearest neighbour. If equidistant, rounds towards zero + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly ROUND_HALF_DOWN: number; + + /** + * Rounds towards nearest neighbour. If equidistant, rounds towards even neighbour + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly ROUND_HALF_EVEN: number; + + /** + * Rounds towards nearest neighbour. If equidistant, rounds towards Infinity + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly ROUND_HALF_CEILING: number; + + /** + * Rounds towards nearest neighbour. If equidistant, rounds towards -Infinity + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly ROUND_HALF_FLOOR: number; + + /** + * Not a rounding mode, see modulo + * + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @atomicservice + * @since 12 + */ + /** + * Not a rounding mode, see modulo + * + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 18 + */ + static readonly EUCLIDEAN : 9; + + /** + * Not a rounding mode, see modulo + * + * @type { number } + * @readonly + * @static + * @syscap SystemCapability.Utils.Lang + * @crossplatform + * @atomicservice + * @since 20 + * @arkts 1.2 + */ + static readonly EUCLIDEAN: number; +} +export default Decimal; \ No newline at end of file -- Gitee