Skip to content

Commit

Permalink
Merge branch 'release/1.3.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
jansiegel committed Jan 11, 2022
2 parents b989cfd + ace15a5 commit fd0a405
Show file tree
Hide file tree
Showing 339 changed files with 12,815 additions and 25,659 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.3.1] - 2022-01-11

### Fixed
- Fixed an issue where warnings about deprecated configuration options were getting duplicated. (#882)

## [1.3.0] - 2021-10-20

### Added
Expand Down
1 change: 0 additions & 1 deletion docs/api-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ An example set of options:
```javascript
const options = {
licenseKey: 'gpl-v3',
precisionRounding: 10,
nullDate: { year: 1900, month: 1, day: 1 },
functionArgSeparator: '.'
};
Expand Down
1 change: 0 additions & 1 deletion docs/guide/basic-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ this:

```javascript
const options = {
precisionRounding: 4,
licenseKey: 'gpl-v3'
};
```
Expand Down
13 changes: 6 additions & 7 deletions docs/guide/built-in-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,14 +142,14 @@ Total number of functions: **{{ $page.functionsCount }}**
| IMPOWER | Returns a complex number raised to a given power. | IMPOWER(Complex; Number) |
| IMPRODUCT | Multiplies complex numbers. | IMPRODUCT(Complex1 ...Complex30) |
| IMREAL | Returns real part of a complex number. | IMREAL(Complex) |
| IMSEC | Returns secans of a complex number. | IMSEC(Complex) |
| IMSECH | Returns hyperbolic secans of a complex number. | IMSECH(Complex) |
| IMSEC | Returns the secant of a complex number. | IMSEC(Complex) |
| IMSECH | Returns the hyperbolic secant of a complex number. | IMSECH(Complex) |
| IMSIN | Returns sine of a complex number. | IMSIN(Complex) |
| IMSINH | Returns hyperbolic sine of a complex number. | IMSINH(Complex) |
| IMSQRT | Returns a square root of a complex number. | IMSQRT(Complex) |
| IMSUB | Subtracts two complex numbers. | IMSUB(Complex1; Complex2) |
| IMSUM | Adds complex numbers. | IMSUM(Complex1 ...Complex30) |
| IMTAN | Returns tangens of a complex number. | IMTAN(Complex) |
| IMTAN | Returns the tangent of a complex number. | IMTAN(Complex) |
| OCT2BIN | The result is the binary number for the octal number entered. | OCT2BIN(Number; Places) |
| OCT2DEC | The result is the decimal number for the octal number entered. | OCT2DEC(Number) |
| OCT2HEX | The result is the hexadecimal number for the octal number entered. | OCT2HEX(Number; Places) |
Expand Down Expand Up @@ -265,7 +265,7 @@ Total number of functions: **{{ $page.functionsCount }}**
| COTH | Returns the hyperbolic cotangent of the given value. | COTH(Number) |
| COUNTUNIQUE | Counts the number of unique values in a list of specified values and ranges. | COUNTUNIQUE(Value1, [Value2, ...]) |
| CSC | Returns the cosecans of the given angle (in radians). | CSC(Number) |
| CSCH | Returns the hyperbolic cosecans of the given value. | CSCH(Number) |
| CSCH | Returns the hyperbolic cosecant of the given value. | CSCH(Number) |
| DECIMAL | Converts text with characters from a number system to a positive integer in the base radix given. | DECIMAL("Text"; Radix) |
| DEGREES | Converts radians into degrees. | DEGREES(Number) |
| EVEN | Rounds a positive number up to the next even integer and a negative number down to the next even integer. | EVEN(Number) |
Expand All @@ -289,7 +289,6 @@ Total number of functions: **{{ $page.functionsCount }}**
| PI | Returns 3.14159265358979, the value of the mathematical constant PI to 14 decimal places. | PI() |
| POWER | Returns a number raised to another number. | POWER(Base; Exponent) |
| PRODUCT | Returns product of numbers. | PRODUCT(Number1; Number2; ...; Number30) |
| PRODUCT | Returns product of numbers. | PRODUCT(Number1; Number2; ...; Number30) |
| QUOTIENT | Returns integer part of a division. | QUOTIENT(Dividend; Divisor) |
| RADIANS | Converts degrees to radians. | RADIANS(Number) |
| RAND | Returns a random number between 0 and 1. | RAND() |
Expand All @@ -298,8 +297,8 @@ Total number of functions: **{{ $page.functionsCount }}**
| ROUND | Rounds a number to a certain number of decimal places. | ROUND(Number; Count) |
| ROUNDDOWN | Rounds a number down, toward zero, to a certain precision. | ROUNDDOWN(Number; Count) |
| ROUNDUP | Rounds a number up, away from zero, to a certain precision. | ROUNDUP(Number; Count) |
| SEC | Returns the secans of the given angle (in radians). | SEC(Number) |
| SECH | Returns the hyperbolic secans of the given value. | SEC(Number) |
| SEC | Returns the secant of the given angle (in radians). | SEC(Number) |
| SECH | Returns the hyperbolic secant of the given angle (in radians). | SEC(Number) |
| SERIESSUM | Evaluates series at a point. | SERIESSUM(Number; Number; Number; Coefficients)
| SIN | Returns the sine of the given angle (in radians). | SIN(Number) |
| SINH | Returns the hyperbolic sine of the given value. | SINH(Number) |
Expand Down
3 changes: 2 additions & 1 deletion docs/guide/custom-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,8 @@ export class CountHF extends FunctionPlugin {

// wrap your custom function in `runFunction()`
public hyper(ast, state) {
return this.runFunction(() => 'Hyperformula'.length)
return this.runFunction(ast, state, this.metadata('HYPER'),
() => 'Hyperformula'.length)
}
}
```
Expand Down
26 changes: 21 additions & 5 deletions docs/guide/enabling-gpu-acceleration.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,24 @@
# Enabling GPU acceleration.
# Enabling GPU acceleration

You can speed up HyperFormula's [matrix functions](built-in-functions.md#matrix-functions) with GPU acceleration.

## About GPU acceleration

You can speed up HyperFormula's [matrix functions](built-in-functions.md#matrix-functions) ([MMULT](built-in-functions.md#matrix-functions), [MAXPOOL](built-in-functions.md#matrix-functions), [MEDIANPOOL](built-in-functions.md#matrix-functions), and [TRANSPOSE](built-in-functions.md#matrix-functions)) with GPU acceleration.

With GPU acceleration (thanks to cores running thousands of threads
at once) the matrix functions calculate input data sets up to 9x faster than
when using the CPU. From our observation, the bigger the data set,
the bigger the performance gain.

**For small data sets, the difference between the CPU and GPU is
non-significant.**

## Enabling GPU acceleration

To enable GPU acceleration, follow the steps below.

## Step 1: Install GPU.js
### Step 1: Install GPU.js

As GPU.js was removed from optional dependencies in [HyperFormula 1.2.0](../guide/release-notes.md#_1-2-0), you need to install GPU.js on your own.

Expand All @@ -12,15 +28,15 @@ HyperFormula supports GPU.js 2.3.0.
// install GPU.js 2.3.0
npm install gpu.js@2.3.0
```
## Step 2: Import GPU
### Step 2: Import GPU

When configuring your HyperFormula instance, import the GPU module:
```js
// import the GPU module
import GPU from 'gpu.js'
```

## Step 3: Pass the GPU.js constructor
### Step 3: Pass the GPU.js constructor

Now, pass the GPU.js constructor to the [HyperFormula configuration](./configuration-options.md).

Expand All @@ -34,7 +50,7 @@ const options = {
gpujs: GPU.GPU ?? GPU,
};
```
## Step 4: Enable the `gpuMode` option
### Step 4: Enable the `gpuMode` option
Now, set the [`gpuMode` option](../api/interfaces/configparams.md#gpumode) to `'gpu'`:
```js
Expand Down
9 changes: 5 additions & 4 deletions docs/guide/performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,11 @@ performance.

## GPU acceleration

Some formulas, e.g. MMULT, MAXPOOL, MEDIANPOOL, or TRANSPOSE, benefit from
GPU acceleration. Thanks to the cores running thousands of threads
at once, they calculate the input data sets up to 9x faster than
when using the CPU. According to our observations the bigger the data set is,
You can speed up HyperFormula's [matrix functions](built-in-functions.md#matrix-functions) ([MMULT](built-in-functions.md#matrix-functions), [MAXPOOL](built-in-functions.md#matrix-functions), [MEDIANPOOL](built-in-functions.md#matrix-functions), and [TRANSPOSE](built-in-functions.md#matrix-functions)) with GPU acceleration.

With GPU acceleration (thanks to cores running thousands of threads
at once) the matrix functions calculate input data sets up to 9x faster than
when using the CPU. From our observation, the bigger the data set,
the bigger the performance gain.

**For small data sets, the difference between the CPU and GPU is
Expand Down
6 changes: 6 additions & 0 deletions docs/guide/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ This page lists HyperFormula release notes. The format is based on [Keep a Chang

HyperFormula adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 1.3.1
**Release date: January 11, 2022**

### Fixed
- Fixed an issue where warnings about deprecated configuration options were getting duplicated. [#882](https://github.com/handsontable/hyperformula/pull/882)

## 1.3.0
**Release date: October 20, 2021**

Expand Down
2 changes: 1 addition & 1 deletion ht.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ module.exports = {
HT_VERSION: packageBody.version,
HT_PACKAGE_NAME: packageBody.name,
HT_BUILD_DATE: moment().format('DD/MM/YYYY HH:mm:ss'),
HT_RELEASE_DATE: '20/10/2021',
HT_RELEASE_DATE: '11/01/2022',
};
Loading

0 comments on commit fd0a405

Please sign in to comment.