Commit Graph

284 Commits

Author SHA1 Message Date
a91d468b74 Refactor Algebra and ExpressionAlgebra. Introduce bindSymbolOrNull on the top level 2021-04-01 21:27:30 +03:00
af4866e876 Refactor MST 2021-04-01 20:15:49 +03:00
Iaroslav Postovalov
9ee506b1d2
Some experiments with MST rendering 2021-03-31 16:12:07 +07:00
e216fd50f5 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	build.gradle.kts
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/misc/XYPointSet.kt
#	kmath-ejml/src/main/kotlin/space/kscience/kmath/ejml/EjmlLinearSpace.kt
2021-03-24 13:33:08 +03:00
Iaroslav Postovalov
1b01654667
Improve Dokka configuration 2021-03-22 20:41:18 +07:00
aeceb4a337 Move dataset to core 2021-03-19 14:53:14 +03:00
Iaroslav Postovalov
6375cb5fd8
Some adjustments to the EJML module 2021-03-17 23:11:26 +07:00
248d42c4e0 Remove MutableBufferND 2021-03-16 22:46:22 +03:00
206e4cbcf6 Real -> Double 2021-03-16 21:17:26 +03:00
05f742452d Structure naming change 2021-03-16 20:56:20 +03:00
acfdd187a4 Bump readme 2021-03-15 20:17:04 +03:00
179a07e034 Bump readme 2021-03-15 19:41:37 +03:00
0aa73cd48f Vector space refactor (optimization) 2021-03-14 09:43:22 +03:00
803f298d8b Make vector spaces great again 2021-03-11 11:28:10 +03:00
fd51564628 Return field get access in algebras 2021-03-11 10:18:59 +03:00
522f39cef3 replace Space by Group 2021-03-10 22:09:19 +03:00
8ae8ebe871 Fully refactor algebra split ScaleOperations from Space. 2021-03-08 21:03:48 +03:00
Iaroslav Postovalov
9f663ae7f7
Update dependencies 2021-02-26 21:50:06 +07:00
dd5ef4810f Gradle plugin 0.8.0 2021-02-21 16:13:40 +03:00
209e17cd42 Merge histograms 2021-02-19 10:52:56 +03:00
c6ea423bd6 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	CHANGELOG.md
#	kmath-core/api/kmath-core.api
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/domains/HyperSquareDomain.kt
#	kmath-histograms/src/commonMain/kotlin/space/kscience/kmath/histogram/RealHistogram.kt
#	kmath-histograms/src/commonTest/kotlin/scietifik/kmath/histogram/MultivariateHistogramTest.kt
#	kmath-histograms/src/jsMain/kotlin/space/kscience/kmath/histogram/Counters.kt
#	kmath-histograms/src/jvmMain/kotlin/space/kscience/kmath/histogram/Counters.kt
#	kmath-histograms/src/jvmMain/kotlin/space/kscience/kmath/histogram/UnivariateHistogram.kt
#	kmath-histograms/src/jvmMain/kotlin/space/kscience/kmath/histogram/UnivariateHistogramSpace.kt
2021-02-19 09:46:25 +03:00
8485d28872 Change package name to space.kscience 2021-02-18 11:17:28 +03:00
987997cc02 Histograms refactor 2021-02-12 22:43:35 +03:00
Iaroslav Postovalov
0e42cc9f5c
Update README 2021-02-11 23:35:45 +07:00
Iaroslav Postovalov
f054a4c039
Fix JVM signature of generated invoke method 2021-02-11 23:34:48 +07:00
Iaroslav Postovalov
d728c35d72
Minor: regenerate README files 2021-01-31 14:50:48 +07:00
Iaroslav Postovalov
46650a414e
Merge branch 'dev' into feature/quaternion
# Conflicts:
#	CHANGELOG.md
#	README.md
#	kmath-core/README.md
2021-01-31 14:46:11 +07:00
Iaroslav Postovalov
cd439ce2ed
Minor: regenerate README files 2021-01-31 14:40:03 +07:00
85927c9f6b Documentation update. 2021-01-30 20:12:14 +03:00
Iaroslav Postovalov
9748e0bfbe
Merge branch 'dev' into feature/quaternion
# Conflicts:
#	CHANGELOG.md
#	examples/src/main/kotlin/kscience/kmath/stat/DistributionBenchmark.kt
#	kmath-complex/src/commonMain/kotlin/kscience/kmath/complex/ComplexNDField.kt
#	kmath-core/src/commonMain/kotlin/kscience/kmath/operations/Complex.kt
#	kmath-core/src/commonTest/kotlin/kscience/kmath/structures/NDFieldTest.kt
2021-01-20 01:10:31 +07:00
ab32cd9561 Numeric operations are decoupled from Ring 2021-01-19 17:16:43 +03:00
Iaroslav Postovalov
2012d2c3f1
Fix #172, add constant folding for unary operations from numeric nodes 2021-01-07 22:42:37 +07:00
Iaroslav Postovalov
acf9dd2b6a
Extract complex and quaternion systems to another module 2021-01-06 21:01:37 +07:00
Iaroslav Postovalov
28ddc7cd95
Minor: regenerate readme files 2021-01-05 20:16:42 +07:00
Iaroslav Postovalov
ea8dc63b1a
Update doc comments in parser.kt 2021-01-05 20:14:50 +07:00
Iaroslav Postovalov
2c7cb1b04f
Rename ...Operation functions returning function to ...OperationFunction 2021-01-05 19:56:42 +07:00
Iaroslav Postovalov
024800605f
Update ASM 2020-12-22 22:20:30 +07:00
Iaroslav Postovalov
1a5efd0a17
Improve ASM and ESTree tests quality 2020-12-22 18:17:24 +07:00
Iaroslav Postovalov
50b62f8a3b
Update readme 2020-12-22 18:02:02 +07:00
Iaroslav Postovalov
1b0f462e54
Reformat build.gradle.kts 2020-12-22 17:49:32 +07:00
Iaroslav Postovalov
d631c048c7
Fix minor problems, update README 2020-12-22 16:00:51 +07:00
Iaroslav Postovalov
c738fb1f2a
Make return types more specific in MstAlgebra.kt 2020-12-22 13:44:52 +07:00
Iaroslav Postovalov
2310aca9db
Improve consistency of operations in MstAlgebra 2020-12-22 13:42:12 +07:00
Iaroslav Postovalov
d521fa0d8d
Fix wrong function name 2020-12-22 13:15:01 +07:00
Iaroslav Postovalov
1ab6702bb4
Delete unused property 2020-12-22 13:11:44 +07:00
Iaroslav Postovalov
46ac73d2c1
Add undefined handling in constant insertion 2020-12-22 13:11:12 +07:00
Iaroslav Postovalov
d657f40e3f
Fix KDoc comments 2020-12-22 12:58:35 +07:00
Iaroslav Postovalov
cfc13cda8f
Rename files and JSBuilder 2020-12-22 12:57:50 +07:00
Iaroslav Postovalov
306eaecdb1
Remove invalid import 2020-12-20 21:55:20 +07:00
Iaroslav Postovalov
7002bdb5bd
Remove redundant suppression 2020-12-20 21:45:02 +07:00
Iaroslav Postovalov
12d6422065
Fix wrong package 2020-12-20 21:43:04 +07:00
Iaroslav Postovalov
4294bc1b97
Hide bindings from public API 2020-12-20 19:23:10 +07:00
Iaroslav Postovalov
d9932042e8
Delete TS bindings 2020-12-20 19:04:43 +07:00
Iaroslav Postovalov
9a875bc7db
Add missing newline 2020-12-20 19:04:09 +07:00
Iaroslav Postovalov
95701bec1b
Add informative NoSuchElementException message 2020-12-20 19:02:36 +07:00
Iaroslav Postovalov
3cd00b9df6
Inline internal functions with one usage 2020-12-20 18:55:59 +07:00
Iaroslav Postovalov
484b35cb4f
Fix failing tests 2020-12-20 18:34:35 +07:00
Iaroslav Postovalov
a655404486
Fix typo 2020-12-20 17:43:21 +07:00
Iaroslav Postovalov
32d77c0e7f
Implement ESTree based code generation for the MST 2020-12-20 17:42:57 +07:00
Iaroslav Postovalov
a5c00051c2
Merge branch 'feature/dynamic-ops-currying' into feature/estree-codegen 2020-12-20 00:58:17 +07:00
Iaroslav Postovalov
d66fb4be75
Delete empty file 2020-12-20 00:56:08 +07:00
Iaroslav Postovalov
bdd33ca6ca
Add dependencies needed for ESTree codegen 2020-12-20 00:49:48 +07:00
Iaroslav Postovalov
07d6d89192
Replace reflective constructor invocation with method handle 2020-12-09 14:43:37 +07:00
Iaroslav Postovalov
95c1504c00
Add cast microoptimization to AsmBuilder 2020-12-09 11:41:37 +07:00
Iaroslav Postovalov
cc45e3683b
Refactor ASM builder 2020-12-08 16:16:32 +07:00
Iaroslav Postovalov
f001389f4c
Merge branch 'dev' into feature/dynamic-ops-currying
# Conflicts:
#	kmath-core/src/commonMain/kotlin/kscience/kmath/linear/MatrixContext.kt
2020-12-08 15:12:52 +07:00
Iaroslav Postovalov
e62cf4fc65
Rewrite ASM codegen to use curried operators, fix bugs, update benchmarks 2020-12-08 14:42:42 +07:00
5368bb5d4a Readme update 2020-11-30 11:25:21 +03:00
Iaroslav Postovalov
e447a15304
Make MstAlgebra operations return specific types 2020-11-28 13:42:18 +07:00
Iaroslav Postovalov
3e7c9d8dce
Rework unary/binary operation API 2020-11-28 13:37:37 +07:00
Iaroslav Postovalov
29a670483b
Update KG and Maven repos, delete symbol delegate provider, implement working differentiable mst expression based on SFun shape to MST conversion 2020-10-30 01:09:11 +07:00
Iaroslav Postovalov
2b7803290f
Merge branch 'dev' into kotlingrad
# Conflicts:
#	settings.gradle.kts
2020-10-28 18:37:21 +07:00
04d3f4a99f Fix ASM 2020-10-22 09:28:18 +03:00
707ad21f77 New Expression API 2020-10-19 22:51:33 +03:00
Iaroslav Postovalov
fcfd79cb69
Merge remote-tracking branch 'origin/dev' into kotlingrad 2020-10-13 19:44:16 +07:00
Iaroslav Postovalov
245adab719
Merge remote-tracking branch 'origin/master' into dev
# Conflicts:
#	kmath-ast/build.gradle.kts
2020-10-13 17:34:48 +07:00
Iaroslav Postovalov
627e18f6ec
Hotfix of better-parse configuration (its classes are exposed as API but are not available to user) 2020-10-13 16:59:21 +07:00
Iaroslav Postovalov
06c3ce5aaf
Simplify extensions.kt 2020-10-12 23:42:13 +07:00
Iaroslav Postovalov
4bf430b2c0
Rename converter functions, add symbol delegate provider for MstAlgebra 2020-10-12 23:17:54 +07:00
Iaroslav Postovalov
57bdee4936
Add test, update MstAlgebra a bit to return concrete types 2020-10-12 22:34:05 +07:00
Iaroslav Postovalov
a12c645416
Move to kscience 2020-10-03 23:13:08 +07:00
Iaroslav Postovalov
a465ab64f0
Remove accidentally left main method 2020-10-01 01:21:34 +07:00
Iaroslav Postovalov
7d60fa142d
Remove kotlin-reflect dependency (-2MiB to library size), optimize type copying, optimize reflection usages, optimize lexer 2020-09-30 21:28:39 +07:00
Iaroslav Postovalov
8014b3df0b
Simplify asm.kt 2020-09-25 20:49:08 +07:00
28190f9800 scientifik -> kscience 2020-09-20 22:39:27 +03:00
da742d6c69 Fix things after merge 2020-09-20 22:25:50 +03:00
5032523bbf Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	build.gradle.kts
#	examples/src/main/kotlin/scientifik/kmath/linear/LinearAlgebraBenchmark.kt
#	kmath-ast/build.gradle.kts
#	kmath-ast/src/commonMain/kotlin/scientifik/kmath/ast/MstAlgebra.kt
#	kmath-commons/build.gradle.kts
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/misc/AutoDiff.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/operations/Complex.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/Buffers.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/FlaggedBuffer.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/IntBuffer.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/RealBuffer.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/ShortBuffer.kt
#	kmath-for-real/build.gradle.kts
#	kmath-functions/build.gradle.kts
#	kmath-memory/build.gradle.kts
#	kmath-prob/build.gradle.kts
2020-09-20 21:59:10 +03:00
Alexander Nozik
51b7d4e73e
Merge pull request #140 from mipt-npm/autodiff-update
Upgrade AutoDiff support of trigonometric ops, also fix some problems with MstAlgebra
2020-09-20 18:21:36 +03:00
Iaroslav
b89a05347c
Hotfix some problems with MstAlgebra.kt 2020-09-20 19:26:44 +07:00
Iaroslav
4cebca51ef
Add @author annotations, minor KDoc updates 2020-09-20 19:01:27 +07:00
Iaroslav
5eaeb82a0f
Make one-liners not one-liners, add newlines at EOFs, optimize imports and Kotlin extension configurations 2020-09-20 16:36:48 +07:00
Iaroslav Postovalov
6b79e79d21
Update tools and Kotlin, specify public explicitly, minor contracts refactor 2020-09-09 09:55:26 +07:00
Iaroslav
5e4522bb06
Upgrade build tools plugin to dev version; file reformat; change dependencies' versions; specify visibility explicitly at certain places (core, especially), make some interfaces fun 2020-09-08 16:40:47 +07:00
Iaroslav Postovalov
40888f66d6
Replace opt-in annotations with useExperimentalAnnotation for modules 2020-08-22 16:49:21 +07:00
Iaroslav
1d18832aa6
Provide contracts for many functions, make inline several functions, replace <algebra>.run { and with(<algebra>> { with <algebra> {, add newlines at EOFs, specify operator modifier explicitly at many places, reformat files, replace if (...) error guards with require and check 2020-08-22 02:42:59 +07:00
Iaroslav
6ead822cc3
Fix after-merge issues, provide default implementations for hyperbolic functions, remove their interface 2020-08-09 23:31:49 +07:00
Iaroslav
6114099e68
Edit doc files, update readmes, document coroutines API 2020-08-08 15:51:04 +07:00
Iaroslav
cb5234a334
Document AST and expressions API, implement ExtendedField over MST and Expression<T> 2020-08-08 04:57:20 +07:00
c2ca7b871d Merge SCI-MR-10 from improved-java-math-big-numbers 2020-07-29 08:39:19 +00:00
Iaroslav
11c98d6acf
Upgrade better-parse to 0.4.0 2020-07-27 23:06:28 +07:00
Iaroslav
0995dca8b8
Delete unchecked cast, revert evaluate changes, add RealField handling "pow" operation 2020-07-27 20:46:57 +07:00
Iaroslav
c64a89c6b6
Implement power as binary operation with unchecked cast, add tests on parser precedence 2020-07-27 19:27:59 +07:00
Iaroslav
1ebd362696
Update num token in reference 2020-07-27 15:58:09 +07:00
Iaroslav
f8383deb70
Fix operators in reference 2020-07-27 15:49:36 +07:00
Iaroslav
a5499260fa
Update num rule to match 1e+1 like numbers 2020-07-27 15:45:05 +07:00
Iaroslav
45087f8b2d
Add capital latin letters support 2020-07-27 15:37:18 +07:00
Iaroslav Postovalov
2864b2d12e
Move https://dl.bintray.com/hotkeytlt/maven to another RepositoryHandler 2020-07-26 11:17:47 +07:00
Iaroslav Postovalov
7820ffb150
Merge branch 'dev' into extended-grammar 2020-07-20 20:41:14 +07:00
Iaroslav Postovalov
bce2a8460e
Add reference ANTLR grammar, implement missing rules and operations in parser, also add support for symbols in ASM 2020-07-20 20:40:03 +07:00
Iaroslav
2b6bf69503
Add missing repositories 2020-07-03 20:21:41 +07:00
Iaroslav
415d11749a
Improve big arithmetics algebra in JVM module of kmath-core 2020-06-28 22:06:50 +07:00
Iaroslav
3d85c22497
Encapsulate classOfT property of AsmBuilder 2020-06-28 19:09:43 +07:00
Iaroslav
2a34110f1d
Implement advanced specialization for numeric functions 2020-06-28 17:16:15 +07:00
Iaroslav
7372197fe1
Specifty type explicitly 2020-06-28 02:10:26 +07:00
Iaroslav
63c001648e
Remove duplicated code, optimize constants field generation, add overloads for getOrFail in mapIntrinsics 2020-06-28 02:08:26 +07:00
Iaroslav
d7f5d9f53f
Add general repository reference to kmath-ast/README.md 2020-06-27 22:21:44 +07:00
Iaroslav
9b03fdb655
Update kmath/ast README.md to add Maven artifact reference 2020-06-27 22:18:58 +07:00
Iaroslav
54cb9b1883
Update kmath-ast/README.md to decipher acronyms 2020-06-27 21:56:58 +07:00
Iaroslav
a71c02e9ed
Merge remote-tracking branch 'origin/dev' into adv-expr-improved-trigonometry
# Conflicts:
#	kmath-ast/README.md
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/AsmBuilder.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/buildName.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/classWriters.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/methodVisitors.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/specialization.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/RealBufferField.kt
2020-06-27 20:24:41 +07:00
Iaroslav
e98fc126c4
Merge various codegen utilities into one file 2020-06-27 20:15:14 +07:00
Iaroslav
efcfb44253
Refactor Algebra call building 2020-06-27 20:04:22 +07:00
Iaroslav
bf89aa09e5
Add static imports for Opcodes 2020-06-26 22:05:42 +07:00
Iaroslav
37ef3a1879
Add explicit toRegex call to have better IDE support 2020-06-26 21:39:39 +07:00
Iaroslav
ec46f5cf22
Update README.md 2020-06-26 21:02:31 +07:00
Iaroslav
d962ab4d11
Rename and refactor MstAlgebra (ex-MSTAlgebra) (and its subclasses), MstExpression (ex-MSTExpression) 2020-06-26 21:02:22 +07:00
Iaroslav
0ee1d31571
Fix MSTField and MSTRing invalid unary operation, update according ASM tests 2020-06-26 20:57:47 +07:00
Iaroslav
2df97ca4c3
Update README.md, add suppression 2020-06-26 16:05:13 +07:00
Iaroslav
092728b1c3
Replace Stack with ArrayDeque 2020-06-26 16:01:50 +07:00
Iaroslav
90c287d42f
Add tests for MapInstrinsics 2020-06-26 15:59:24 +07:00
Iaroslav
5ab6960e9b
Add mapIntrinsics.kt, update specialization mappings 2020-06-26 15:55:01 +07:00
Iaroslav
e2cc3c8efe
Specify type explicitly, minor implementation refactor 2020-06-25 20:54:14 +07:00
Iaroslav
7faa48be58
Add zero call in MSTField test 2020-06-25 19:46:32 +07:00
Iaroslav
46f99139e2
Update number literal call in tests 2020-06-25 19:45:33 +07:00
Iaroslav
23816d3366
Update KDoc comments, optimize imports 2020-06-25 19:42:13 +07:00
Iaroslav
b11a7f1426
Update README.md 2020-06-25 19:29:31 +07:00
Commander Tvis
f7f9ce7817
Delete AsmCompiledExpression abstract class, implement dynamic field generation to reduce quantity of cast instructions, minor refactor and renaming of internal APIs 2020-06-25 10:08:54 +07:00
Commander Tvis
e47ec1aeb9
Delete AsmCompiledExpression abstract class, implement dynamic field generation to reduce quantity of cast instructions, minor refactor and renaming of internal APIs 2020-06-25 10:07:36 +07:00
Iaroslav
fffc752153
Add more tests and improve current, fix type stack underflow exception 2020-06-24 21:17:06 +07:00
Iaroslav
02f42ee56a
Eliminate bridging 2020-06-24 20:55:48 +07:00
Iaroslav
9a3709624d
Use hashMap instead of map 2020-06-24 15:54:17 +07:00
Iaroslav
f475335df1
Merge remote-tracking branch 'origin/adv-expr' into adv-expr-eliminate-bridging
# Conflicts:
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/asm.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/AsmBuilder.kt
2020-06-24 15:53:19 +07:00
Iaroslav
7c7065542a
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-lconst 2020-06-23 03:08:25 +07:00
Iaroslav
29c6d25967
Optimize constant pooling for Byte and Short 2020-06-22 15:15:46 +07:00
Iaroslav
e99f7ad360
Optimize constant pooling 2020-06-22 04:05:52 +07:00
Iaroslav
62ebda3302
Update readme, accident documentation-related refactor 2020-06-21 20:23:50 +07:00
Iaroslav
635d708de5
Add missing KDoc comments 2020-06-20 00:08:53 +07:00
Iaroslav
ba499da2da
More KDoc comments 2020-06-20 00:05:00 +07:00
Iaroslav
e9ff33c4f9
Write KDoc comments for AsmBuilder, minimal refactor of it 2020-06-19 23:56:35 +07:00
Iaroslav
d6e7eb8143
Add advanced specialization for primitive non-bridge methods 2020-06-18 11:35:20 +07:00
8264806958 Algebra delegates update. 2020-06-16 14:52:02 +03:00