Commit Graph

148 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
d73f564fb4 Merge remote-tracking branch 'origin/adv-expr' into adv-expr 2020-06-16 10:33:16 +03:00
3d5036c982 Fix MSTAlgebra delegation 2020-06-16 10:27:54 +03:00
Iaroslav
c3cecc5a16
Rename variable 2020-06-16 14:21:13 +07:00
Iaroslav
91a9e2a5e9
Remove @PublishedApi 2020-06-16 14:20:17 +07:00
Iaroslav
15d7a20b43
Add removed AsmCompiledExpression, move buildName to buildName.kt, refactor compileWith 2020-06-16 14:16:36 +07:00
Iaroslav
fe64537cbc
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-refactor-agc
# Conflicts:
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/AsmExpressions.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/asm.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/AsmBuilder.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/optimization.kt
2020-06-16 13:28:25 +07:00
96550922cd Removal of AsmExpression 2020-06-15 22:07:31 +03:00
Iaroslav
2580ab347e
Make ClassWriter extensions internal 2020-06-15 17:37:11 +07:00
Iaroslav
521ea8bddc
Rename ClassWriters.kt to be consistent with local code style, rename AsmBuilders.kt to asm.kt, rename AsmNode back to AsmExpression, rename AsmGenerator to AsmBuilder 2020-06-15 17:36:30 +07:00
Iaroslav
b57b55ec1a
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-refactor-agc
# Conflicts:
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/AsmBuilders.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/AsmExpressions.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/AsmBuilder.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/asm/internal/optimization.kt
2020-06-15 17:23:35 +07:00
3434dde1d1 ASM API simplification 2020-06-15 11:02:13 +03:00
Iaroslav
a7302f49ff
Convert to expression body 2020-06-14 23:13:26 +07:00
Iaroslav
a8fa385497
Rename loadFromVariables to loadVariable 2020-06-14 23:01:34 +07:00
Iaroslav
4e28ad7d4e
Minor refactor 2020-06-14 23:00:26 +07:00
Iaroslav
635aac5f30
Refactor ex-AsmGenerationContext, introduce many bytecode utility functions to make its code readable, update compile method 2020-06-14 22:58:09 +07:00
Iaroslav
d3d348620a
Rename AsmExpression to AsmNode, encapsulate AsmGenerationContext, make AsmNode (ex-AsmExpression) an abstract class instead of interface 2020-06-14 00:30:39 +07:00
Iaroslav
cedfd3fe09
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-asm
# Conflicts:
#	kmath-ast/build.gradle.kts
#	kmath-ast/src/commonMain/kotlin/scientifik/kmath/ast/parser.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/ast/Parser.kt
#	kmath-ast/src/jvmMain/kotlin/scientifik/kmath/ast/parser.kt
2020-06-14 00:21:07 +07:00
Iaroslav
af410dde70
Apply the suggested changes 2020-06-14 00:18:40 +07:00
0950580b85 Moe better-parse to common.
Watch for https://github.com/h0tk3y/better-parse/issues/27
2020-06-13 18:26:18 +03:00
Iaroslav
e91f6470d3
Implement constants inlining 2020-06-13 17:07:22 +07:00
Iaroslav
f9835979ea
Fix specification bug 2020-06-13 16:48:45 +07:00
Iaroslav
e65d1e43cf
Write tests 2020-06-13 16:16:57 +07:00
Iaroslav
223d238c43
Encapsulate MethodVisitor extensions 2020-06-13 15:53:54 +07:00
Iaroslav
834d1e1397
Move specific optimization functions to Optimization 2020-06-13 15:53:25 +07:00
Iaroslav
1582fde091
Replace JUnit @Test with kotlin-test @Test 2020-06-13 15:51:42 +07:00
866ae47239 replace raw by symbol in algebra 2020-06-13 11:51:33 +03:00
Iaroslav
fec8c7f9d1
Minor refactor and encapsulation 2020-06-13 15:50:21 +07:00
Iaroslav
36ad1fcf58
Minor refactor and document 2020-06-13 15:44:54 +07:00
Iaroslav
3ec1f7b5f1
Merge kmath-asm and kmath-ast modules, make all the ExpressionAlgebras concise and consistent, implement new-styled builders both for ASM and F. expressions 2020-06-13 02:26:12 +07:00
09641a5c9c Documentation 2020-06-12 16:59:36 +03:00
2751cee926 MST expression 2020-06-12 16:56:58 +03:00
5e92d85c46 Separate ast module 2020-06-12 10:40:59 +03:00