ASM Bytecode Generation to unwrap Expressions of adv-expr API #94

Merged
CommanderTvis merged 44 commits from adv-expr into adv-expr 2020-06-13 21:07:15 +03:00

44 Commits

Author SHA1 Message Date
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
28cecde05b
Fix compilation problems found after merge 2020-06-14 00:24:10 +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
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
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
Iaroslav
b902f3980a
Fix issues found after merge 2020-06-12 22:10:56 +07:00
Iaroslav
07b938e582
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-asm
# Conflicts:
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/expressions/functionalExpressions.kt
#	settings.gradle.kts
2020-06-12 21:58:50 +07:00
Iaroslav
39907a1da2
Add name adapting of *, +, / 2020-06-12 19:50:28 +07:00
Iaroslav
1b20978f9c
Merge remote-tracking branch 'mipt-npm/dev' into adv-expr-asm 2020-06-12 17:41:05 +07:00
Commander Tvis
60898a3512
Merge remote-tracking branch 'mipt-npm/dev' into adv-expr-asm 2020-06-11 10:35:48 +07:00
Commander Tvis
91fa6d64bb
Merge remote-tracking branch 'mipt-npm/dev' into adv-expr-asm 2020-06-11 10:31:40 +07:00
Commander Tvis
89fae39013
Improve tests 2020-06-11 09:27:23 +07:00
Commander Tvis
e6f97c532b
Minor refactor: replace space property with field 2020-06-11 08:50:37 +07:00
Commander Tvis
927aa589ad
Add missing override modifiers 2020-06-11 08:49:38 +07:00
Commander Tvis
a4dfb4eb15
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-asm
# Conflicts:
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/expressions/Expression.kt
2020-06-11 08:45:42 +07:00
Commander Tvis
a0453da4b3
Refactor, replace constants List with Array, create specification of named functions 2020-06-10 08:57:17 +07:00
Iaroslav
1b6a0a13d8
Completely rework Expression API to expose direct unaryOperation and binaryOperation, improve ASM API accordingly 2020-06-10 00:44:56 +07:00
Iaroslav
33a519c10b
Apply new interfaces structure to ASM Expression Field/Space 2020-06-09 22:22:15 +07:00
Iaroslav
4dcdc0f99c
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-asm
# Conflicts:
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/expressions/Expression.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/expressions/FunctionalExpressions.kt
2020-06-09 22:17:42 +07:00
Iaroslav
65370f93fb
Make algebra and constants protected, fix tests 2020-06-08 23:18:08 +07:00
Iaroslav
8f1cf0179a
Minor refactor 2020-06-08 14:48:44 +07:00
Iaroslav
c576e46020
Minor refactor 2020-06-08 14:46:00 +07:00
Iaroslav
b7d1fe2560
Implement recursive constants evaluation, improve builders 2020-06-08 14:38:37 +07:00
Commander Tvis
013030951e
Make AsmCompiledExpression fields private, add builder functions not to expose AsmGenerationContext to public API, refactor code 2020-06-07 19:23:39 +07:00
Commander Tvis
6ac0297530
Move asm dependency to implementation configuration; rename many ASM API classes, make AsmCompiledExpression implement functional Expression, fix typos, encapsulate AsmGenerationContext 2020-06-07 19:04:39 +07:00
Iaroslav
a2e33bf6d8
Add more test for ASM const product 2020-06-07 15:57:23 +07:00
Iaroslav
6686144538
Add type casts for constants 2020-06-06 22:09:18 +07:00
Iaroslav
fb74e74b01
Remove constant number allocation hack and support uncommon Number implementations to be available in constants 2020-06-06 22:05:25 +07:00
Iaroslav
cdb24ea8e2
Remove duplicate Short key from signatureLetters map 2020-06-06 21:51:22 +07:00
Iaroslav
41094e63da
Optimize number constants placing to economize contant pool places 2020-06-06 21:48:52 +07:00
Iaroslav
30b32c1515
Move initialization code to separate method to make AsmGenerationContext restartable 2020-06-06 21:45:15 +07:00
Iaroslav
723bd84417
Remove unused import 2020-06-06 21:06:15 +07:00
Iaroslav
d6d9351c9c
Add more tests 2020-06-05 23:04:04 +07:00
Iaroslav
557142c2ba
Add more tests, fix constant product and product operations impl. 2020-06-05 23:02:16 +07:00
Iaroslav
fdd2551c3f
Minor refactor 2020-06-05 22:12:39 +07:00
Iaroslav
3ea76d56a5
Implement kmath-asm module stubs 2020-06-05 22:05:30 +07:00