Commit Graph

279 Commits

Author SHA1 Message Date
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
1e4692d5cf
Fix scalar multiplication in BigInt, implement testers for fields, rings and spaces and apply them to ComplexFieldTest, BigIntAlgebraTest and RealFieldTest 2020-08-12 21:18:47 +07:00
Iaroslav Postovalov
3f0c208355
Specify ATANH_OPERATION type for API stability 2020-08-11 15:11:29 +07:00
Iaroslav Postovalov
c7e6764ea2
Specify constants' types for API stability 2020-08-11 15:10:48 +07:00
Iaroslav Postovalov
837150b5eb
Fix norm and add test of it 2020-08-11 15:06:53 +07:00
Iaroslav Postovalov
8ab8864227
Add newline 2020-08-11 15:02:56 +07:00
Iaroslav Postovalov
df3bd8a07c
Merge remote-tracking branch 'origin/dev' into hyp-trig-functions
# Conflicts:
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/operations/Algebra.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/operations/Complex.kt
#	kmath-core/src/commonTest/kotlin/scientifik/kmath/operations/ComplexFieldTest.kt
2020-08-11 15:01:53 +07:00
Iaroslav Postovalov
b77bfeb372
Provide basic tests for complex numbers, also fix complex division 2020-08-11 14:58:28 +07:00
Iaroslav
71c4ee0655
Add average and averageWith space extensions 2020-08-10 01:42:11 +07:00
Iaroslav
6329722131
Fix typos 2020-08-10 01:30:32 +07:00
Iaroslav
895f788f75
Cleanup doc mistakes, fix number fields corner cases 2020-08-09 23:43:38 +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
40d7351515
Merge remote-tracking branch 'origin/dev' into hyp-trig-functions
# Conflicts:
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/operations/Complex.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/operations/NumberAlgebra.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/operations/OptionalOperations.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/ComplexNDField.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/RealBufferField.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/RealNDField.kt
2020-08-09 23:23:48 +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
Iaroslav
c8cd6cd288
Document memory module and several ND objects 2020-08-08 04:21:59 +07:00
Iaroslav
0a8044ddb3
Update buffers documentation, make API more consistent, minor changes 2020-08-07 15:20:26 +07:00
Iaroslav Postovalov
9f6bd116f6
Document and make more consistent buffers API 2020-08-06 12:39:50 +07:00
Iaroslav Postovalov
eae218ff5f
Update algebra extensions, improve docs 2020-08-05 20:55:50 +07:00
Iaroslav Postovalov
4c39b98017
Update documentation of NumberAlgebra 2020-08-05 18:44:28 +07:00
Iaroslav Postovalov
7d32fe0af8
Update documentation of NumberAlgebra 2020-08-05 18:43:20 +07:00
Iaroslav Postovalov
8367e13057
Improve documentation of complex and memoryspec 2020-08-05 18:41:58 +07:00
Iaroslav Postovalov
aed10329eb
Improve documentation of elements 2020-08-05 17:30:11 +07:00
Iaroslav Postovalov
8debed7048
Improve documentation 2020-08-05 17:25:56 +07:00
Iaroslav
ae7aefeb6a
Specify type explicitly EVERYWHERE in kmath-core, add newlines at ends of files, refactor minor problems, improve documentation 2020-08-05 03:58:00 +07:00
c2ca7b871d Merge SCI-MR-10 from improved-java-math-big-numbers 2020-07-29 08:39:19 +00: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 Postovalov
186575d8b3
Override number function for JBigIntegerField and JBigDecimalField 2020-07-26 11:28:19 +07:00
Iaroslav
995a0f916b
Replace x pow 2 with multiplication x by x because of precision 2020-07-03 19:20:44 +07:00
Commander Tvis
77625cca2b
Update typealiases usages; add optimization for exponentiation real complex numbers 2020-07-03 17:38:13 +07:00
Commander Tvis
badb7b1365
Update implementation of Complex Division and Exponentiation 2020-07-03 17:14:50 +07:00
Commander Tvis
73005f715a
Implement optimized complete Complex division, add tests class for it 2020-07-03 15:50:14 +07:00
Iaroslav
e64a6796ea
Fix division of Complex, minor reformat and rearrangement of NumberAlgebra, implement hyperbolic functions 2020-07-03 00:46:48 +07:00
Iaroslav
e96ecaddcf
Revert implementing PowerOperations for JBigIntegerField 2020-06-28 22:21:18 +07:00
Iaroslav
1614eef452
Revert change of JBigIntegerField to Ring, delete unused psvm function 2020-06-28 22:10:39 +07:00
Iaroslav
415d11749a
Improve big arithmetics algebra in JVM module of kmath-core 2020-06-28 22:06:50 +07:00
Iaroslav
e91c5a57c4
Minor refactor for changed ExtendedFieldOperations, replace DoubleBuffer with RealBuffer 2020-06-27 20:31:42 +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
27605aee82
Merge remote-tracking branch 'origin/dev' into adv-expr 2020-06-27 19:56:00 +07:00
4b067f7a97 DoubleBuffer -> RealBuffer. Number algebra refactoring. 2020-06-27 12:19:43 +03:00
Iaroslav
a275e74cf2
Add mapping for other dynamic operations 2020-06-26 14:57:07 +07:00
Commander Tvis
002de8d23a
Merge remote-tracking branch 'origin/dev' into adv-expr
# Conflicts:
#	examples/build.gradle.kts
2020-06-25 10:28:32 +07:00
668d13c9d1 Minor refactoring + domains 2020-06-23 20:03:45 +03:00
Iaroslav
418c29630f
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-improved-trigonometry 2020-06-19 21:01:44 +07:00
a1f0188b8b Functional expression builders 2020-06-16 16:29:52 +03:00
Commander Tvis
41a81e7a14
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-improved-trigonometry 2020-06-16 19:42:16 +07:00
8264806958 Algebra delegates update. 2020-06-16 14:52:02 +03:00
Iaroslav
f8f1814def
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-improved-trigonometry 2020-06-16 14:40:41 +07:00
96550922cd Removal of AsmExpression 2020-06-15 22:07:31 +03:00
Commander Tvis
c10901ae98
Merge branch 'adv-expr' into adv-expr-improved-trigonometry 2020-06-15 21:02:58 +07:00
3434dde1d1 ASM API simplification 2020-06-15 11:02:13 +03:00
Iaroslav
95d5e4a688
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-improved-trigonomery 2020-06-14 01:27:47 +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
48b688b6b1
Fix minor problems occured after merge 2020-06-14 00:06:12 +07:00
Commander Tvis
76ad027460
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-improved-trigonomery
# Conflicts:
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/operations/NumberAlgebra.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/operations/OptionalOperations.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/ExtendedNDField.kt
2020-06-13 16:41:26 +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
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
2751cee926 MST expression 2020-06-12 16:56:58 +03:00
047af8c172 Fix ND extendend fields 2020-06-12 11:11:13 +03:00
5e92d85c46 Separate ast module 2020-06-12 10:40:59 +03:00
a77d3d0bbf Merge branch 'dev' of https://github.com/altavir/kmath into adv-expr 2020-06-12 08:46:45 +03:00
f46615d3bc Left and right-side operations in Algebra 2020-06-12 08:43:47 +03:00
e8a6ecd5c3 Merge remote-tracking branch 'origin/adv-expr' into adv-expr 2020-06-11 12:47:01 +03:00
0507bfcc24 Expression simplification 2020-06-11 09:46:42 +03: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
a5fea4f22d
Merge remote-tracking branch 'mipt-npm/dev' into adv-expr-improved-trigonomery 2020-06-11 10:34:46 +07:00
Commander Tvis
ef67d82d84
Repair multiplication for Int, Long, Short, Byte Ring 2020-06-11 10:21:13 +07:00
Commander Tvis
62ca19bb64
Merge remote-tracking branch 'mipt-npm/adv-expr' into adv-expr-improved-trigonomery 2020-06-11 08:51:38 +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
2e5c13aea9
Improve support of string-identified operations API, rework trigonometric operations algebra part: introduce inverse trigonometric operations, rename tg to tan 2020-06-10 02:05:13 +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
3e03f09504 Merge remote-tracking branch 'origin/adv-expr' into adv-expr 2020-06-09 14:44:11 +03:00
5dc07febe3 Expression simplification 2020-06-09 13:07:40 +03:00
2855ad29a4 Remove unused argument in functionalExpressions.kt 2020-06-09 11:14:47 +03:00
774b1123f7 Minor change in grid builders 2020-06-08 12:07:27 +03: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
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
3ea76d56a5
Implement kmath-asm module stubs 2020-06-05 22:05:30 +07:00
1a869ace0e Refactored Expression tree API 2020-05-15 16:10:19 +03:00
4a26c1080e A prototype for advanced expressoins 2020-05-14 20:30:43 +03:00
e5ffb22126 For-real refactoring and test fix.
Never call equals on buffer
2020-05-07 09:54:46 +03:00
646207e140 Equlity half-fix for NDStructure 2020-05-06 10:50:08 +03:00
1015e238f1 Basic geometry 2020-04-29 19:28:24 +03:00
fbe7363cde BigInt refactoring 2020-04-26 21:47:34 +03:00
Alexander Nozik
85ad44ac9b
Merge pull request #81 from mipt-npm/big-int
BigInt implementation
2020-04-26 20:08:31 +03:00
28ef591524 Chain implements Flow 2020-04-26 20:04:15 +03:00
48cb683bc4 Refactoring of KBigInteger 2020-04-15 20:28:24 +03:00
Alexander Nozik
c6640b4d31
Merge pull request #84 from schakalakka/master
Fix two simple typos in file names:
2020-04-11 09:35:46 +03:00
Andreas Radke
cb1156fd90 Fix two simple typos in file names:
Rename LinearAlgrebra.kt to LinearAlgebra.kt
and BigNumers.kt to BigNumbers.kt
2020-04-10 20:54:10 +02:00
0e898ee1ea Add strided matrix dot test to check #82 2020-04-03 19:01:58 +03:00