Commit graph

883 commits

Author SHA1 Message Date
Christian Zimmermann
9946a8d416 Merge branch 'restructure-rename' of rqcd.ur.de:czimmermann/multi_array into restructure-rename 2021-06-26 00:41:33 +02:00
Christian Zimmermann
d5e02ba9d2 remove slicecontraction + start hyperoperation (for slicearray) 2021-06-26 00:40:42 +02:00
Christian Zimmermann
ffb8e71dbd multi_array_operation: replace template spec by static if 2021-06-25 17:28:22 +02:00
Christian Zimmermann
c282cf683d Merge branch 'restructure-rename' of rqcd.ur.de:czimmermann/multi_array into restructure-rename 2021-06-24 21:39:52 +02:00
Christian Zimmermann
7cd0c3104f separate lib for high level stuff 2021-06-24 21:39:42 +02:00
Christian Zimmermann
6991742206 remove old code 2021-06-11 18:57:00 +02:00
Christian Zimmermann
49f2c41a95 remove dead code + simplify StaticFunctionBase (less template args) 2021-06-09 17:25:02 +02:00
Christian Zimmermann
f1b44cfd5c sfor: return cond 2021-06-08 17:53:51 +02:00
Christian Zimmermann
c26fb133ae replace/remove static for macros 2021-06-08 16:41:28 +02:00
Christian Zimmermann
53362be499 two container indices (one const) 2021-05-29 00:03:48 +02:00
Christian Zimmermann
01703dec28 container_index: split header -> .h .cc.h 2021-05-28 21:20:07 +02:00
Christian Zimmermann
63df6bbdef ranges/container_range.h -> container_index.h 2021-05-28 20:35:24 +02:00
Christian Zimmermann
98138114f7 remove assignment ContainerIndex -> MultiIndex 2021-05-28 20:17:20 +02:00
Christian Zimmermann
1d882d55c4 ContainerRange typedef: remove template arg T + remove MultiRange Factory constructor for ContainerRange 2021-05-28 20:02:04 +02:00
Christian Zimmermann
34e69cd805 ContainerIndex -> ConstContainerIndex 2021-05-28 17:29:13 +02:00
Christian Zimmermann
c5b9e84486 completely remove rpacknum 2021-05-27 23:29:04 +02:00
Christian Zimmermann
6dc926f234 further packnum replacements 2021-05-27 18:37:15 +02:00
Christian Zimmermann
12c79b595f rpacknum: replace mkfor 2021-05-27 12:15:44 +02:00
Christian Zimmermann
893b2360bc remove rpacknum getMeta, getSize, getTypeNum 2021-05-27 11:02:36 +02:00
Christian Zimmermann
29f4ddc0cd continue... 2021-05-12 17:56:35 +02:00
Christian Zimmermann
43e8486354 bugfix + continue prev com 2021-05-07 17:35:59 +02:00
Christian Zimmermann
482a7a7b4e continue previous commit 2021-05-06 19:04:26 +02:00
Christian Zimmermann
13488b9839 ranges: start replacement of rpack_num 2021-05-05 20:04:13 +02:00
Christian Zimmermann
7fee5aa45d completely remove pack_num 2021-05-04 18:26:17 +02:00
Christian Zimmermann
acda91d792 remove all PackNum stuff from multi_array_operation 2021-05-04 17:11:53 +02:00
Christian Zimmermann
44f6149a23 rewrite Operation::get (not final solution) 2021-04-11 22:11:20 +02:00
Christian Zimmermann
9d85f8df46 remove Application classes 2021-04-11 16:54:46 +02:00
Christian Zimmermann
fe22b1ad80 im com + remove Getter class 2021-04-11 16:34:01 +02:00
Christian Zimmermann
1f663e0b76 start replacement PackNum -> SFOR 2021-04-10 16:06:02 +02:00
Christian Zimmermann
64c5c2b4f3 -> C++17 2021-04-10 13:25:43 +02:00
Christian Zimmermann
48084b2a5e generalize static_for.h 2021-04-10 00:58:30 +02:00
Christian Zimmermann
cf1850923f name mapping suggestions + static cc for implementation 2021-04-04 15:10:15 +02:00
Christian Zimmermann
70c850be2f basic_types 2021-04-04 14:21:09 +02:00
Christian Zimmermann
469a7b4848 Merge branch 'dev' into HEAD 2021-04-04 14:19:02 +02:00
Christian Zimmermann
23dddd3801 add OperationPointer 2021-03-17 20:09:43 +01:00
Christian Zimmermann
c608239ced various fixes 2021-02-03 14:30:25 +01:00
Christian Zimmermann
867c20959a auto-vectorization works 2021-01-24 02:10:06 +01:00
Christian Zimmermann
269ff69ec3 automatic vectorization: unit tests work again 2021-01-24 00:10:14 +01:00
Christian Zimmermann
3bacc6c1c4 im com 2021-01-23 19:40:15 +01:00
Christian Zimmermann
15664781f7 further auto vectorization (open issue: static loop reduction) 2021-01-21 00:35:13 +01:00
Christian Zimmermann
64d10867dd finish parts of auto-vectorization 2021-01-18 19:00:12 +01:00
Christian Zimmermann
db92197048 im com (Operation: remove T?) 2021-01-15 01:05:58 +01:00
Christian Zimmermann
68ae7d8428 im com 2021-01-14 23:57:06 +01:00
Christian Zimmermann
29b1502e60 unify AssigmentExpr2 and AddExpr 2021-01-14 19:20:46 +01:00
Christian Zimmermann
fdb1bb6833 xfor: vectrization requirements 2021-01-14 17:40:32 +01:00
Christian Zimmermann
6ecbe5ff27 minor changes 2021-01-14 16:26:53 +01:00
Christian Zimmermann
ec430efcc6 operations: vget 2021-01-14 14:43:09 +01:00
Christian Zimmermann
49812b18e2 multi_range: getMeta 2021-01-11 11:16:29 +01:00
Christian Zimmermann
cfb3d4919b map range: allow more general out ranges 2021-01-09 00:45:24 +01:00
Christian Zimmermann
b8071fff94 Merge branch 'dev3' into dev2 2021-01-08 21:40:53 +01:00
Christian Zimmermann
b4912dba71 helper_tools: further mkMapR functions 2021-01-08 21:40:20 +01:00
Christian Zimmermann
e3a1b87200 src/lib/ranges/dynamic_range.cc: warning (no error) if ranges different, check meta instead (preliminary solution) 2020-12-14 18:35:26 +01:00
Christian Zimmermann
ac5b74c57a arith + hl_ops: negate 2020-12-07 13:46:01 +01:00
Christian Zimmermann
e7fd650922 fix regarding previous commit 2020-10-13 17:06:59 +02:00
Christian Zimmermann
bc87268810 index_wrapper: stringmeta: filter spaces and quotation marks 2020-10-13 14:02:04 +02:00
Christian Zimmermann
8ca415355a dynamic/anonymous range: replace asserts by MA_ASSERTs (throws errors instead of aborting) 2020-09-23 14:14:47 +02:00
Christian Zimmermann
6dac4957c5 None: remove static constexpr for VAL 2020-09-23 01:12:28 +02:00
Christian Zimmermann
995b16b51d allow value operations in high level operations 2020-09-20 13:37:44 +02:00
Christian Zimmermann
5a309afac6 again fix lib/mk_hl_op.sh 2020-09-18 12:37:14 +02:00
Christian Zimmermann
a8cb89ccdc fix mk_hl_op.sh 2020-09-18 12:30:00 +02:00
Christian Zimmermann
51961901a0 corrections + partially pre-compile hl operations 2020-09-16 20:19:21 +02:00
Christian Zimmermann
863dd09b40 some fixes 2020-09-16 00:09:55 +02:00
Christian Zimmermann
5d853473de dynamic range: index map tools 2020-09-15 17:11:54 +02:00
Christian Zimmermann
8372b30255 remove atan2 2020-09-15 13:30:24 +02:00
Christian Zimmermann
3a0016b740 Merge remote-tracking branch 'origin/dev2' into dev2 2020-09-14 16:31:19 +02:00
Christian Zimmermann
5c9443cd63 mkSFunc 2020-09-14 16:30:42 +02:00
Christian Zimmermann
f0354455fd reduced range in index wrapper (to be called in high level op) 2020-09-11 23:29:58 +02:00
Christian Zimmermann
dcce9a5eea hl op: resolve lowest indices at runtime 2020-09-11 13:12:46 +02:00
Christian Zimmermann
65ecc27c3e fix compile errors 2020-09-10 22:50:26 +02:00
Christian Zimmermann
0d045c006d im com 2020-09-10 18:29:06 +02:00
Christian Zimmermann
3d9cd65389 hl_reg_ind.h 2020-09-10 13:27:24 +02:00
Christian Zimmermann
e3afa8b8c1 minor changes 2020-09-09 10:12:20 +02:00
Christian Zimmermann
c01351eec0 ...same again 2020-09-03 13:35:56 +02:00
Christian Zimmermann
079b7cfb44 template notation for high level op RetT 2020-09-03 13:32:52 +02:00
Christian Zimmermann
ee58f2ab39 enable high level math functions 2020-09-03 12:15:51 +02:00
Christian Zimmermann
e174ced2eb shift high level op code to separate headers 2020-09-03 10:52:31 +02:00
Christian Zimmermann
4beb352c0e high level operation works. TODO: shift code to lib/include files 2020-09-02 23:55:08 +02:00
Christian Zimmermann
705f6351a5 first part of generalization of previous commit 2020-09-02 23:05:40 +02:00
Christian Zimmermann
b0a1f356a7 first part of high level operations work (only implemented in context of op4utest) 2020-09-02 18:35:20 +02:00
Christian Zimmermann
437193432a im com 2020-09-01 17:39:45 +02:00
Christian Zimmermann
718a5f22cf im com 2020-08-31 18:42:48 +02:00
Christian Zimmermann
ddf48771bc fix conditional jump / uninitialized value issue detected in valgrind 2020-08-31 17:49:52 +02:00
Christian Zimmermann
4fc2c52865 revert to a80e927 2020-08-31 17:28:00 +02:00
Christian Zimmermann
3a8b837a1c im com 2020-08-30 23:20:09 +02:00
Christian Zimmermann
a80e9271c8 im com 2020-08-30 17:41:22 +02:00
Christian Zimmermann
8168e253a4 dynamic hybrid functional operations work 2020-08-30 16:41:05 +02:00
Christian Zimmermann
782e8555cf dynamic hybrid contraction works 2020-08-30 14:43:53 +02:00
Christian Zimmermann
371107cb5d im com 2020-08-30 03:52:44 +02:00
Christian Zimmermann
7e963c1c95 minor change 2020-08-30 01:35:06 +02:00
Christian Zimmermann
566da70618 ... remaining fixes: hybrid dynamic multi-threaded operations work 2020-08-29 23:36:01 +02:00
Christian Zimmermann
4e7e57fcb9 partial fix in multi-threading relevant code 2020-08-29 21:46:07 +02:00
Christian Zimmermann
e08c477f0e ... also with more than one explicit index 2020-08-28 18:04:45 +02:00
Christian Zimmermann
67b343d217 dynamic operations: partial static call works consistently 2020-08-28 17:55:54 +02:00
Christian Zimmermann
cb6a6ccdb3 im com 2020-08-28 13:46:12 +02:00
Christian Zimmermann
7afd193d09 im com 2020-08-27 23:48:04 +02:00
Christian Zimmermann
34161f10cb DynamicOuterOp 2020-08-27 17:46:30 +02:00
Christian Zimmermann
4601061934 dynamic operation: dynamic index call by custom name works 2020-08-27 15:01:29 +02:00
Christian Zimmermann
fca75bbf79 replace proto indices 2020-08-27 14:16:08 +02:00
Christian Zimmermann
991a9bc5b4 split rpack_num -> .h , .cc.h 2020-08-27 13:21:05 +02:00
Christian Zimmermann
52e1efc974 dynamic operations: call by index name (not the optimal solution...) 2020-08-27 03:23:03 +02:00
Christian Zimmermann
7cbd2a139d im com 2020-08-26 23:24:10 +02:00
Christian Zimmermann
17c9f76b4b dynamic functional operations work 2020-08-26 20:23:58 +02:00
Christian Zimmermann
304d7ec682 dynamic contractions work 2020-08-26 17:05:44 +02:00
Christian Zimmermann
6444f971a6 OpTest_Dyn, Multiply: add remaining tests: work 2020-08-24 17:39:56 +02:00
Christian Zimmermann
d2e7cb3a63 op4utest works 2020-08-24 16:35:14 +02:00
Christian Zimmermann
d7436ed577 Revert "vertical structure..."
This reverts commit c6f140a18e.
2020-08-12 16:48:07 +02:00
Christian Zimmermann
c6f140a18e vertical structure... 2020-08-12 00:39:12 +02:00
Christian Zimmermann
e18e97b83f ... 2020-08-11 18:22:03 +02:00
Christian Zimmermann
233a0a7452 WIP: see last commit (there is still a non-initialized dynamic ext object) 2020-07-13 13:40:49 +02:00
Christian Zimmermann
f04ee322bb WIP: dynamic operation classes 2020-07-13 01:00:35 +02:00
Christian Zimmermann
449da106b4 fix error from previous commit + split operation unit tests 2020-07-11 19:55:48 +02:00
Christian Zimmermann
b2f542027f WIP: dynamic_operation 2020-07-10 00:17:38 +02:00
Christian Zimmermann
a64291484c fix dynamic expressions 2020-07-09 17:37:28 +02:00
Christian Zimmermann
354a275c12 distinguish target object call depending on the controll index owner 2020-07-09 11:52:40 +02:00
Christian Zimmermann
e24e7dddec ... 2020-07-08 23:48:26 +02:00
Christian Zimmermann
95aca3381d type register vector char 2020-07-08 23:41:20 +02:00
Christian Zimmermann
2049cb25ed TypMap::num -> num() 2020-07-08 23:34:17 +02:00
Christian Zimmermann
a8e24efff2 type_map + type_register 2020-07-08 23:14:08 +02:00
Christian Zimmermann
dd31760344 shift former template code to cc file 2020-07-08 22:02:28 +02:00
Christian Zimmermann
de21f197c5 remove expression.* 2020-07-08 20:50:47 +02:00
Christian Zimmermann
ca55bd0702 fix compile errors and seg fault from last commit -> unit tests work again 2020-07-08 20:46:04 +02:00
Christian Zimmermann
f7549a230b start removing expression collection stuff -> so far compile errors + seg fault... 2020-07-08 17:55:51 +02:00
Christian Zimmermann
9ab27d1e5a fix compile errors from previous commit 2020-07-08 11:13:19 +02:00
Christian Zimmermann
4391d3a79a start refactoring dynamic stuff: DExt -> Polymorphism: not finished, does not compile so far... 2020-07-07 16:42:41 +02:00
Christian Zimmermann
c8d9eb9aa4 changes required for gcc 10 2020-05-14 18:13:01 +02:00
Christian Zimmermann
ba350c516d no meta map specialization 2020-04-07 17:07:45 +02:00
Christian Zimmermann
4683c9e85c ranges: xToString: replace ',' by '.' (german locales seem to be used here now) 2019-12-11 15:16:50 +01:00
Christian Zimmermann
bebc7ce35c allocation warning + forwarding + remove unsave code regarding that (e.g. anonymousMove) 2019-11-15 18:16:19 +01:00
Christian Zimmermann
2247336fee multi_array: 'format constructor' 2019-11-14 19:39:03 +01:00
Christian Zimmermann
4a5a413a47 plus operation with foreign index 2019-11-13 14:08:15 +01:00
Christian Zimmermann
388440764e fix: consistent streaming of tuples 2019-11-12 13:30:26 +01:00
Christian Zimmermann
e2c33a2061 fix meta data <-> char stream conversion for vector<T> meta type 2019-10-29 17:39:59 +01:00
Christian Zimmermann
49dd9ef548 map range: enable creation on arbitrary target range (of same type with real target space as sub-space) 2019-09-17 14:24:01 +02:00
Christian Zimmermann
6ee89f6bff add anonToDynView for mutable array types 2019-09-13 18:08:23 +02:00
Christian Zimmermann
d1c4372825 AbstractIW: add function duplicate + Operations: completely replace AssignmentExpr by AssignmentExpr2 2019-09-13 15:08:33 +02:00
Christian Zimmermann
73a9d5b120 fix bug introduced during the last three commits 2019-09-09 18:47:23 +02:00
Christian Zimmermann
43baaa35c9 ; missing 2019-09-05 11:45:57 +02:00
Christian Zimmermann
1f459ea2b5 single range: fix cmeta size for vector case 2019-09-03 19:34:20 +02:00
Christian Zimmermann
5f694c9103 single range: fix cmeta size for vector case 2019-09-03 19:33:30 +02:00
Christian Zimmermann
0acfb6e171 fix regarding last commit 2019-08-30 18:29:07 +02:00
Christian Zimmermann
ea974ce50b generalize cmeta routine for vector meta data + catch 'no range' case in anonymousRange::sreplace(vec) 2019-08-29 20:40:39 +02:00
Christian Zimmermann
ba8655896b generalize element return values in operation classes 2019-07-24 18:49:53 +02:00
Christian Zimmermann
867c6e13e9 cast to dynmic range array for mutable container 2019-07-12 18:11:22 +02:00
Christian Zimmermann
015734fa16 no index synchronization in (const)operation class; directly use pos arg (makes some things thread save) 2019-07-12 12:45:41 +02:00
Christian Zimmermann
b79f010c87 add utilities in xfor.h + fix SIZE in SubExpr 2019-07-10 18:14:50 +02:00
Christian Zimmermann
a2d67ef78c fix: gcc 9 more pedantic in this case: int vs uint template arg 2019-07-05 17:40:26 +02:00
Christian Zimmermann
472abec3fd ma operation: parallel version of .to and .addto 2019-05-24 13:55:07 +02:00
Christian Zimmermann
a8efbd083a piloop: handles iloop instances wrt to thread safety 2019-05-22 16:36:44 +02:00
Christian Zimmermann
23078a8b2d return type of Operation -> auto 2019-05-20 18:32:19 +02:00
Christian Zimmermann
8ce2f52070 iloop + c++14 2019-05-17 15:10:33 +02:00
Christian Zimmermann
8e271ca0e4 anonymous range: FType + utils: anonToDynView: MultiArray -> MultiArrayBase 2019-05-15 20:37:00 +02:00
Christian Zimmermann
8e91aae948 assignExpr function 2019-05-10 18:14:13 +02:00
Christian Zimmermann
33d321d529 assign/plus -> const 2019-05-07 16:40:40 +02:00
Christian Zimmermann
41ca105e82 remove white space from string meta (multi range) 2019-04-23 12:47:14 +02:00
Christian Zimmermann
bd0485ba95 set target step size to 0 for contractions (otherwise map indices in contractions will not work correctly) 2019-04-05 20:20:39 +02:00
Christian Zimmermann
3f7cbceec9 singkle range: return range size when call by meta data is out of region 2019-04-04 19:28:45 +02:00
Christian Zimmermann
6326b32d6a generalize map range 2019-04-03 16:26:53 +02:00
Christian Zimmermann
505237c958 map range: use meta data of the output range + little fixes 2019-04-02 19:39:11 +02:00
Christian Zimmermann
844c7ef8e1 complete last change 2019-03-29 16:36:15 +01:00
Christian Zimmermann
fe4275766a map range: take operation as argument 2019-03-29 12:58:39 +01:00
Christian Zimmermann
45d25a4d76 some utils 2019-03-27 19:00:16 +01:00
Christian Zimmermann
a0a139b0a1 add some range creation utils 2019-03-27 13:33:01 +01:00
Christian Zimmermann
d109475d96 'partial assignment' expression + allow slice -> anonymous for trivial cases 2019-03-22 19:07:29 +01:00
Christian Zimmermann
f70efbeb82 use ptr directly in getStepSize + NO FORWARD in OpExpr in map (corrupted EVERYTHING) 2019-03-21 01:04:47 +01:00
Christian Zimmermann
84355b3118 add types 2019-03-20 21:52:21 +01:00
Christian Zimmermann
8a37107ac1 slight changes in range interface (typeNum) + fixes in dynamic range meta/index 2019-03-19 20:58:59 +01:00
Christian Zimmermann
8ed5d01c46 add further sreplace function to anonymous range 2019-03-19 10:33:07 +01:00
Christian Zimmermann
b2290e14e5 correction in last commit 2019-03-18 13:11:07 +01:00
Christian Zimmermann
389e4ec0a3 change allocator 2019-03-18 11:33:33 +01:00
Christian Zimmermann
de8d456f73 conversion between vectors with different allocator types 2019-03-17 23:56:35 +01:00
Christian Zimmermann
c277fbde53 fixes regarding last commit 2019-03-14 19:10:06 +01:00
Christian Zimmermann
d8ecf51698 char meta function in ranges 2019-03-14 14:20:38 +01:00
Christian Zimmermann
7003d68097 im com (dynamic meta) 2019-03-13 21:51:48 +01:00
Christian Zimmermann
a1a6b02bb5 add some utilities 2019-03-13 19:17:22 +01:00
Christian Zimmermann
861adac36a various fixes (relevant for higher level meta programing) 2019-03-12 21:00:15 +01:00
Christian Zimmermann
f47ca055db some fixes... 2019-03-11 19:24:34 +01:00
Christian Zimmermann
8f25e0aeb0 utilities: metaSlice + map range: mapPos 2019-03-08 13:09:10 +01:00
Christian Zimmermann
9489544972 remove master class + add separate parallel op root + pfor expression in parallel scope 2019-03-06 16:52:45 +01:00
Christian Zimmermann
948d9f58fd meta op root in func ma op 2019-03-05 19:40:26 +01:00
Christian Zimmermann
636e06bd5b add some utilities + more simd arithmetics 2019-03-01 18:13:51 +01:00
Christian Zimmermann
c75c585ce6 fix: correct use of mOrigDataPtr and mDataPtr in Operation classes 2019-02-27 21:37:20 +01:00
Christian Zimmermann
9fec5d6354 remove emacs bak file + fixes 2019-02-27 20:41:46 +01:00
Christian Zimmermann
b0063bb9e2 Merge branch 'dev' into merge 2019-02-27 19:05:03 +01:00
Christian Zimmermann
25fadae974 make comparison loop absolutely equivalent to ma test loop -> there is no notable difference in the performance anymore 2019-02-27 19:02:06 +01:00
Christian Zimmermann
09f8074910 NOW ALMOST 2019-02-27 13:37:53 +01:00
Christian Zimmermann
6f320fe9e9 still not better... 2019-02-26 18:56:57 +01:00
Christian Zimmermann
fb2062263e remove white spaces from range string meta 2019-02-25 18:56:37 +01:00
Christian Zimmermann
f82cba0c2f try next fix reg last com 2019-02-19 16:35:01 +01:00
Christian Zimmermann
ad16ee4398 try next fix reg last com 2019-02-19 16:31:11 +01:00
Christian Zimmermann
f47d3fdb8a try fix reg last com 2019-02-19 16:27:50 +01:00
Christian Zimmermann
709e30a4a1 extra operation to function 2019-02-19 16:20:38 +01:00
Christian Zimmermann
5fdf6970c9 ... 2019-02-16 18:27:35 +01:00
Christian Zimmermann
54688698c8 fix self operators (+=, -=) 2019-02-16 18:24:32 +01:00
Christian Zimmermann
59ffd5adcc use omp simd in performance comparision loop 2019-02-14 22:04:33 +01:00
Christian Zimmermann
53c433f8df vectorizes, but not that optimal... 2019-02-14 14:39:59 +01:00
Christian Zimmermann
6d776f853d im com 2019-02-13 21:59:13 +01:00
Christian Zimmermann
0326ebc505 conversions 2019-02-12 22:34:09 +01:00
Christian Zimmermann
f339778a59 generalize single range (static size parameter, -> -1 if non-static size) 2019-02-12 20:26:38 +01:00
Christian Zimmermann
697aac6b94 rename operation base operator() to to() (avoid conflicts) 2019-02-06 19:34:17 +01:00
Christian Zimmermann
60ceb6e9a1 fix SpaceType::NONE outRange size 2019-02-06 15:09:21 +01:00
Christian Zimmermann
8db40f0610 add missing FType in special ranges 2019-02-06 14:11:17 +01:00
Christian Zimmermann
811054f14f extend helper tools according to last commit 2019-02-06 13:01:14 +01:00
Christian Zimmermann
3ccc5277e3 generalize map range: specification of out range type 2019-02-06 12:21:42 +01:00
Christian Zimmermann
75ead6fdba anonymous range: sreplace -> const; return new range instead 2019-01-18 17:49:58 +01:00
Christian Zimmermann
8048c573fa fix: forgot pifor in subrange 2019-01-16 12:33:50 +01:00
Christian Zimmermann
8237fba438 complete last commit... 2019-01-16 10:39:58 +01:00
Christian Zimmermann
e1b6271a95 update readme + multithread one test 2019-01-16 10:23:18 +01:00
Christian Zimmermann
6d1682efa2 enable multi threading 2019-01-15 17:41:43 +01:00
Christian Zimmermann
a1d843c01b change operation arithmetics: distinguish between assignment and contraction (= vs +=) 2019-01-15 14:34:59 +01:00
Christian Zimmermann
e04d9aa5bc parallel for 2019-01-14 18:39:09 +01:00
Christian Zimmermann
90816bc471 now fixed 2018-12-25 18:57:51 +01:00
Christian Zimmermann
22b93b0612 prelim fix... (CAUTION) 2018-12-25 17:48:52 +01:00
Christian Zimmermann
edae293f14 ... nope, try again... 2018-12-25 10:35:50 +01:00
Christian Zimmermann
5efe52b17e fix size_t vs int error appearing at build server 2018-12-25 10:31:52 +01:00
Christian Zimmermann
1f88bd2c58 fix cathastrophic bug (although it did not affect anything so far) 2018-12-24 18:55:11 +01:00
Christian Zimmermann
f6372fcbdb fix | operator for index tuple 2018-12-24 15:42:44 +01:00
Christian Zimmermann
675b0dd9f0 fixes.. 2018-12-23 19:33:01 +01:00
Christian Zimmermann
d5a1422f34 sub range contraction (tested) 2018-12-23 13:01:13 +01:00
Christian Zimmermann
90c0bee44c fix 'step bug' (sub range) 2018-12-21 23:46:58 +01:00
Christian Zimmermann
9a4f6e7386 ...fixed 2018-12-21 23:02:43 +01:00
Christian Zimmermann
bc372257f8 sub range (not fully fixed: do for loop -> sub expr again) 2018-12-21 18:25:45 +01:00
Christian Zimmermann
a4adf54502 im com (sub range) 2018-12-21 11:30:39 +01:00
Christian Zimmermann
ae6ec95119 multiple range cast in anonymous range 2018-12-18 12:44:50 +01:00
Christian Zimmermann
bdabee1335 fixes in dynamic index (ForMaker) + set offset of operation by given index 2018-12-02 22:08:51 +01:00
Christian Zimmermann
7331ff608f dynamic re-ordering assignment 2018-12-02 18:46:44 +01:00
Christian Zimmermann
6671c784f3 add pre-execution function to operation classes 2018-12-02 17:40:50 +01:00
Christian Zimmermann
f17d807d1a sub() function in range base 2018-11-30 00:16:28 +01:00
Christian Zimmermann
ca2e47b986 some utilities + corrections in 'call by lambda' operation 2018-11-29 19:37:32 +01:00
Christian Zimmermann
be205808e4 yml (int vs size_t) 2018-11-27 12:09:52 +01:00
Christian Zimmermann
354c7d92fe some fixes in new fma routine 2018-11-26 18:23:38 +01:00
Christian Zimmermann
21f6dc0a6c some clean up + README 2018-11-26 15:22:52 +01:00
Christian Zimmermann
ae534e2493 use meta operation in fma (should be faster) 2018-11-26 13:13:23 +01:00
Christian Zimmermann
1aa5ed10d9 operation via lambda expression ( a(T,args...) function in OperationClass) 2018-11-26 12:10:38 +01:00
Christian Zimmermann
29c0f48f77 add 'id' function to range base 2018-11-19 17:00:35 +01:00
Christian Zimmermann
ef6876adc9 minor change in type map (easier to register types) 2018-11-18 15:50:38 +01:00
Christian Zimmermann
3acbf3afeb further types in type map 2018-11-15 11:46:57 +01:00
Christian Zimmermann
9137aaec23 install .a 2018-11-09 15:11:28 +01:00
Christian Zimmermann
e907874f3d static + shared 2018-11-09 15:06:28 +01:00
Christian Zimmermann
637aa585bd target prop 2018-11-09 10:39:25 +01:00
Christian Zimmermann
7447326e0f .a -> .so 2018-11-08 20:54:28 +01:00
Christian Zimmermann
15388dcdfa forgot dataHeader() in ValueRange -> fix 2018-11-07 13:27:45 +01:00
Christian Zimmermann
fa1f16a3c8 addendum to last commit 2018-11-07 12:38:26 +01:00
Christian Zimmermann
6626384f69 dataHeader function 2018-11-07 10:58:07 +01:00
Christian Zimmermann
772d9c2828 im com 2018-11-06 16:35:37 +01:00
Christian Zimmermann
e78b2db16c minor fix 2018-11-04 18:39:49 +01:00
Christian Zimmermann
3c653535bc some fixes (expressions) + dynamic <-> anonymous cast utilities 2018-11-03 22:03:35 +01:00
Christian Zimmermann
69e4e4bf8e some fixes / utility extensions regarding extarnal usage/linking 2018-11-02 18:58:58 +01:00
Christian Zimmermann
e4a34ba644 XCOMMAX() 2018-11-02 17:45:07 +01:00
Christian Zimmermann
307a714996 dynamic ranges + dynamic index operation works 2018-11-01 22:11:08 +01:00
Christian Zimmermann
e5792bcf7b fix dynamic ifor issue (at least it compiles...) 2018-10-30 19:39:45 +01:00
Christian Zimmermann
305f45103c dynamic range test works 2018-10-29 14:19:42 +01:00
Christian Zimmermann
9cf294f485 dynamic index compiles 2018-10-27 19:51:55 +02:00
Christian Zimmermann
1b8c2edf45 im com (...) 2018-10-23 20:02:01 +02:00
Christian Zimmermann
d7aea8a164 im com (...) 2018-10-22 17:55:52 +02:00
Christian Zimmermann
1fa60ea9c8 im com (dynamic range) 2018-10-22 14:27:55 +02:00
Christian Zimmermann
7dc015a97a expression base + dynamic expressio (xfor) 2018-10-21 22:52:01 +02:00
Christian Zimmermann
610994e52f isMeta function in single range/index 2018-10-14 16:59:27 +02:00
Christian Zimmermann
a4d0c380dc factory type in range classes 2018-10-08 22:06:57 +02:00
Christian Zimmermann
be016abf3a final at [] + assignment between Container Indices of different data type 2018-10-06 13:14:24 +02:00
Christian Zimmermann
ca01dcaa10 fix: copying slicecontraction changes instance of internal targte array -> use shared ptr 2018-09-25 14:06:17 +02:00
Christian Zimmermann
d13d9f7b72 overwrite default assignment operator in OperationRoot 2018-09-24 13:28:40 +02:00
Christian Zimmermann
db32888ce9 operator=(double) for multi_array 2018-09-22 20:19:08 +02:00
Christian Zimmermann
a55b8d8b9f clean up 2018-09-19 10:06:30 +02:00
Christian Zimmermann
46e5218167 fix max() issue in map range; TODO: remove debug tokens 2018-09-18 22:52:55 +02:00
Christian Zimmermann
8e5e5af924 fix this ptr copy/overwrite issue in index interface class 2018-09-18 14:30:49 +02:00
Christian Zimmermann
6c404a272b add reg last commit (value range) + MetaMap + try to fix the map index link issue (no success) 2018-09-18 01:44:11 +02:00
Christian Zimmermann
143ec78355 forgot to use new 'value' functions -> use it now; still works 2018-09-17 16:34:47 +02:00
Christian Zimmermann
174cdd4bf6 use step size in for target -> re-ordered operations on slice should be possible now 2018-09-17 16:21:23 +02:00
Christian Zimmermann
3fd74cfc4c some fixes 2018-09-17 11:06:24 +02:00
Christian Zimmermann
67492e24b7 fix slice step size issue 2018-09-16 18:53:28 +02:00
Christian Zimmermann
9229ead298 map utils 2018-09-16 16:35:46 +02:00
Christian Zimmermann
9c5c361fde array ptr in const op root 2018-09-16 15:53:56 +02:00
Christian Zimmermann
98635027de slice contr const 2018-09-15 16:33:49 +02:00
Christian Zimmermann
b7e40ca71b slice contraction (tested, works) 2018-09-15 01:58:17 +02:00
Christian Zimmermann
6ba140aa97 im com 2018-09-14 17:50:40 +02:00
Christian Zimmermann
c0a72e72b4 im com 2018-09-14 17:50:19 +02:00
Christian Zimmermann
b257ab4db3 some utilities 2018-09-13 17:42:16 +02:00
Christian Zimmermann
9b79c96eea const slice def class 2018-09-13 13:28:40 +02:00
Christian Zimmermann
405df0c426 fix non-static functor issues 2018-09-12 20:56:55 +02:00
Christian Zimmermann
6896cc3ca7 value range + fix in header/include structure 2018-09-12 17:05:27 +02:00
Christian Zimmermann
de6b80a90b slice utilities 2018-09-11 18:38:30 +02:00
Christian Zimmermann
91acb873e1 small adjustments 2018-09-08 18:46:04 +02:00
Christian Zimmermann
9e5c51428a various fixes and adds -> map range test works 2018-08-20 17:50:04 +02:00
Christian Zimmermann
3abdf61c33 wrong operation type returned by map operator 2018-08-18 16:40:20 +02:00
Christian Zimmermann
6597ac6cb0 fix compile errors in map range 2018-08-18 16:24:13 +02:00
Christian Zimmermann
bcd875f7d2 again devel of map range + usage of std::map single index 2018-08-08 18:20:08 +02:00
Christian Zimmermann
89eb03ab7f im com (single expression) 2018-08-07 23:39:35 +02:00
Christian Zimmermann
f5cf35ae69 start with map range (not finished) 2018-08-07 21:49:21 +02:00
Christian Zimmermann
8ff366d40f some fixes 2018-08-06 19:20:57 +02:00
Christian Zimmermann
5ae28f9504 fixes + anonymous slice option 2018-08-06 15:20:06 +02:00
Christian Zimmermann
86dc006b6f static cast function for operation classes + some fixes 2018-08-06 12:46:12 +02:00
Christian Zimmermann
eb2bf52273 im com (fix compile error) 2018-08-05 23:11:18 +02:00
Christian Zimmermann
65d907df15 im com 2018-08-05 18:45:20 +02:00
Christian Zimmermann
6d52a6cdd9 fix ipow bug and anonymous meta string bug 2018-07-29 22:48:22 +02:00
Christian Zimmermann
aceffc1af6 override -> final + MetaOperationRoot (which does not work so far) 2018-07-29 19:17:26 +02:00
Christian Zimmermann
15f4f38e48 fix null range instace issue 2018-07-29 14:35:53 +02:00
Christian Zimmermann
1523fa024e char** to const char** in range stream parser + minor changes (utilities) 2018-07-28 20:05:58 +02:00
Christian Zimmermann
11a53de452 range stream parsing works 2018-07-28 17:32:02 +02:00
Christian Zimmermann
a3ac073975 extent operation unit test to be sure 2018-07-22 23:05:25 +02:00
Christian Zimmermann
8dc5dd3317 single index parsing from creation string works 2018-07-22 21:59:31 +02:00
Christian Zimmermann
c361c2337f start implementing string to range parsing 2018-07-22 18:32:43 +02:00
Christian Zimmermann
f14edd17e4 string meta via index 2018-07-22 16:16:24 +02:00
Christian Zimmermann
fc40f83dd8 enable string meta data info by virtual function in RangeBase 2018-07-21 18:05:53 +02:00
Christian Zimmermann
341a70ef06 various fixes 2018-07-20 19:13:42 +02:00
Christian Zimmermann
3c72dc98a0 bug fix in resolve Range type routines + some clean up 2018-07-19 21:27:09 +02:00
Christian Zimmermann
c043008217 function structs corresponding to math.h functions + some code optimizations 2018-07-19 19:29:52 +02:00
Christian Zimmermann
5c4f0c3f1b some operation utilities 2018-07-19 13:00:34 +02:00
Christian Zimmermann
7735a1f9fb minor change 2018-07-17 23:13:57 +02:00
Christian Zimmermann
e2dc8b3fea crucial arithmetics extension: operations involving native c++ scalars should be possible 2018-07-17 22:10:36 +02:00
Christian Zimmermann
4499dfd7fc add null range + static function base class 2018-07-17 20:01:25 +02:00
Christian Zimmermann
a5292ef2ab some utilities (move all to helper_tools.h) 2018-07-17 13:56:59 +02:00
Christian Zimmermann
edab24b63a enable anonymous cast (only implemented for multi array itself; remaining classes non-trivial) 2018-07-16 18:52:02 +02:00
Christian Zimmermann
c6914831af make multi ranges of specific sub range instances unique 2018-07-16 17:40:39 +02:00
Christian Zimmermann
41f2e60d6e anonymous range: save cast test works 2018-07-16 15:55:55 +02:00
Christian Zimmermann
fcb7ce575e first anonymous test works 2018-07-16 14:44:55 +02:00
Christian Zimmermann
764bcac758 anonymous range constructor: promote subrange layer of anonymous range arguments 2018-07-16 12:58:06 +02:00
Christian Zimmermann
b9e5d6a898 first scast version (UNTESTED) 2018-07-16 00:12:05 +02:00
Christian Zimmermann
0d951f892a im com (while extending anonymous range) 2018-07-15 15:22:15 +02:00
Christian Zimmermann
689ad3801f add pspace range + some dev reg anonymous range (scast implementation missing) 2018-07-13 18:23:58 +02:00
Christian Zimmermann
3367ab684a generalize operation types (func args and return types may be diffent now) 2018-05-20 16:45:03 +02:00
Christian Zimmermann
3b2889d38f pack num of operation forwarding 2018-05-20 15:15:05 +02:00
Christian Zimmermann
8f94517aa4 fix typos and formal stuff -> tests work again 2018-05-18 20:23:21 +02:00
Christian Zimmermann
451d58c037 type operations (after debugging operation forwarding should be possible) 2018-05-18 17:45:40 +02:00
Christian Zimmermann
92bb02be21 im com 2018-05-15 21:18:21 +02:00
Christian Zimmermann
66be374688 preliminray fix of the meta data bug in non-containing ranges/indices 2018-05-10 14:34:56 +02:00
Christian Zimmermann
3f20bc1f07 resolve merge conflict 2018-05-09 17:34:44 +02:00
Christian Zimmermann
3e5cc2ee5d vdata for debug 2018-05-09 17:33:43 +02:00
Christian Zimmermann
6e1da5eed3 add Scalar<T> + cast to T 2018-04-29 17:41:28 +02:00
Christian Zimmermann
714eecd663 non-static function call in Operation + utils in anonymous range 2018-04-28 17:33:57 +02:00
Christian Zimmermann
1c7a21a8b8 functional operations work 2018-03-22 22:29:21 +01:00
Christian Zimmermann
dfd153baab fix (wrong test quantity) 2018-03-22 12:22:20 +01:00
Christian Zimmermann
3cae377b9f implement consistent override of () in FunctionalMultiArray; there is still the bug of last commit 2018-03-22 11:13:00 +01:00
Christian Zimmermann
379824064b compiles, but test fails 2018-03-21 20:00:32 +01:00
Christian Zimmermann
8f94c77f4d functional multi array test; there are some remaining issues (maybe conceptional)... 2018-03-21 19:18:57 +01:00
Christian Zimmermann
05fbcbf7a2 operation creation for functional multi_arrays 2018-03-21 16:11:05 +01:00
Christian Zimmermann
7fdaef7b2f meta ref in index + dynamic function 2018-03-19 18:38:53 +01:00
Christian Zimmermann
ea139067dd functional multi array... need general functional ma transform 2018-03-17 20:25:16 +01:00
Christian Zimmermann
cf724f60ed md-slice call works (with the restriction, that multi-indices cant be used) 2018-03-06 14:35:32 +01:00
Christian Zimmermann
fb6c5c47ae slice + blockSize fix -> simple slice calls work so far 2018-03-06 13:58:17 +01:00
Christian Zimmermann
dcb76cc450 im com (slice) 2018-03-05 21:52:12 +01:00
Christian Zimmermann
058d7503d7 im com (slice) 2018-03-05 18:46:29 +01:00
Christian Zimmermann
4df82f263e slice code seems to compile 2018-03-05 00:04:50 +01:00
Christian Zimmermann
10f6f75552 completely remove IndexInfo stuff 2018-03-02 17:45:31 +01:00
Christian Zimmermann
b045b2d7e1 almost remove index_info dependency -> performance lack down to factor 1.15 2018-03-02 16:37:11 +01:00
Christian Zimmermann
219a267995 index prototype in each ma instance + simplify op-index initialization procedure 2018-03-02 13:35:50 +01:00
Christian Zimmermann
516f2ed3a4 ContainerRange = MultiRange (NOT FINISHED); TODO: Cast MultiIndex <-> ContainerIndex + Instanciate Prototype of ContainerIndex within each MultiArray(Base)-Instance 2018-03-01 18:16:12 +01:00
Christian Zimmermann
ca70cd19f7 reorganize multi_array(_base) headers + slice header (NOT FINISHED) 2018-02-16 18:17:22 +01:00
Christian Zimmermann
901fae0735 put ma iterator stuff completely in ContainerRange (<T> dependence) 2018-02-15 20:06:14 +01:00
Christian Zimmermann
d7e5098639 remove VIWB stuff 2018-02-15 16:24:54 +01:00
Christian Zimmermann
31de87229d +ClassicRange, changes in anonymous stuff (still not fixed completely -> AnonymousIndex missing) 2018-02-14 21:37:18 +01:00
Christian Zimmermann
ddc1a518d2 further lib fixes... 2018-02-14 18:15:34 +01:00
Christian Zimmermann
a78fd668bc re-organize cmake / src / build structure (-> linkable) 2018-02-14 16:44:55 +01:00
Christian Zimmermann
ad59b5519d unit tests should all work again 2018-02-14 00:38:44 +01:00
Christian Zimmermann
bcc6b98882 im com (re-enabling oputest) 2018-02-13 21:36:41 +01:00
Christian Zimmermann
c674c541a1 clean up + switch loops -> auto vectorizing seems to work; TODO: re-enable step sizes... 2018-02-13 18:18:17 +01:00
Christian Zimmermann
adc25abcaf loop unrolling seeems to work now 2018-02-13 16:54:13 +01:00
Christian Zimmermann
4d8d4d31f6 im com.. 2018-02-13 15:38:03 +01:00
Christian Zimmermann
87a699a445 im com; TODO: rootSteps, mkOpExpr 2018-02-12 18:26:56 +01:00
Christian Zimmermann
ec844f5b68 Merge remote-tracking branch 'origin/improve-performance-2' into improve-performance 2018-02-12 10:10:51 +01:00
Christian Zimmermann
203db8253a +exttype (xfor_devel) ; remove references ; TODO : rootSteps problem 2018-02-12 00:11:24 +01:00
Christian Zimmermann
ef7760a5b3 arithmetric functions -> accumulation 2018-02-06 13:44:15 +01:00
Christian Zimmermann
5c96e47f69 +ForParam<P> ; does not compile... 2018-01-18 23:14:49 +01:00
Christian Zimmermann
c1e1c85f7a shift arithmetric operations in separate header file 2018-01-15 18:31:47 +01:00
Christian Zimmermann
0cabc9e9ab compiles, basically works correctly (except for 'for' extensions setting, which is not finished) 2018-01-15 14:56:22 +01:00
Christian Zimmermann
8f49ac93f5 compiles now; TODO: 'HiddenFor' (no counting of master position therein) 2018-01-14 22:41:35 +01:00
Christian Zimmermann
96d9b4808e im com while fixing (still NOT FINISHED) 2018-01-14 19:15:05 +01:00
Christian Zimmermann
740004d160 start fixing compile errors... (NOT FINISHED) 2018-01-13 18:07:52 +01:00
Christian Zimmermann
9d7ab24d8c adds to last commit 2018-01-09 22:38:46 +01:00
Christian Zimmermann
529ae3353e some implementations reg FOR-utilities (step-array creation still missing) 2018-01-09 17:24:10 +01:00
Christian Zimmermann
3b36f96bfa im com 2018-01-09 11:37:26 +01:00
Christian Zimmermann
a340bda404 im com 2018-01-08 18:38:13 +01:00
Christian Zimmermann
6460276bc4 assignment expression class 2018-01-07 23:08:16 +01:00
Christian Zimmermann
ba86c2f9fa im com while implementing xfor (compiles without instanciating templates) 2018-01-07 22:33:34 +01:00
Christian Zimmermann
85f221f5e1 some fixes, compiles again 2018-01-07 16:57:01 +01:00
Christian Zimmermann
728f36f538 im com (start xfor) 2018-01-05 13:56:16 +01:00
Christian Zimmermann
0bbbdf7168 static polymorphism in Block* + remove unused code 2018-01-04 11:43:45 +01:00
Christian Zimmermann
2116abc556 remove unused code + BlockArray 2018-01-03 17:39:45 +01:00
Christian Zimmermann
358f327a63 replace VIWB by IndexInfo in blocking routines -> remaining performance lack in get() 2017-12-26 17:40:53 +01:00
Christian Zimmermann
a8c62d0481 some corrections... 2017-12-25 17:06:02 +01:00
Christian Zimmermann
c349ff7bd0 index info compiles... 2017-12-25 01:37:59 +01:00
Christian Zimmermann
9e3e866b06 + IndexInfo 2017-12-24 18:14:07 +01:00
Christian Zimmermann
b503df814b separate performance test 2017-12-23 18:54:10 +01:00
Christian Zimmermann
776509e620 ref in BlockBinaryOp 2017-12-22 14:15:09 +01:00
Christian Zimmermann
d8e62cc539 T* in BlockResult instead of std::vector 2017-12-22 14:01:26 +01:00
Christian Zimmermann
edcbeb87eb move block() into op master instanciation -> more save 2017-12-19 19:05:10 +01:00
Christian Zimmermann
12ce081934 remove time wasting debug remainder from index position calculation -> performance improvement by factor 10-20 2017-12-18 19:02:43 +01:00
Christian Zimmermann
ce48f54e9b int vs size_t 2017-12-18 17:17:43 +01:00
Christian Zimmermann
eae1b48b28 fix errors thrown by clang 2017-12-18 14:19:07 +01:00
Christian Zimmermann
dad295ef37 finish re-sorting code and files 2017-12-18 13:13:13 +01:00
Christian Zimmermann
7a716d662d im com 2017-12-18 11:19:04 +01:00
Christian Zimmermann
5f319cf1d5 im com (sort code) 2017-12-17 19:28:01 +01:00
Christian Zimmermann
346101b994 im com 2017-12-17 14:40:04 +01:00
Christian Zimmermann
a3acfedd9b im com 2017-12-17 14:16:37 +01:00
Christian Zimmermann
f38b675314 im com (cleaning up) 2017-12-16 20:38:57 +01:00
Christian Zimmermann
e46abff94c spin range contraction test + some simplifying tools 2017-12-15 14:47:02 +01:00
Christian Zimmermann
0584a3af38 start implementing some spin contraction test.. extensions of the library seem to be useful 2017-12-14 18:27:42 +01:00
Christian Zimmermann
499d49d89d fix last issue -> non-virtual indices completely work now 2017-12-12 18:54:45 +01:00
Christian Zimmermann
e798de6469 two tests work again, oputest does not... 2017-12-12 16:16:09 +01:00
Christian Zimmermann
f691c9ea66 fixing some of the compile errors 2017-12-12 11:15:39 +01:00
Christian Zimmermann
888c7f6a07 basically finish de-virtualization of indices; TODO: const THIS + 'incomplete type' issue + probably further (NOT COMPILABLE) 2017-12-11 18:49:43 +01:00