-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #127 from mipt-npm/dev
Dev
- Loading branch information
Showing
149 changed files
with
5,332 additions
and
1,460 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# KMath | ||
|
||
## [Unreleased] | ||
|
||
### Added | ||
- Functional Expressions API | ||
- Mathematical Syntax Tree, its interpreter and API | ||
- String to MST parser (https://github.com/mipt-npm/kmath/pull/120) | ||
- MST to JVM bytecode translator (https://github.com/mipt-npm/kmath/pull/94) | ||
- FloatBuffer (specialized MutableBuffer over FloatArray) | ||
- FlaggedBuffer to associate primitive numbers buffer with flags (to mark values infinite or missing, etc.) | ||
- Specialized builder functions for all primitive buffers like `IntBuffer(25) { it + 1 }` (https://github.com/mipt-npm/kmath/pull/125) | ||
- Interface `NumericAlgebra` where `number` operation is available to convert numbers to algebraic elements | ||
- Inverse trigonometric functions support in ExtendedField (`asin`, `acos`, `atan`) (https://github.com/mipt-npm/kmath/pull/114) | ||
- New space extensions: `average` and `averageWith` | ||
- Local coding conventions | ||
- Geometric Domains API in `kmath-core` | ||
- Blocking chains in `kmath-coroutines` | ||
|
||
### Changed | ||
- BigInteger and BigDecimal algebra: JBigDecimalField has companion object with default math context; minor optimizations | ||
- `power(T, Int)` extension function has preconditions and supports `Field<T>` | ||
- Memory objects have more preconditions (overflow checking) | ||
- `tg` function is renamed to `tan` (https://github.com/mipt-npm/kmath/pull/114) | ||
- Gradle version: 6.3 -> 6.5.1 | ||
- Moved probability distributions to commons-rng and to `kmath-prob`. | ||
|
||
### Fixed | ||
- Missing copy method in Memory implementation on JS (https://github.com/mipt-npm/kmath/pull/106) | ||
- D3.dim value in `kmath-dimensions` | ||
- Multiplication in integer rings in `kmath-core` (https://github.com/mipt-npm/kmath/pull/101) | ||
- Commons RNG compatibility (https://github.com/mipt-npm/kmath/issues/93) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Coding Conventions | ||
|
||
KMath code follows general [Kotlin conventions](https://kotlinlang.org/docs/reference/coding-conventions.html), but | ||
with a number of small changes and clarifications. | ||
|
||
## Utility Class Naming | ||
|
||
Filename should coincide with a name of one of the classes contained in the file or start with small letter and | ||
describe its contents. | ||
|
||
The code convention [here](https://kotlinlang.org/docs/reference/coding-conventions.html#source-file-names) says that | ||
file names should start with a capital letter even if file does not contain classes. Yet starting utility classes and | ||
aggregators with a small letter seems to be a good way to visually separate those files. | ||
|
||
This convention could be changed in future in a non-breaking way. | ||
|
||
## Private Variable Naming | ||
|
||
Private variables' names may start with underscore `_` for of the private mutable variable is shadowed by the public | ||
read-only value with the same meaning. | ||
|
||
This rule does not permit underscores in names, but it is sometimes useful to "underscore" the fact that public and | ||
private versions draw up the same entity. It is allowed only for private variables. | ||
|
||
This convention could be changed in future in a non-breaking way. | ||
|
||
## Functions and Properties One-liners | ||
|
||
Use one-liners when they occupy single code window line both for functions and properties with getters like | ||
`val b: String get() = "fff"`. The same should be performed with multiline expressions when they could be | ||
cleanly separated. | ||
|
||
There is no universal consensus whenever use `fun a() = ...` or `fun a() { return ... }`. Yet from reader outlook | ||
one-lines seem to better show that the property or function is easily calculated. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Nd-structure generation and operations | ||
# ND-structure generation and operations | ||
|
||
**TODO** | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.