Commit Graph

274 Commits

Author SHA1 Message Date
Iaroslav Postovalov
f231d722c6 Multiple performance improvements related to ASM
1. Argument values are cached in locals
2. Optimized Expression.invoke function
3. lambda=indy is used in kmath-core
2021-11-15 23:29:15 +07:00
d0354da80a Shapeless ND and Buffer algebras 2021-10-17 11:12:35 +03:00
Alexander Nozik
6dc9e8847a
Merge pull request #404 from mipt-npm/feature/advanced-optimization
Feature/advanced optimization
2021-08-29 11:44:09 +03:00
Iaroslav Postovalov
7e0820d861 Add debug property for dumping classes generated with ASM 2021-08-21 19:58:06 +07:00
Iaroslav Postovalov
b74bc32015 Ignore TestExecutionTime suite to reduce build time 2021-08-17 21:38:00 +07:00
dfd6e0a949 Merge remote-tracking branch 'origin/dev' into feature/advanced-optimization
# Conflicts:
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/optimization/CMOptimization.kt
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/optimization/cmFit.kt
#	kmath-ejml/src/main/kotlin/space/kscience/kmath/ejml/_generated.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/FunctionOptimization.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/NoDerivFunctionOptimization.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/Optimization.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/XYFit.kt
2021-08-16 09:56:00 +03:00
Iaroslav Postovalov
da27c2e494 Fix path to LICENSE in the notice 2021-08-08 12:27:16 +07:00
a020d1545c merge dev 2021-08-06 12:23:24 +03:00
Iaroslav Postovalov
afd5908784 Revise grammar of KDoc comments, refresh documentation files 2021-07-29 07:16:26 +07:00
Iaroslav Postovalov
b1998ed1a9 Replace public override with override 2021-07-19 03:12:41 +07:00
Iaroslav Postovalov
5d2eaaf68a Add contracts to some functions, fix multiple style issues 2021-07-13 00:38:30 +07:00
Iaroslav Postovalov
83fc4e28d8 Generate README, bump versions of Kotlin, Gradle, ND4J, ASM 2021-07-03 17:23:45 +07:00
Iaroslav Postovalov
5d5f84ad55 Some refactoring of AST rendering 2021-06-15 20:37:40 +07:00
Iaroslav Postovalov
45f1588175 Generated benchmarking reports 2021-06-15 17:14:18 +07:00
Iaroslav Postovalov
4d6428a308 Update Jafama module documentation with some minor code amendments 2021-06-14 21:51:06 +07:00
Iaroslav Postovalov
46bf66c8ee Add justCalculate benchmark, some minor refactorings 2021-06-09 21:50:34 +07:00
95c0b2d3f0 [WIP] optimization with QOW 2021-06-08 14:27:45 +03:00
Iaroslav Postovalov
189449f40e Fix unresolved reference in generated type parameter 2021-05-21 20:08:17 +07:00
Iaroslav Postovalov
d7a4228f5f Add out variance to StructureND and some related types, make some unrelated changes 2021-05-20 19:57:55 +07:00
15d874fb06 Remove MST.Symbolic
Replace it by Symbol
LogicAlgebra
2021-05-16 19:53:21 +03:00
6d78bb8d91 0.3.0-dev-8. Readme update 2021-05-08 14:36:37 +03:00
Iaroslav Postovalov
591b408729
MST rendering: support infix division, use arcsin instead sin^-1 form for inverse trigonometric functions 2021-05-04 17:22:09 +07:00
Alexander Nozik
eca1ad48f5
Merge pull request #273 from mipt-npm/feature/jupyter
Add Jupyter integration
2021-05-02 21:28:17 +03:00
Iaroslav Postovalov
f0627b2ced
Simplify and revise test cases for MST compilation engines #285 2021-05-03 00:27:16 +07:00
Iaroslav Postovalov
77d72c7bf6
Add Jupyter integration 2021-04-30 20:50:00 +07:00
Iaroslav Postovalov
598b2e1587
Rewrite EJML module by dropping ejml-simple abstraction level; multiple build script changes 2021-04-30 19:48:12 +07:00
Iaroslav Postovalov
e3f7b7a5fa
Promote kmath-ast as experimental, mark AST Rendering and WASM with @UnstableKMathAPI 2021-04-28 10:27:08 +07:00
Iaroslav Postovalov
077c2b4e3b
Update README.md in kmath-ast 2021-04-24 12:14:31 +07:00
Iaroslav Postovalov
488f5f0008
Redesign exponential function rendering 2021-04-21 22:13:03 +07:00
Iaroslav Postovalov
23d2f8d758
Merge pull request #289 from mipt-npm/commandertvis/rendering-tests
Move AST rendering tests to common
2021-04-21 19:57:36 +07:00
Iaroslav Postovalov
cfa9077e29
Move AST rendering tests to common 2021-04-21 19:50:33 +07:00
Iaroslav Postovalov
0a0d0af94a
Configure copyright scoping 2021-04-21 19:46:02 +07:00
Iaroslav Postovalov
b6a57dbfd0
MST compilation to WebAssembly with Binaryen, reorganize internal JS bindings, tests refactor 2021-04-21 19:17:57 +07:00
Iaroslav Postovalov
84fa878ee3
Update dependencies 2021-04-20 19:14:59 +07:00
299592ed25 Update readme 2021-04-16 19:44:51 +03:00
Iaroslav Postovalov
e9c31b7827
Merge branch 'master' into dev
# Conflicts:
#	README.md
#	build.gradle.kts
#	examples/src/main/kotlin/space/kscience/kmath/stat/DistributionBenchmark.kt
#	examples/src/main/kotlin/space/kscience/kmath/structures/ParallelRealNDField.kt
#	kmath-ast/README.md
#	kmath-ast/build.gradle.kts
#	kmath-ast/src/commonMain/kotlin/space/kscience/kmath/ast/MstExpression.kt
#	kmath-complex/README.md
#	kmath-complex/build.gradle.kts
#	kmath-complex/src/commonMain/kotlin/space/kscience/kmath/complex/ComplexNDField.kt
#	kmath-core/README.md
#	kmath-core/build.gradle.kts
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/expressions/MST.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/expressions/MstAlgebra.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/RealNDField.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/structures/RealBufferField.kt
#	kmath-coroutines/build.gradle.kts
#	kmath-coroutines/src/commonMain/kotlin/space/kscience/kmath/chains/BlockingRealChain.kt
#	kmath-coroutines/src/jvmMain/kotlin/space/kscience/kmath/structures/LazyNDStructure.kt
#	kmath-dimensions/src/commonTest/kotlin/kscience/dimensions/DMatrixContextTest.kt
#	kmath-for-real/README.md
#	kmath-functions/README.md
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/interpolation/Interpolator.kt
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/interpolation/LoessInterpolator.kt
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/interpolation/XYPointSet.kt
#	kmath-geometry/build.gradle.kts
#	kmath-nd4j/README.md
#	kmath-nd4j/build.gradle.kts
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/distributions/FactorizedDistribution.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/stat/Distribution.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/stat/Fitting.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/stat/OptimizationProblem.kt
#	kmath-stat/src/jvmMain/kotlin/space/kscience/kmath/stat/distributions.kt
#	kmath-viktor/src/main/kotlin/space/kscience/kmath/viktor/ViktorNDStructure.kt
2021-04-16 18:02:44 +07:00
Iaroslav Postovalov
41b7349a43
Setup copyright headers, add references to third-party files, update LICENSE 2021-04-16 00:15:00 +07:00
6cea5742e8 Blocking statistics. Move MST to core 2021-04-14 12:40:26 +03:00
Iaroslav Postovalov
cf91da1a98
Add pi and e constants, some unrelated changes 2021-04-05 23:44:42 +07:00
Iaroslav Postovalov
e6921025d1
Remove redundant try-catch expressions 2021-04-02 16:46:12 +07:00
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