Commit graph

341 commits

Author SHA1 Message Date
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
Christian Zimmermann
defa568c5b start removing virtualities in Index*; intr VIWB for flexible use instead; Missing reg this: Multi/ContainerIndex, PackNum, OpClasses (NOT COMPILABLE) 2017-12-10 18:41:53 +01:00
Christian Zimmermann
1b251e5867 anonymous range should be complete now (still UNTESTED) 2017-12-07 18:11:24 +01:00
Christian Zimmermann
1347615cb3 im com (a-range not finished) 2017-12-05 17:31:57 +01:00
Christian Zimmermann
c5053b02cb anonymous range + im com while implementing first spec of srange (spin) 2017-12-04 18:29:18 +01:00
Christian Zimmermann
8e297d85d8 ulong 2017-11-20 22:22:57 +01:00
Christian Zimmermann
acca0b4513 remove template-cc's + clean up further... 2017-11-20 21:35:25 +01:00
Christian Zimmermann
9a58808be1 addition to last commit 2017-11-20 21:00:52 +01:00
Christian Zimmermann
4b66edff5b + getIndex Function 2017-11-20 20:53:48 +01:00
Christian Zimmermann
650b41967e correct unit test 2017-11-15 17:40:31 +01:00
Christian Zimmermann
5bc469296b ... 2017-11-15 17:35:44 +01:00
Christian Zimmermann
54dfcdb85d first contraction test works 2017-11-05 18:46:38 +01:00
Christian Zimmermann
8dfa81a99e contraction compiles (untested) 2017-11-04 22:49:55 +01:00
Christian Zimmermann
83b0c427a5 contraction code (no compile test) 2017-11-03 23:03:29 +01:00
Christian Zimmermann
8b23a173da im com 2017-11-02 21:20:31 +01:00
Christian Zimmermann
14bf7d003c start re-implementing Contraction + performance check (AWESOME) + optimization level 3 2017-11-01 21:26:45 +01:00
Christian Zimmermann
3e502b2496 remove virtual stuff in block and operation classes 2017-10-31 19:22:34 +01:00
Christian Zimmermann
b75f2b4cf8 delete old/unused code 2017-10-30 18:00:07 +01:00
Christian Zimmermann
0570a502c0 fix this funny bug, which was (for some strange reason) not detected within the commits a few weeks ago... 2017-10-30 17:52:27 +01:00
Christian Zimmermann
8620c076be xround ... there is some weird bug within the last commit 2017-10-29 19:06:04 +01:00
Christian Zimmermann
87c4a9f162 using blocking routines all unit tests work so far 2017-09-12 18:36:05 +02:00
Christian Zimmermann
bb6f18cf1c OpTest_MDim.ExecOp2 works... OpTest_MDim.ExecOp3 does not but at least compiles... 2017-09-11 13:55:56 +02:00
Christian Zimmermann
7a17aba37d OpTest_MDim.ExecOp1 works... 2017-09-11 12:54:24 +02:00
Christian Zimmermann
e0d00e48a6 im com 2017-09-11 09:58:03 +02:00
Christian Zimmermann
9aac8afcd9 blocking: OpTest_1Dim.ExecOp works 2017-09-09 19:59:09 +02:00
Christian Zimmermann
cfe93b60f8 im com while fixing compile errors... not finished... 2017-08-30 19:41:49 +02:00
Christian Zimmermann
7763bf4f77 im com (finished block draft) 2017-08-30 17:56:38 +02:00
Christian Zimmermann
b985b9c35c im com (block index locking) 2017-08-29 17:52:08 +02:00
Christian Zimmermann
fbcdfd7580 im com (block type scanning routines...) 2017-08-28 18:28:43 +02:00
Christian Zimmermann
aa803b81f2 im com 2017-08-27 17:52:50 +02:00
Christian Zimmermann
0d2a5e22e2 introduce Block classes + prepare operation code for blocking (in future vectorization) 2017-08-26 22:53:02 +02:00
Christian Zimmermann
8a75177b39 add basic operations (+-*/) 2017-08-26 17:18:42 +02:00
Christian Zimmermann
f019b4c2ff mdim test3 works 2017-08-26 16:45:46 +02:00
Christian Zimmermann
c4431a83a9 second mdim op test works 2017-08-25 22:33:05 +02:00
Christian Zimmermann
8a1cc35089 fix copyInst <-> copy -- bug -> first mdim op test works 2017-08-25 22:03:20 +02:00
Christian Zimmermann
f99e55d4fd change ma templ args -> explicit subranges (compiles, unit tests work) 2017-08-25 17:02:23 +02:00
Christian Zimmermann
b50620a451 make first operation test run (index copying not supported at the moment) 2017-08-11 16:45:03 +02:00
Christian Zimmermann
0412be2349 im com 2017-08-11 15:26:40 +02:00
Christian Zimmermann
a9611b40e5 im com 2017-08-11 11:30:27 +02:00
Christian Zimmermann
1ffffa568f start operation rewriting 2017-08-10 15:12:26 +02:00
Christian Zimmermann
3b0f67eb47 im com 2017-08-09 16:58:38 +02:00
Christian Zimmermann
d5bf63ac82 MultiArray.format + corresp unit test 2017-08-09 11:29:41 +02:00
Christian Zimmermann
1652e122ea simple 1dim multi array call works again (without operation stuff) 2017-08-08 18:07:58 +02:00