Dendro  5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
wavelet.h
1 //
2 // Created by milinda on 10/13/17.
9 //
10 
11 #ifndef SFCSORTBENCH_WAVELET_H
12 #define SFCSORTBENCH_WAVELET_H
13 
14 #define REFINE_INDEX_OFFSET 2
15 #define REFINE_END_OFFSET 9
16 #define NUM_REFINE_WAVELET_COEF 8
17 #define NUM_REFINE_INPUT_PTS 125
18 
19 #define COARSE_INDEX_OFFSET 4
20 #define COARSE_END_OFFSET 13
21 #define NUM_COARSE_WAVELET_COEF 27
22 #define NUM_COARSE_INPUT_PTS 64
23 
24 
25 // Below matrices are generated from HOMG (for uniform points.) matlab code. Don't change those unless you know exactly what you are doing.
26 
27 
28 
29 static const double IW_5_2_REFINE[NUM_REFINE_WAVELET_COEF][NUM_REFINE_INPUT_PTS] = {
30  { -0.0000596046 ,0.0007152557 ,0.0010728836 ,-0.0002384186 ,0.0000357628 ,0.0007152557 ,-0.0085830688 ,-0.0128746033 ,0.0028610229 ,-0.0004291534 ,0.0010728836 ,-0.0128746033 ,-0.0193119049 ,0.0042915344 ,-0.0006437302 ,-0.0002384186 ,0.0028610229 ,0.0042915344 ,-0.0009536743 ,0.0001430511 ,0.0000357628 ,-0.0004291534 ,-0.0006437302 ,0.0001430511 ,-0.0000214577 ,0.0007152557 ,-0.0085830688 ,-0.0128746033 ,0.0028610229 ,-0.0004291534 ,-0.0085830688 ,0.1029968262 ,0.1544952393 ,-0.0343322754 ,0.0051498413 ,-0.0128746033 ,0.1544952393 ,0.2317428589 ,-0.0514984131 ,0.0077247620 ,0.0028610229 ,-0.0343322754 ,-0.0514984131 ,0.0114440918 ,-0.0017166138 ,-0.0004291534 ,0.0051498413 ,0.0077247620 ,-0.0017166138 ,0.0002574921 ,0.0010728836 ,-0.0128746033 ,-0.0193119049 ,0.0042915344 ,-0.0006437302 ,-0.0128746033 ,0.1544952393 ,0.2317428589 ,-0.0514984131 ,0.0077247620 ,-0.0193119049 ,0.2317428589 ,0.3476142883 ,-0.0772476196 ,0.0115871429 ,0.0042915344 ,-0.0514984131 ,-0.0772476196 ,0.0171661377 ,-0.0025749207 ,-0.0006437302 ,0.0077247620 ,0.0115871429 ,-0.0025749207 ,0.0003862381 ,-0.0002384186 ,0.0028610229 ,0.0042915344 ,-0.0009536743 ,0.0001430511 ,0.0028610229 ,-0.0343322754 ,-0.0514984131 ,0.0114440918 ,-0.0017166138 ,0.0042915344 ,-0.0514984131 ,-0.0772476196 ,0.0171661377 ,-0.0025749207 ,-0.0009536743 ,0.0114440918 ,0.0171661377 ,-0.0038146973 ,0.0005722046 ,0.0001430511 ,-0.0017166138 ,-0.0025749207 ,0.0005722046 ,-0.0000858307 ,0.0000357628 ,-0.0004291534 ,-0.0006437302 ,0.0001430511 ,-0.0000214577 ,-0.0004291534 ,0.0051498413 ,0.0077247620 ,-0.0017166138 ,0.0002574921 ,-0.0006437302 ,0.0077247620 ,0.0115871429 ,-0.0025749207 ,0.0003862381 ,0.0001430511 ,-0.0017166138 ,-0.0025749207 ,0.0005722046 ,-0.0000858307 ,-0.0000214577 ,0.0002574921 ,0.0003862381 ,-0.0000858307 ,0.0000128746 },
31  { 0.0000357628 ,-0.0002384186 ,0.0010728836 ,0.0007152557 ,-0.0000596046 ,-0.0004291534 ,0.0028610229 ,-0.0128746033 ,-0.0085830688 ,0.0007152557 ,-0.0006437302 ,0.0042915344 ,-0.0193119049 ,-0.0128746033 ,0.0010728836 ,0.0001430511 ,-0.0009536743 ,0.0042915344 ,0.0028610229 ,-0.0002384186 ,-0.0000214577 ,0.0001430511 ,-0.0006437302 ,-0.0004291534 ,0.0000357628 ,-0.0004291534 ,0.0028610229 ,-0.0128746033 ,-0.0085830688 ,0.0007152557 ,0.0051498413 ,-0.0343322754 ,0.1544952393 ,0.1029968262 ,-0.0085830688 ,0.0077247620 ,-0.0514984131 ,0.2317428589 ,0.1544952393 ,-0.0128746033 ,-0.0017166138 ,0.0114440918 ,-0.0514984131 ,-0.0343322754 ,0.0028610229 ,0.0002574921 ,-0.0017166138 ,0.0077247620 ,0.0051498413 ,-0.0004291534 ,-0.0006437302 ,0.0042915344 ,-0.0193119049 ,-0.0128746033 ,0.0010728836 ,0.0077247620 ,-0.0514984131 ,0.2317428589 ,0.1544952393 ,-0.0128746033 ,0.0115871429 ,-0.0772476196 ,0.3476142883 ,0.2317428589 ,-0.0193119049 ,-0.0025749207 ,0.0171661377 ,-0.0772476196 ,-0.0514984131 ,0.0042915344 ,0.0003862381 ,-0.0025749207 ,0.0115871429 ,0.0077247620 ,-0.0006437302 ,0.0001430511 ,-0.0009536743 ,0.0042915344 ,0.0028610229 ,-0.0002384186 ,-0.0017166138 ,0.0114440918 ,-0.0514984131 ,-0.0343322754 ,0.0028610229 ,-0.0025749207 ,0.0171661377 ,-0.0772476196 ,-0.0514984131 ,0.0042915344 ,0.0005722046 ,-0.0038146973 ,0.0171661377 ,0.0114440918 ,-0.0009536743 ,-0.0000858307 ,0.0005722046 ,-0.0025749207 ,-0.0017166138 ,0.0001430511 ,-0.0000214577 ,0.0001430511 ,-0.0006437302 ,-0.0004291534 ,0.0000357628 ,0.0002574921 ,-0.0017166138 ,0.0077247620 ,0.0051498413 ,-0.0004291534 ,0.0003862381 ,-0.0025749207 ,0.0115871429 ,0.0077247620 ,-0.0006437302 ,-0.0000858307 ,0.0005722046 ,-0.0025749207 ,-0.0017166138 ,0.0001430511 ,0.0000128746 ,-0.0000858307 ,0.0003862381 ,0.0002574921 ,-0.0000214577 },
32  { 0.0000357628 ,-0.0004291534 ,-0.0006437302 ,0.0001430511 ,-0.0000214577 ,-0.0002384186 ,0.0028610229 ,0.0042915344 ,-0.0009536743 ,0.0001430511 ,0.0010728836 ,-0.0128746033 ,-0.0193119049 ,0.0042915344 ,-0.0006437302 ,0.0007152557 ,-0.0085830688 ,-0.0128746033 ,0.0028610229 ,-0.0004291534 ,-0.0000596046 ,0.0007152557 ,0.0010728836 ,-0.0002384186 ,0.0000357628 ,-0.0004291534 ,0.0051498413 ,0.0077247620 ,-0.0017166138 ,0.0002574921 ,0.0028610229 ,-0.0343322754 ,-0.0514984131 ,0.0114440918 ,-0.0017166138 ,-0.0128746033 ,0.1544952393 ,0.2317428589 ,-0.0514984131 ,0.0077247620 ,-0.0085830688 ,0.1029968262 ,0.1544952393 ,-0.0343322754 ,0.0051498413 ,0.0007152557 ,-0.0085830688 ,-0.0128746033 ,0.0028610229 ,-0.0004291534 ,-0.0006437302 ,0.0077247620 ,0.0115871429 ,-0.0025749207 ,0.0003862381 ,0.0042915344 ,-0.0514984131 ,-0.0772476196 ,0.0171661377 ,-0.0025749207 ,-0.0193119049 ,0.2317428589 ,0.3476142883 ,-0.0772476196 ,0.0115871429 ,-0.0128746033 ,0.1544952393 ,0.2317428589 ,-0.0514984131 ,0.0077247620 ,0.0010728836 ,-0.0128746033 ,-0.0193119049 ,0.0042915344 ,-0.0006437302 ,0.0001430511 ,-0.0017166138 ,-0.0025749207 ,0.0005722046 ,-0.0000858307 ,-0.0009536743 ,0.0114440918 ,0.0171661377 ,-0.0038146973 ,0.0005722046 ,0.0042915344 ,-0.0514984131 ,-0.0772476196 ,0.0171661377 ,-0.0025749207 ,0.0028610229 ,-0.0343322754 ,-0.0514984131 ,0.0114440918 ,-0.0017166138 ,-0.0002384186 ,0.0028610229 ,0.0042915344 ,-0.0009536743 ,0.0001430511 ,-0.0000214577 ,0.0002574921 ,0.0003862381 ,-0.0000858307 ,0.0000128746 ,0.0001430511 ,-0.0017166138 ,-0.0025749207 ,0.0005722046 ,-0.0000858307 ,-0.0006437302 ,0.0077247620 ,0.0115871429 ,-0.0025749207 ,0.0003862381 ,-0.0004291534 ,0.0051498413 ,0.0077247620 ,-0.0017166138 ,0.0002574921 ,0.0000357628 ,-0.0004291534 ,-0.0006437302 ,0.0001430511 ,-0.0000214577 },
33  { -0.0000214577 ,0.0001430511 ,-0.0006437302 ,-0.0004291534 ,0.0000357628 ,0.0001430511 ,-0.0009536743 ,0.0042915344 ,0.0028610229 ,-0.0002384186 ,-0.0006437302 ,0.0042915344 ,-0.0193119049 ,-0.0128746033 ,0.0010728836 ,-0.0004291534 ,0.0028610229 ,-0.0128746033 ,-0.0085830688 ,0.0007152557 ,0.0000357628 ,-0.0002384186 ,0.0010728836 ,0.0007152557 ,-0.0000596046 ,0.0002574921 ,-0.0017166138 ,0.0077247620 ,0.0051498413 ,-0.0004291534 ,-0.0017166138 ,0.0114440918 ,-0.0514984131 ,-0.0343322754 ,0.0028610229 ,0.0077247620 ,-0.0514984131 ,0.2317428589 ,0.1544952393 ,-0.0128746033 ,0.0051498413 ,-0.0343322754 ,0.1544952393 ,0.1029968262 ,-0.0085830688 ,-0.0004291534 ,0.0028610229 ,-0.0128746033 ,-0.0085830688 ,0.0007152557 ,0.0003862381 ,-0.0025749207 ,0.0115871429 ,0.0077247620 ,-0.0006437302 ,-0.0025749207 ,0.0171661377 ,-0.0772476196 ,-0.0514984131 ,0.0042915344 ,0.0115871429 ,-0.0772476196 ,0.3476142883 ,0.2317428589 ,-0.0193119049 ,0.0077247620 ,-0.0514984131 ,0.2317428589 ,0.1544952393 ,-0.0128746033 ,-0.0006437302 ,0.0042915344 ,-0.0193119049 ,-0.0128746033 ,0.0010728836 ,-0.0000858307 ,0.0005722046 ,-0.0025749207 ,-0.0017166138 ,0.0001430511 ,0.0005722046 ,-0.0038146973 ,0.0171661377 ,0.0114440918 ,-0.0009536743 ,-0.0025749207 ,0.0171661377 ,-0.0772476196 ,-0.0514984131 ,0.0042915344 ,-0.0017166138 ,0.0114440918 ,-0.0514984131 ,-0.0343322754 ,0.0028610229 ,0.0001430511 ,-0.0009536743 ,0.0042915344 ,0.0028610229 ,-0.0002384186 ,0.0000128746 ,-0.0000858307 ,0.0003862381 ,0.0002574921 ,-0.0000214577 ,-0.0000858307 ,0.0005722046 ,-0.0025749207 ,-0.0017166138 ,0.0001430511 ,0.0003862381 ,-0.0025749207 ,0.0115871429 ,0.0077247620 ,-0.0006437302 ,0.0002574921 ,-0.0017166138 ,0.0077247620 ,0.0051498413 ,-0.0004291534 ,-0.0000214577 ,0.0001430511 ,-0.0006437302 ,-0.0004291534 ,0.0000357628 },
34  { 0.0000357628 ,-0.0004291534 ,-0.0006437302 ,0.0001430511 ,-0.0000214577 ,-0.0004291534 ,0.0051498413 ,0.0077247620 ,-0.0017166138 ,0.0002574921 ,-0.0006437302 ,0.0077247620 ,0.0115871429 ,-0.0025749207 ,0.0003862381 ,0.0001430511 ,-0.0017166138 ,-0.0025749207 ,0.0005722046 ,-0.0000858307 ,-0.0000214577 ,0.0002574921 ,0.0003862381 ,-0.0000858307 ,0.0000128746 ,-0.0002384186 ,0.0028610229 ,0.0042915344 ,-0.0009536743 ,0.0001430511 ,0.0028610229 ,-0.0343322754 ,-0.0514984131 ,0.0114440918 ,-0.0017166138 ,0.0042915344 ,-0.0514984131 ,-0.0772476196 ,0.0171661377 ,-0.0025749207 ,-0.0009536743 ,0.0114440918 ,0.0171661377 ,-0.0038146973 ,0.0005722046 ,0.0001430511 ,-0.0017166138 ,-0.0025749207 ,0.0005722046 ,-0.0000858307 ,0.0010728836 ,-0.0128746033 ,-0.0193119049 ,0.0042915344 ,-0.0006437302 ,-0.0128746033 ,0.1544952393 ,0.2317428589 ,-0.0514984131 ,0.0077247620 ,-0.0193119049 ,0.2317428589 ,0.3476142883 ,-0.0772476196 ,0.0115871429 ,0.0042915344 ,-0.0514984131 ,-0.0772476196 ,0.0171661377 ,-0.0025749207 ,-0.0006437302 ,0.0077247620 ,0.0115871429 ,-0.0025749207 ,0.0003862381 ,0.0007152557 ,-0.0085830688 ,-0.0128746033 ,0.0028610229 ,-0.0004291534 ,-0.0085830688 ,0.1029968262 ,0.1544952393 ,-0.0343322754 ,0.0051498413 ,-0.0128746033 ,0.1544952393 ,0.2317428589 ,-0.0514984131 ,0.0077247620 ,0.0028610229 ,-0.0343322754 ,-0.0514984131 ,0.0114440918 ,-0.0017166138 ,-0.0004291534 ,0.0051498413 ,0.0077247620 ,-0.0017166138 ,0.0002574921 ,-0.0000596046 ,0.0007152557 ,0.0010728836 ,-0.0002384186 ,0.0000357628 ,0.0007152557 ,-0.0085830688 ,-0.0128746033 ,0.0028610229 ,-0.0004291534 ,0.0010728836 ,-0.0128746033 ,-0.0193119049 ,0.0042915344 ,-0.0006437302 ,-0.0002384186 ,0.0028610229 ,0.0042915344 ,-0.0009536743 ,0.0001430511 ,0.0000357628 ,-0.0004291534 ,-0.0006437302 ,0.0001430511 ,-0.0000214577 },
35  { -0.0000214577 ,0.0001430511 ,-0.0006437302 ,-0.0004291534 ,0.0000357628 ,0.0002574921 ,-0.0017166138 ,0.0077247620 ,0.0051498413 ,-0.0004291534 ,0.0003862381 ,-0.0025749207 ,0.0115871429 ,0.0077247620 ,-0.0006437302 ,-0.0000858307 ,0.0005722046 ,-0.0025749207 ,-0.0017166138 ,0.0001430511 ,0.0000128746 ,-0.0000858307 ,0.0003862381 ,0.0002574921 ,-0.0000214577 ,0.0001430511 ,-0.0009536743 ,0.0042915344 ,0.0028610229 ,-0.0002384186 ,-0.0017166138 ,0.0114440918 ,-0.0514984131 ,-0.0343322754 ,0.0028610229 ,-0.0025749207 ,0.0171661377 ,-0.0772476196 ,-0.0514984131 ,0.0042915344 ,0.0005722046 ,-0.0038146973 ,0.0171661377 ,0.0114440918 ,-0.0009536743 ,-0.0000858307 ,0.0005722046 ,-0.0025749207 ,-0.0017166138 ,0.0001430511 ,-0.0006437302 ,0.0042915344 ,-0.0193119049 ,-0.0128746033 ,0.0010728836 ,0.0077247620 ,-0.0514984131 ,0.2317428589 ,0.1544952393 ,-0.0128746033 ,0.0115871429 ,-0.0772476196 ,0.3476142883 ,0.2317428589 ,-0.0193119049 ,-0.0025749207 ,0.0171661377 ,-0.0772476196 ,-0.0514984131 ,0.0042915344 ,0.0003862381 ,-0.0025749207 ,0.0115871429 ,0.0077247620 ,-0.0006437302 ,-0.0004291534 ,0.0028610229 ,-0.0128746033 ,-0.0085830688 ,0.0007152557 ,0.0051498413 ,-0.0343322754 ,0.1544952393 ,0.1029968262 ,-0.0085830688 ,0.0077247620 ,-0.0514984131 ,0.2317428589 ,0.1544952393 ,-0.0128746033 ,-0.0017166138 ,0.0114440918 ,-0.0514984131 ,-0.0343322754 ,0.0028610229 ,0.0002574921 ,-0.0017166138 ,0.0077247620 ,0.0051498413 ,-0.0004291534 ,0.0000357628 ,-0.0002384186 ,0.0010728836 ,0.0007152557 ,-0.0000596046 ,-0.0004291534 ,0.0028610229 ,-0.0128746033 ,-0.0085830688 ,0.0007152557 ,-0.0006437302 ,0.0042915344 ,-0.0193119049 ,-0.0128746033 ,0.0010728836 ,0.0001430511 ,-0.0009536743 ,0.0042915344 ,0.0028610229 ,-0.0002384186 ,-0.0000214577 ,0.0001430511 ,-0.0006437302 ,-0.0004291534 ,0.0000357628 },
36  { -0.0000214577 ,0.0002574921 ,0.0003862381 ,-0.0000858307 ,0.0000128746 ,0.0001430511 ,-0.0017166138 ,-0.0025749207 ,0.0005722046 ,-0.0000858307 ,-0.0006437302 ,0.0077247620 ,0.0115871429 ,-0.0025749207 ,0.0003862381 ,-0.0004291534 ,0.0051498413 ,0.0077247620 ,-0.0017166138 ,0.0002574921 ,0.0000357628 ,-0.0004291534 ,-0.0006437302 ,0.0001430511 ,-0.0000214577 ,0.0001430511 ,-0.0017166138 ,-0.0025749207 ,0.0005722046 ,-0.0000858307 ,-0.0009536743 ,0.0114440918 ,0.0171661377 ,-0.0038146973 ,0.0005722046 ,0.0042915344 ,-0.0514984131 ,-0.0772476196 ,0.0171661377 ,-0.0025749207 ,0.0028610229 ,-0.0343322754 ,-0.0514984131 ,0.0114440918 ,-0.0017166138 ,-0.0002384186 ,0.0028610229 ,0.0042915344 ,-0.0009536743 ,0.0001430511 ,-0.0006437302 ,0.0077247620 ,0.0115871429 ,-0.0025749207 ,0.0003862381 ,0.0042915344 ,-0.0514984131 ,-0.0772476196 ,0.0171661377 ,-0.0025749207 ,-0.0193119049 ,0.2317428589 ,0.3476142883 ,-0.0772476196 ,0.0115871429 ,-0.0128746033 ,0.1544952393 ,0.2317428589 ,-0.0514984131 ,0.0077247620 ,0.0010728836 ,-0.0128746033 ,-0.0193119049 ,0.0042915344 ,-0.0006437302 ,-0.0004291534 ,0.0051498413 ,0.0077247620 ,-0.0017166138 ,0.0002574921 ,0.0028610229 ,-0.0343322754 ,-0.0514984131 ,0.0114440918 ,-0.0017166138 ,-0.0128746033 ,0.1544952393 ,0.2317428589 ,-0.0514984131 ,0.0077247620 ,-0.0085830688 ,0.1029968262 ,0.1544952393 ,-0.0343322754 ,0.0051498413 ,0.0007152557 ,-0.0085830688 ,-0.0128746033 ,0.0028610229 ,-0.0004291534 ,0.0000357628 ,-0.0004291534 ,-0.0006437302 ,0.0001430511 ,-0.0000214577 ,-0.0002384186 ,0.0028610229 ,0.0042915344 ,-0.0009536743 ,0.0001430511 ,0.0010728836 ,-0.0128746033 ,-0.0193119049 ,0.0042915344 ,-0.0006437302 ,0.0007152557 ,-0.0085830688 ,-0.0128746033 ,0.0028610229 ,-0.0004291534 ,-0.0000596046 ,0.0007152557 ,0.0010728836 ,-0.0002384186 ,0.0000357628 },
37  { 0.0000128746 ,-0.0000858307 ,0.0003862381 ,0.0002574921 ,-0.0000214577 ,-0.0000858307 ,0.0005722046 ,-0.0025749207 ,-0.0017166138 ,0.0001430511 ,0.0003862381 ,-0.0025749207 ,0.0115871429 ,0.0077247620 ,-0.0006437302 ,0.0002574921 ,-0.0017166138 ,0.0077247620 ,0.0051498413 ,-0.0004291534 ,-0.0000214577 ,0.0001430511 ,-0.0006437302 ,-0.0004291534 ,0.0000357628 ,-0.0000858307 ,0.0005722046 ,-0.0025749207 ,-0.0017166138 ,0.0001430511 ,0.0005722046 ,-0.0038146973 ,0.0171661377 ,0.0114440918 ,-0.0009536743 ,-0.0025749207 ,0.0171661377 ,-0.0772476196 ,-0.0514984131 ,0.0042915344 ,-0.0017166138 ,0.0114440918 ,-0.0514984131 ,-0.0343322754 ,0.0028610229 ,0.0001430511 ,-0.0009536743 ,0.0042915344 ,0.0028610229 ,-0.0002384186 ,0.0003862381 ,-0.0025749207 ,0.0115871429 ,0.0077247620 ,-0.0006437302 ,-0.0025749207 ,0.0171661377 ,-0.0772476196 ,-0.0514984131 ,0.0042915344 ,0.0115871429 ,-0.0772476196 ,0.3476142883 ,0.2317428589 ,-0.0193119049 ,0.0077247620 ,-0.0514984131 ,0.2317428589 ,0.1544952393 ,-0.0128746033 ,-0.0006437302 ,0.0042915344 ,-0.0193119049 ,-0.0128746033 ,0.0010728836 ,0.0002574921 ,-0.0017166138 ,0.0077247620 ,0.0051498413 ,-0.0004291534 ,-0.0017166138 ,0.0114440918 ,-0.0514984131 ,-0.0343322754 ,0.0028610229 ,0.0077247620 ,-0.0514984131 ,0.2317428589 ,0.1544952393 ,-0.0128746033 ,0.0051498413 ,-0.0343322754 ,0.1544952393 ,0.1029968262 ,-0.0085830688 ,-0.0004291534 ,0.0028610229 ,-0.0128746033 ,-0.0085830688 ,0.0007152557 ,-0.0000214577 ,0.0001430511 ,-0.0006437302 ,-0.0004291534 ,0.0000357628 ,0.0001430511 ,-0.0009536743 ,0.0042915344 ,0.0028610229 ,-0.0002384186 ,-0.0006437302 ,0.0042915344 ,-0.0193119049 ,-0.0128746033 ,0.0010728836 ,-0.0004291534 ,0.0028610229 ,-0.0128746033 ,-0.0085830688 ,0.0007152557 ,0.0000357628 ,-0.0002384186 ,0.0010728836 ,0.0007152557 ,-0.0000596046 },
38 };
39 
40 
41 static const double IW_4_3_COARSEN [NUM_COARSE_WAVELET_COEF][NUM_COARSE_INPUT_PTS] = {
42  { 0.0305175781 ,0.0915527344 ,-0.0305175781 ,0.0061035156 ,0.0915527344 ,0.2746582031 ,-0.0915527344 ,0.0183105469 ,-0.0305175781 ,-0.0915527344 ,0.0305175781 ,-0.0061035156 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,0.0915527344 ,0.2746582031 ,-0.0915527344 ,0.0183105469 ,0.2746582031 ,0.8239746094 ,-0.2746582031 ,0.0549316406 ,-0.0915527344 ,-0.2746582031 ,0.0915527344 ,-0.0183105469 ,0.0183105469 ,0.0549316406 ,-0.0183105469 ,0.0036621094 ,-0.0305175781 ,-0.0915527344 ,0.0305175781 ,-0.0061035156 ,-0.0915527344 ,-0.2746582031 ,0.0915527344 ,-0.0183105469 ,0.0305175781 ,0.0915527344 ,-0.0305175781 ,0.0061035156 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,0.0183105469 ,0.0549316406 ,-0.0183105469 ,0.0036621094 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0012207031 ,0.0036621094 ,-0.0012207031 ,0.0002441406 },
43  { -0.0061035156 ,0.0549316406 ,0.0549316406 ,-0.0061035156 ,-0.0183105469 ,0.1647949219 ,0.1647949219 ,-0.0183105469 ,0.0061035156 ,-0.0549316406 ,-0.0549316406 ,0.0061035156 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,-0.0183105469 ,0.1647949219 ,0.1647949219 ,-0.0183105469 ,-0.0549316406 ,0.4943847656 ,0.4943847656 ,-0.0549316406 ,0.0183105469 ,-0.1647949219 ,-0.1647949219 ,0.0183105469 ,-0.0036621094 ,0.0329589844 ,0.0329589844 ,-0.0036621094 ,0.0061035156 ,-0.0549316406 ,-0.0549316406 ,0.0061035156 ,0.0183105469 ,-0.1647949219 ,-0.1647949219 ,0.0183105469 ,-0.0061035156 ,0.0549316406 ,0.0549316406 ,-0.0061035156 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,-0.0036621094 ,0.0329589844 ,0.0329589844 ,-0.0036621094 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0002441406 ,0.0021972656 ,0.0021972656 ,-0.0002441406 },
44  { 0.0061035156 ,-0.0305175781 ,0.0915527344 ,0.0305175781 ,0.0183105469 ,-0.0915527344 ,0.2746582031 ,0.0915527344 ,-0.0061035156 ,0.0305175781 ,-0.0915527344 ,-0.0305175781 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,0.0183105469 ,-0.0915527344 ,0.2746582031 ,0.0915527344 ,0.0549316406 ,-0.2746582031 ,0.8239746094 ,0.2746582031 ,-0.0183105469 ,0.0915527344 ,-0.2746582031 ,-0.0915527344 ,0.0036621094 ,-0.0183105469 ,0.0549316406 ,0.0183105469 ,-0.0061035156 ,0.0305175781 ,-0.0915527344 ,-0.0305175781 ,-0.0183105469 ,0.0915527344 ,-0.2746582031 ,-0.0915527344 ,0.0061035156 ,-0.0305175781 ,0.0915527344 ,0.0305175781 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,0.0036621094 ,-0.0183105469 ,0.0549316406 ,0.0183105469 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0002441406 ,-0.0012207031 ,0.0036621094 ,0.0012207031 },
45  { -0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0549316406 ,0.1647949219 ,-0.0549316406 ,0.0109863281 ,0.0549316406 ,0.1647949219 ,-0.0549316406 ,0.0109863281 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,-0.0183105469 ,-0.0549316406 ,0.0183105469 ,-0.0036621094 ,0.1647949219 ,0.4943847656 ,-0.1647949219 ,0.0329589844 ,0.1647949219 ,0.4943847656 ,-0.1647949219 ,0.0329589844 ,-0.0183105469 ,-0.0549316406 ,0.0183105469 ,-0.0036621094 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0549316406 ,-0.1647949219 ,0.0549316406 ,-0.0109863281 ,-0.0549316406 ,-0.1647949219 ,0.0549316406 ,-0.0109863281 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0012207031 ,-0.0036621094 ,0.0012207031 ,-0.0002441406 ,0.0109863281 ,0.0329589844 ,-0.0109863281 ,0.0021972656 ,0.0109863281 ,0.0329589844 ,-0.0109863281 ,0.0021972656 ,-0.0012207031 ,-0.0036621094 ,0.0012207031 ,-0.0002441406 },
46  { 0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0109863281 ,0.0988769531 ,0.0988769531 ,-0.0109863281 ,-0.0109863281 ,0.0988769531 ,0.0988769531 ,-0.0109863281 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,0.0036621094 ,-0.0329589844 ,-0.0329589844 ,0.0036621094 ,-0.0329589844 ,0.2966308594 ,0.2966308594 ,-0.0329589844 ,-0.0329589844 ,0.2966308594 ,0.2966308594 ,-0.0329589844 ,0.0036621094 ,-0.0329589844 ,-0.0329589844 ,0.0036621094 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0109863281 ,-0.0988769531 ,-0.0988769531 ,0.0109863281 ,0.0109863281 ,-0.0988769531 ,-0.0988769531 ,0.0109863281 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0002441406 ,-0.0021972656 ,-0.0021972656 ,0.0002441406 ,-0.0021972656 ,0.0197753906 ,0.0197753906 ,-0.0021972656 ,-0.0021972656 ,0.0197753906 ,0.0197753906 ,-0.0021972656 ,0.0002441406 ,-0.0021972656 ,-0.0021972656 ,0.0002441406 },
47  { -0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0109863281 ,-0.0549316406 ,0.1647949219 ,0.0549316406 ,0.0109863281 ,-0.0549316406 ,0.1647949219 ,0.0549316406 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,-0.0036621094 ,0.0183105469 ,-0.0549316406 ,-0.0183105469 ,0.0329589844 ,-0.1647949219 ,0.4943847656 ,0.1647949219 ,0.0329589844 ,-0.1647949219 ,0.4943847656 ,0.1647949219 ,-0.0036621094 ,0.0183105469 ,-0.0549316406 ,-0.0183105469 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0109863281 ,0.0549316406 ,-0.1647949219 ,-0.0549316406 ,-0.0109863281 ,0.0549316406 ,-0.1647949219 ,-0.0549316406 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0002441406 ,0.0012207031 ,-0.0036621094 ,-0.0012207031 ,0.0021972656 ,-0.0109863281 ,0.0329589844 ,0.0109863281 ,0.0021972656 ,-0.0109863281 ,0.0329589844 ,0.0109863281 ,-0.0002441406 ,0.0012207031 ,-0.0036621094 ,-0.0012207031 },
48  { 0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0305175781 ,-0.0915527344 ,0.0305175781 ,-0.0061035156 ,0.0915527344 ,0.2746582031 ,-0.0915527344 ,0.0183105469 ,0.0305175781 ,0.0915527344 ,-0.0305175781 ,0.0061035156 ,0.0183105469 ,0.0549316406 ,-0.0183105469 ,0.0036621094 ,-0.0915527344 ,-0.2746582031 ,0.0915527344 ,-0.0183105469 ,0.2746582031 ,0.8239746094 ,-0.2746582031 ,0.0549316406 ,0.0915527344 ,0.2746582031 ,-0.0915527344 ,0.0183105469 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0305175781 ,0.0915527344 ,-0.0305175781 ,0.0061035156 ,-0.0915527344 ,-0.2746582031 ,0.0915527344 ,-0.0183105469 ,-0.0305175781 ,-0.0915527344 ,0.0305175781 ,-0.0061035156 ,0.0012207031 ,0.0036621094 ,-0.0012207031 ,0.0002441406 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0183105469 ,0.0549316406 ,-0.0183105469 ,0.0036621094 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 },
49  { -0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0061035156 ,-0.0549316406 ,-0.0549316406 ,0.0061035156 ,-0.0183105469 ,0.1647949219 ,0.1647949219 ,-0.0183105469 ,-0.0061035156 ,0.0549316406 ,0.0549316406 ,-0.0061035156 ,-0.0036621094 ,0.0329589844 ,0.0329589844 ,-0.0036621094 ,0.0183105469 ,-0.1647949219 ,-0.1647949219 ,0.0183105469 ,-0.0549316406 ,0.4943847656 ,0.4943847656 ,-0.0549316406 ,-0.0183105469 ,0.1647949219 ,0.1647949219 ,-0.0183105469 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0061035156 ,0.0549316406 ,0.0549316406 ,-0.0061035156 ,0.0183105469 ,-0.1647949219 ,-0.1647949219 ,0.0183105469 ,0.0061035156 ,-0.0549316406 ,-0.0549316406 ,0.0061035156 ,-0.0002441406 ,0.0021972656 ,0.0021972656 ,-0.0002441406 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0036621094 ,0.0329589844 ,0.0329589844 ,-0.0036621094 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 },
50  { 0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0061035156 ,0.0305175781 ,-0.0915527344 ,-0.0305175781 ,0.0183105469 ,-0.0915527344 ,0.2746582031 ,0.0915527344 ,0.0061035156 ,-0.0305175781 ,0.0915527344 ,0.0305175781 ,0.0036621094 ,-0.0183105469 ,0.0549316406 ,0.0183105469 ,-0.0183105469 ,0.0915527344 ,-0.2746582031 ,-0.0915527344 ,0.0549316406 ,-0.2746582031 ,0.8239746094 ,0.2746582031 ,0.0183105469 ,-0.0915527344 ,0.2746582031 ,0.0915527344 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0061035156 ,-0.0305175781 ,0.0915527344 ,0.0305175781 ,-0.0183105469 ,0.0915527344 ,-0.2746582031 ,-0.0915527344 ,-0.0061035156 ,0.0305175781 ,-0.0915527344 ,-0.0305175781 ,0.0002441406 ,-0.0012207031 ,0.0036621094 ,0.0012207031 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0036621094 ,-0.0183105469 ,0.0549316406 ,0.0183105469 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 },
51  { -0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,-0.0183105469 ,-0.0549316406 ,0.0183105469 ,-0.0036621094 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0012207031 ,-0.0036621094 ,0.0012207031 ,-0.0002441406 ,0.0549316406 ,0.1647949219 ,-0.0549316406 ,0.0109863281 ,0.1647949219 ,0.4943847656 ,-0.1647949219 ,0.0329589844 ,-0.0549316406 ,-0.1647949219 ,0.0549316406 ,-0.0109863281 ,0.0109863281 ,0.0329589844 ,-0.0109863281 ,0.0021972656 ,0.0549316406 ,0.1647949219 ,-0.0549316406 ,0.0109863281 ,0.1647949219 ,0.4943847656 ,-0.1647949219 ,0.0329589844 ,-0.0549316406 ,-0.1647949219 ,0.0549316406 ,-0.0109863281 ,0.0109863281 ,0.0329589844 ,-0.0109863281 ,0.0021972656 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,-0.0183105469 ,-0.0549316406 ,0.0183105469 ,-0.0036621094 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0012207031 ,-0.0036621094 ,0.0012207031 ,-0.0002441406 },
52  { 0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,0.0036621094 ,-0.0329589844 ,-0.0329589844 ,0.0036621094 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0002441406 ,-0.0021972656 ,-0.0021972656 ,0.0002441406 ,-0.0109863281 ,0.0988769531 ,0.0988769531 ,-0.0109863281 ,-0.0329589844 ,0.2966308594 ,0.2966308594 ,-0.0329589844 ,0.0109863281 ,-0.0988769531 ,-0.0988769531 ,0.0109863281 ,-0.0021972656 ,0.0197753906 ,0.0197753906 ,-0.0021972656 ,-0.0109863281 ,0.0988769531 ,0.0988769531 ,-0.0109863281 ,-0.0329589844 ,0.2966308594 ,0.2966308594 ,-0.0329589844 ,0.0109863281 ,-0.0988769531 ,-0.0988769531 ,0.0109863281 ,-0.0021972656 ,0.0197753906 ,0.0197753906 ,-0.0021972656 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,0.0036621094 ,-0.0329589844 ,-0.0329589844 ,0.0036621094 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0002441406 ,-0.0021972656 ,-0.0021972656 ,0.0002441406 },
53  { -0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,-0.0036621094 ,0.0183105469 ,-0.0549316406 ,-0.0183105469 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0002441406 ,0.0012207031 ,-0.0036621094 ,-0.0012207031 ,0.0109863281 ,-0.0549316406 ,0.1647949219 ,0.0549316406 ,0.0329589844 ,-0.1647949219 ,0.4943847656 ,0.1647949219 ,-0.0109863281 ,0.0549316406 ,-0.1647949219 ,-0.0549316406 ,0.0021972656 ,-0.0109863281 ,0.0329589844 ,0.0109863281 ,0.0109863281 ,-0.0549316406 ,0.1647949219 ,0.0549316406 ,0.0329589844 ,-0.1647949219 ,0.4943847656 ,0.1647949219 ,-0.0109863281 ,0.0549316406 ,-0.1647949219 ,-0.0549316406 ,0.0021972656 ,-0.0109863281 ,0.0329589844 ,0.0109863281 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,-0.0036621094 ,0.0183105469 ,-0.0549316406 ,-0.0183105469 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0002441406 ,0.0012207031 ,-0.0036621094 ,-0.0012207031 },
54  { 0.0012207031 ,0.0036621094 ,-0.0012207031 ,0.0002441406 ,-0.0109863281 ,-0.0329589844 ,0.0109863281 ,-0.0021972656 ,-0.0109863281 ,-0.0329589844 ,0.0109863281 ,-0.0021972656 ,0.0012207031 ,0.0036621094 ,-0.0012207031 ,0.0002441406 ,-0.0109863281 ,-0.0329589844 ,0.0109863281 ,-0.0021972656 ,0.0988769531 ,0.2966308594 ,-0.0988769531 ,0.0197753906 ,0.0988769531 ,0.2966308594 ,-0.0988769531 ,0.0197753906 ,-0.0109863281 ,-0.0329589844 ,0.0109863281 ,-0.0021972656 ,-0.0109863281 ,-0.0329589844 ,0.0109863281 ,-0.0021972656 ,0.0988769531 ,0.2966308594 ,-0.0988769531 ,0.0197753906 ,0.0988769531 ,0.2966308594 ,-0.0988769531 ,0.0197753906 ,-0.0109863281 ,-0.0329589844 ,0.0109863281 ,-0.0021972656 ,0.0012207031 ,0.0036621094 ,-0.0012207031 ,0.0002441406 ,-0.0109863281 ,-0.0329589844 ,0.0109863281 ,-0.0021972656 ,-0.0109863281 ,-0.0329589844 ,0.0109863281 ,-0.0021972656 ,0.0012207031 ,0.0036621094 ,-0.0012207031 ,0.0002441406 },
55  { -0.0002441406 ,0.0021972656 ,0.0021972656 ,-0.0002441406 ,0.0021972656 ,-0.0197753906 ,-0.0197753906 ,0.0021972656 ,0.0021972656 ,-0.0197753906 ,-0.0197753906 ,0.0021972656 ,-0.0002441406 ,0.0021972656 ,0.0021972656 ,-0.0002441406 ,0.0021972656 ,-0.0197753906 ,-0.0197753906 ,0.0021972656 ,-0.0197753906 ,0.1779785156 ,0.1779785156 ,-0.0197753906 ,-0.0197753906 ,0.1779785156 ,0.1779785156 ,-0.0197753906 ,0.0021972656 ,-0.0197753906 ,-0.0197753906 ,0.0021972656 ,0.0021972656 ,-0.0197753906 ,-0.0197753906 ,0.0021972656 ,-0.0197753906 ,0.1779785156 ,0.1779785156 ,-0.0197753906 ,-0.0197753906 ,0.1779785156 ,0.1779785156 ,-0.0197753906 ,0.0021972656 ,-0.0197753906 ,-0.0197753906 ,0.0021972656 ,-0.0002441406 ,0.0021972656 ,0.0021972656 ,-0.0002441406 ,0.0021972656 ,-0.0197753906 ,-0.0197753906 ,0.0021972656 ,0.0021972656 ,-0.0197753906 ,-0.0197753906 ,0.0021972656 ,-0.0002441406 ,0.0021972656 ,0.0021972656 ,-0.0002441406 },
56  { 0.0002441406 ,-0.0012207031 ,0.0036621094 ,0.0012207031 ,-0.0021972656 ,0.0109863281 ,-0.0329589844 ,-0.0109863281 ,-0.0021972656 ,0.0109863281 ,-0.0329589844 ,-0.0109863281 ,0.0002441406 ,-0.0012207031 ,0.0036621094 ,0.0012207031 ,-0.0021972656 ,0.0109863281 ,-0.0329589844 ,-0.0109863281 ,0.0197753906 ,-0.0988769531 ,0.2966308594 ,0.0988769531 ,0.0197753906 ,-0.0988769531 ,0.2966308594 ,0.0988769531 ,-0.0021972656 ,0.0109863281 ,-0.0329589844 ,-0.0109863281 ,-0.0021972656 ,0.0109863281 ,-0.0329589844 ,-0.0109863281 ,0.0197753906 ,-0.0988769531 ,0.2966308594 ,0.0988769531 ,0.0197753906 ,-0.0988769531 ,0.2966308594 ,0.0988769531 ,-0.0021972656 ,0.0109863281 ,-0.0329589844 ,-0.0109863281 ,0.0002441406 ,-0.0012207031 ,0.0036621094 ,0.0012207031 ,-0.0021972656 ,0.0109863281 ,-0.0329589844 ,-0.0109863281 ,-0.0021972656 ,0.0109863281 ,-0.0329589844 ,-0.0109863281 ,0.0002441406 ,-0.0012207031 ,0.0036621094 ,0.0012207031 },
57  { -0.0012207031 ,-0.0036621094 ,0.0012207031 ,-0.0002441406 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0183105469 ,-0.0549316406 ,0.0183105469 ,-0.0036621094 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0109863281 ,0.0329589844 ,-0.0109863281 ,0.0021972656 ,-0.0549316406 ,-0.1647949219 ,0.0549316406 ,-0.0109863281 ,0.1647949219 ,0.4943847656 ,-0.1647949219 ,0.0329589844 ,0.0549316406 ,0.1647949219 ,-0.0549316406 ,0.0109863281 ,0.0109863281 ,0.0329589844 ,-0.0109863281 ,0.0021972656 ,-0.0549316406 ,-0.1647949219 ,0.0549316406 ,-0.0109863281 ,0.1647949219 ,0.4943847656 ,-0.1647949219 ,0.0329589844 ,0.0549316406 ,0.1647949219 ,-0.0549316406 ,0.0109863281 ,-0.0012207031 ,-0.0036621094 ,0.0012207031 ,-0.0002441406 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0183105469 ,-0.0549316406 ,0.0183105469 ,-0.0036621094 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 },
58  { 0.0002441406 ,-0.0021972656 ,-0.0021972656 ,0.0002441406 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0036621094 ,-0.0329589844 ,-0.0329589844 ,0.0036621094 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0021972656 ,0.0197753906 ,0.0197753906 ,-0.0021972656 ,0.0109863281 ,-0.0988769531 ,-0.0988769531 ,0.0109863281 ,-0.0329589844 ,0.2966308594 ,0.2966308594 ,-0.0329589844 ,-0.0109863281 ,0.0988769531 ,0.0988769531 ,-0.0109863281 ,-0.0021972656 ,0.0197753906 ,0.0197753906 ,-0.0021972656 ,0.0109863281 ,-0.0988769531 ,-0.0988769531 ,0.0109863281 ,-0.0329589844 ,0.2966308594 ,0.2966308594 ,-0.0329589844 ,-0.0109863281 ,0.0988769531 ,0.0988769531 ,-0.0109863281 ,0.0002441406 ,-0.0021972656 ,-0.0021972656 ,0.0002441406 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0036621094 ,-0.0329589844 ,-0.0329589844 ,0.0036621094 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 },
59  { -0.0002441406 ,0.0012207031 ,-0.0036621094 ,-0.0012207031 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0036621094 ,0.0183105469 ,-0.0549316406 ,-0.0183105469 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0021972656 ,-0.0109863281 ,0.0329589844 ,0.0109863281 ,-0.0109863281 ,0.0549316406 ,-0.1647949219 ,-0.0549316406 ,0.0329589844 ,-0.1647949219 ,0.4943847656 ,0.1647949219 ,0.0109863281 ,-0.0549316406 ,0.1647949219 ,0.0549316406 ,0.0021972656 ,-0.0109863281 ,0.0329589844 ,0.0109863281 ,-0.0109863281 ,0.0549316406 ,-0.1647949219 ,-0.0549316406 ,0.0329589844 ,-0.1647949219 ,0.4943847656 ,0.1647949219 ,0.0109863281 ,-0.0549316406 ,0.1647949219 ,0.0549316406 ,-0.0002441406 ,0.0012207031 ,-0.0036621094 ,-0.0012207031 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0036621094 ,0.0183105469 ,-0.0549316406 ,-0.0183105469 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 },
60  { 0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,0.0183105469 ,0.0549316406 ,-0.0183105469 ,0.0036621094 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0012207031 ,0.0036621094 ,-0.0012207031 ,0.0002441406 ,-0.0305175781 ,-0.0915527344 ,0.0305175781 ,-0.0061035156 ,-0.0915527344 ,-0.2746582031 ,0.0915527344 ,-0.0183105469 ,0.0305175781 ,0.0915527344 ,-0.0305175781 ,0.0061035156 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0915527344 ,0.2746582031 ,-0.0915527344 ,0.0183105469 ,0.2746582031 ,0.8239746094 ,-0.2746582031 ,0.0549316406 ,-0.0915527344 ,-0.2746582031 ,0.0915527344 ,-0.0183105469 ,0.0183105469 ,0.0549316406 ,-0.0183105469 ,0.0036621094 ,0.0305175781 ,0.0915527344 ,-0.0305175781 ,0.0061035156 ,0.0915527344 ,0.2746582031 ,-0.0915527344 ,0.0183105469 ,-0.0305175781 ,-0.0915527344 ,0.0305175781 ,-0.0061035156 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 },
61  { -0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,-0.0036621094 ,0.0329589844 ,0.0329589844 ,-0.0036621094 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0002441406 ,0.0021972656 ,0.0021972656 ,-0.0002441406 ,0.0061035156 ,-0.0549316406 ,-0.0549316406 ,0.0061035156 ,0.0183105469 ,-0.1647949219 ,-0.1647949219 ,0.0183105469 ,-0.0061035156 ,0.0549316406 ,0.0549316406 ,-0.0061035156 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0183105469 ,0.1647949219 ,0.1647949219 ,-0.0183105469 ,-0.0549316406 ,0.4943847656 ,0.4943847656 ,-0.0549316406 ,0.0183105469 ,-0.1647949219 ,-0.1647949219 ,0.0183105469 ,-0.0036621094 ,0.0329589844 ,0.0329589844 ,-0.0036621094 ,-0.0061035156 ,0.0549316406 ,0.0549316406 ,-0.0061035156 ,-0.0183105469 ,0.1647949219 ,0.1647949219 ,-0.0183105469 ,0.0061035156 ,-0.0549316406 ,-0.0549316406 ,0.0061035156 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 },
62  { 0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,0.0036621094 ,-0.0183105469 ,0.0549316406 ,0.0183105469 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0002441406 ,-0.0012207031 ,0.0036621094 ,0.0012207031 ,-0.0061035156 ,0.0305175781 ,-0.0915527344 ,-0.0305175781 ,-0.0183105469 ,0.0915527344 ,-0.2746582031 ,-0.0915527344 ,0.0061035156 ,-0.0305175781 ,0.0915527344 ,0.0305175781 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0183105469 ,-0.0915527344 ,0.2746582031 ,0.0915527344 ,0.0549316406 ,-0.2746582031 ,0.8239746094 ,0.2746582031 ,-0.0183105469 ,0.0915527344 ,-0.2746582031 ,-0.0915527344 ,0.0036621094 ,-0.0183105469 ,0.0549316406 ,0.0183105469 ,0.0061035156 ,-0.0305175781 ,0.0915527344 ,0.0305175781 ,0.0183105469 ,-0.0915527344 ,0.2746582031 ,0.0915527344 ,-0.0061035156 ,0.0305175781 ,-0.0915527344 ,-0.0305175781 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 },
63  { -0.0012207031 ,-0.0036621094 ,0.0012207031 ,-0.0002441406 ,0.0109863281 ,0.0329589844 ,-0.0109863281 ,0.0021972656 ,0.0109863281 ,0.0329589844 ,-0.0109863281 ,0.0021972656 ,-0.0012207031 ,-0.0036621094 ,0.0012207031 ,-0.0002441406 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0549316406 ,-0.1647949219 ,0.0549316406 ,-0.0109863281 ,-0.0549316406 ,-0.1647949219 ,0.0549316406 ,-0.0109863281 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0183105469 ,-0.0549316406 ,0.0183105469 ,-0.0036621094 ,0.1647949219 ,0.4943847656 ,-0.1647949219 ,0.0329589844 ,0.1647949219 ,0.4943847656 ,-0.1647949219 ,0.0329589844 ,-0.0183105469 ,-0.0549316406 ,0.0183105469 ,-0.0036621094 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0549316406 ,0.1647949219 ,-0.0549316406 ,0.0109863281 ,0.0549316406 ,0.1647949219 ,-0.0549316406 ,0.0109863281 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 },
64  { 0.0002441406 ,-0.0021972656 ,-0.0021972656 ,0.0002441406 ,-0.0021972656 ,0.0197753906 ,0.0197753906 ,-0.0021972656 ,-0.0021972656 ,0.0197753906 ,0.0197753906 ,-0.0021972656 ,0.0002441406 ,-0.0021972656 ,-0.0021972656 ,0.0002441406 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0109863281 ,-0.0988769531 ,-0.0988769531 ,0.0109863281 ,0.0109863281 ,-0.0988769531 ,-0.0988769531 ,0.0109863281 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0036621094 ,-0.0329589844 ,-0.0329589844 ,0.0036621094 ,-0.0329589844 ,0.2966308594 ,0.2966308594 ,-0.0329589844 ,-0.0329589844 ,0.2966308594 ,0.2966308594 ,-0.0329589844 ,0.0036621094 ,-0.0329589844 ,-0.0329589844 ,0.0036621094 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0109863281 ,0.0988769531 ,0.0988769531 ,-0.0109863281 ,-0.0109863281 ,0.0988769531 ,0.0988769531 ,-0.0109863281 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 },
65  { -0.0002441406 ,0.0012207031 ,-0.0036621094 ,-0.0012207031 ,0.0021972656 ,-0.0109863281 ,0.0329589844 ,0.0109863281 ,0.0021972656 ,-0.0109863281 ,0.0329589844 ,0.0109863281 ,-0.0002441406 ,0.0012207031 ,-0.0036621094 ,-0.0012207031 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0109863281 ,0.0549316406 ,-0.1647949219 ,-0.0549316406 ,-0.0109863281 ,0.0549316406 ,-0.1647949219 ,-0.0549316406 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0036621094 ,0.0183105469 ,-0.0549316406 ,-0.0183105469 ,0.0329589844 ,-0.1647949219 ,0.4943847656 ,0.1647949219 ,0.0329589844 ,-0.1647949219 ,0.4943847656 ,0.1647949219 ,-0.0036621094 ,0.0183105469 ,-0.0549316406 ,-0.0183105469 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0109863281 ,-0.0549316406 ,0.1647949219 ,0.0549316406 ,0.0109863281 ,-0.0549316406 ,0.1647949219 ,0.0549316406 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 },
66  { 0.0012207031 ,0.0036621094 ,-0.0012207031 ,0.0002441406 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0183105469 ,0.0549316406 ,-0.0183105469 ,0.0036621094 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0061035156 ,-0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0305175781 ,0.0915527344 ,-0.0305175781 ,0.0061035156 ,-0.0915527344 ,-0.2746582031 ,0.0915527344 ,-0.0183105469 ,-0.0305175781 ,-0.0915527344 ,0.0305175781 ,-0.0061035156 ,0.0183105469 ,0.0549316406 ,-0.0183105469 ,0.0036621094 ,-0.0915527344 ,-0.2746582031 ,0.0915527344 ,-0.0183105469 ,0.2746582031 ,0.8239746094 ,-0.2746582031 ,0.0549316406 ,0.0915527344 ,0.2746582031 ,-0.0915527344 ,0.0183105469 ,0.0061035156 ,0.0183105469 ,-0.0061035156 ,0.0012207031 ,-0.0305175781 ,-0.0915527344 ,0.0305175781 ,-0.0061035156 ,0.0915527344 ,0.2746582031 ,-0.0915527344 ,0.0183105469 ,0.0305175781 ,0.0915527344 ,-0.0305175781 ,0.0061035156 },
67  { -0.0002441406 ,0.0021972656 ,0.0021972656 ,-0.0002441406 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0036621094 ,0.0329589844 ,0.0329589844 ,-0.0036621094 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0012207031 ,-0.0109863281 ,-0.0109863281 ,0.0012207031 ,-0.0061035156 ,0.0549316406 ,0.0549316406 ,-0.0061035156 ,0.0183105469 ,-0.1647949219 ,-0.1647949219 ,0.0183105469 ,0.0061035156 ,-0.0549316406 ,-0.0549316406 ,0.0061035156 ,-0.0036621094 ,0.0329589844 ,0.0329589844 ,-0.0036621094 ,0.0183105469 ,-0.1647949219 ,-0.1647949219 ,0.0183105469 ,-0.0549316406 ,0.4943847656 ,0.4943847656 ,-0.0549316406 ,-0.0183105469 ,0.1647949219 ,0.1647949219 ,-0.0183105469 ,-0.0012207031 ,0.0109863281 ,0.0109863281 ,-0.0012207031 ,0.0061035156 ,-0.0549316406 ,-0.0549316406 ,0.0061035156 ,-0.0183105469 ,0.1647949219 ,0.1647949219 ,-0.0183105469 ,-0.0061035156 ,0.0549316406 ,0.0549316406 ,-0.0061035156 },
68  { 0.0002441406 ,-0.0012207031 ,0.0036621094 ,0.0012207031 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0036621094 ,-0.0183105469 ,0.0549316406 ,0.0183105469 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0012207031 ,0.0061035156 ,-0.0183105469 ,-0.0061035156 ,0.0061035156 ,-0.0305175781 ,0.0915527344 ,0.0305175781 ,-0.0183105469 ,0.0915527344 ,-0.2746582031 ,-0.0915527344 ,-0.0061035156 ,0.0305175781 ,-0.0915527344 ,-0.0305175781 ,0.0036621094 ,-0.0183105469 ,0.0549316406 ,0.0183105469 ,-0.0183105469 ,0.0915527344 ,-0.2746582031 ,-0.0915527344 ,0.0549316406 ,-0.2746582031 ,0.8239746094 ,0.2746582031 ,0.0183105469 ,-0.0915527344 ,0.2746582031 ,0.0915527344 ,0.0012207031 ,-0.0061035156 ,0.0183105469 ,0.0061035156 ,-0.0061035156 ,0.0305175781 ,-0.0915527344 ,-0.0305175781 ,0.0183105469 ,-0.0915527344 ,0.2746582031 ,0.0915527344 ,0.0061035156 ,-0.0305175781 ,0.0915527344 ,0.0305175781 },
69 };
70 
71 
72 
84 template <typename T>
85 void computeRefineWavelets(const T* unzippedVec, const unsigned int offset,const unsigned int eleOrder,const unsigned int *eI,const unsigned int pWidth,const unsigned int *sz, T* wavelets);
86 
87 
102 template <typename T>
103 void computeCoarsenWavelets(const T* unzippedVec, const unsigned int offset,const unsigned int eleOrder,const unsigned int *eI,const unsigned int pWidth,const unsigned int *sz, T* wavelets);
104 
105 
106 
107 template <typename T>
108 void computeRefineWavelets(const T* unzippedVec, const unsigned int offset,const unsigned int eleOrder,const unsigned int *eI,const unsigned int pWidth,const unsigned int *sz, T* wavelets)
109 {
110 
111  //pad---|element----|--pad
112  //*--*--*--*--*--*--*--*--*
113  //1--2--3--4--5--6--7--8--9
114 
115  // below should be the REFINE_INDEX_OFFSET.
116  const unsigned int ib=(eI[0]*eleOrder+pWidth-REFINE_INDEX_OFFSET);
117  const unsigned int ie=ib+REFINE_END_OFFSET;
118 
119  const unsigned int jb=(eI[1]*eleOrder+pWidth-REFINE_INDEX_OFFSET);
120  const unsigned int je=jb+REFINE_END_OFFSET;
121 
122  const unsigned int kb=(eI[2]*eleOrder+pWidth-REFINE_INDEX_OFFSET);
123  const unsigned int ke=kb+REFINE_END_OFFSET;
124 
125  for(unsigned int wIndex=0;wIndex<NUM_REFINE_WAVELET_COEF;wIndex++)
126  wavelets[wIndex]=0.0;
127 
128 
129  unsigned int m=0;
130 
131 #ifdef BSSN_REFINE_BASE_EH
132  const double BH_EH_THRESHOLD=0.7;
133  bool isEH=false;
134  for(unsigned int wIndex=0;wIndex<NUM_REFINE_WAVELET_COEF;wIndex++)
135  for(unsigned int k=kb;k<ke;k+=REFINE_INDEX_OFFSET)
136  for(unsigned int j=jb;j<je;j+=REFINE_INDEX_OFFSET)
137  for(unsigned int i=ib;i<ie;i+=REFINE_INDEX_OFFSET)
138  {
139  if(unzippedVec[offset+k*sz[1]*sz[0]+j*sz[0]+i]<BH_EH_THRESHOLD)
140  {
141  isEH=true;
142  break;
143  }
144 
145  }
146 
147  // enforce refinement triggers
148  if(isEH)
149  {
150  wavelets[0]=1.0;
151  wavelets[1]=1.0;
152 
153  wavelets[2]=1.0;
154  wavelets[3]=1.0;
155 
156  wavelets[4]=1.0;
157  wavelets[5]=1.0;
158 
159  wavelets[6]=1.0;
160  wavelets[7]=1.0;
161 
162  return;
163  }
164 
165 #endif
166 
167  for(unsigned int wIndex=0;wIndex<NUM_REFINE_WAVELET_COEF;wIndex++,m=0)
168  for(unsigned int k=kb;k<ke;k+=REFINE_INDEX_OFFSET)
169  for(unsigned int j=jb;j<je;j+=REFINE_INDEX_OFFSET)
170  for(unsigned int i=ib;i<ie;i+=REFINE_INDEX_OFFSET,m++)
171  {
172  //if(std::isnan(unzippedVec[offset+k*sz[1]*sz[0]+j*sz[0]+i]) || std::isnan(IW_5_2_REFINE[wIndex][m]) ) std::cout<<"unzipVec: "<<unzippedVec[offset+k*sz[1]*sz[0]+j*sz[0]+i]<<"IW_5_2_REFINE[wIndex][m]: "<<IW_5_2_REFINE[wIndex][m]<<" i: j: k: "<<i<<" , "<<j<<"k : "<<k<<std::endl;
173  wavelets[wIndex]+=(IW_5_2_REFINE[wIndex][m]*unzippedVec[offset+k*sz[1]*sz[0]+j*sz[0]+i]);
174  }
175 
176 
177 
178  wavelets[0]=fabs(wavelets[0]-unzippedVec[offset+(kb+3)*sz[1]*sz[0]+(jb+3)*sz[0]+(ib+3)]);
179  wavelets[1]=fabs(wavelets[1]-unzippedVec[offset+(kb+3)*sz[1]*sz[0]+(jb+3)*sz[0]+(ib+5)]);
180 
181  wavelets[2]=fabs(wavelets[2]-unzippedVec[offset+(kb+3)*sz[1]*sz[0]+(jb+5)*sz[0]+(ib+3)]);
182  wavelets[3]=fabs(wavelets[3]-unzippedVec[offset+(kb+3)*sz[1]*sz[0]+(jb+5)*sz[0]+(ib+5)]);
183 
184  wavelets[4]=fabs(wavelets[4]-unzippedVec[offset+(kb+5)*sz[1]*sz[0]+(jb+3)*sz[0]+(ib+3)]);
185  wavelets[5]=fabs(wavelets[5]-unzippedVec[offset+(kb+5)*sz[1]*sz[0]+(jb+3)*sz[0]+(ib+5)]);
186 
187  wavelets[6]=fabs(wavelets[6]-unzippedVec[offset+(kb+5)*sz[1]*sz[0]+(jb+5)*sz[0]+(ib+3)]);
188  wavelets[7]=fabs(wavelets[7]-unzippedVec[offset+(kb+5)*sz[1]*sz[0]+(jb+5)*sz[0]+(ib+5)]);
189 
190 
191 
192 
193 }
194 
195 
196 template <typename T>
197 void computeCoarsenWavelets(const T* unzippedVec, const unsigned int offset,const unsigned int eleOrder,const unsigned int *eI,const unsigned int pWidth,const unsigned int *sz, T* wavelets)
198 {
199 
200  //pad---|element1---|--element2-|pad---|
201  //*--*--*--*--*--*--*--*--*--*--*--*--*
202  //1--2--3--4--5--6--7--8--9--10-11-12-13
203 
204 
205  const unsigned int ib=(eI[0]*eleOrder+pWidth-REFINE_INDEX_OFFSET);
206  const unsigned int ie=ib+COARSE_END_OFFSET;
207 
208  const unsigned int jb=(eI[1]*eleOrder+pWidth-REFINE_INDEX_OFFSET);
209  const unsigned int je=jb+COARSE_END_OFFSET;
210 
211  const unsigned int kb=(eI[2]*eleOrder+pWidth-REFINE_INDEX_OFFSET);
212  const unsigned int ke=kb+COARSE_END_OFFSET;
213 
214  for(unsigned int wIndex=0;wIndex<NUM_COARSE_WAVELET_COEF;wIndex++)
215  wavelets[wIndex]=0.0;
216 
217 
218  unsigned int m=0;
219 
220  for(unsigned int wIndex=0;wIndex<NUM_COARSE_WAVELET_COEF;wIndex++,m=0)
221  for(unsigned int k=kb;k<ke;k+=COARSE_INDEX_OFFSET)
222  for(unsigned int j=jb;j<je;j+=COARSE_INDEX_OFFSET)
223  for(unsigned int i=ib;i<ie;i+=COARSE_INDEX_OFFSET,m++)
224  wavelets[wIndex]+=(IW_4_3_COARSEN[wIndex][m]*unzippedVec[offset+k*sz[1]*sz[0]+j*sz[0]+i]);
225 
226 
227 
228  m=0;
229  for(unsigned int k=(kb+REFINE_INDEX_OFFSET);k<ke;k+=COARSE_INDEX_OFFSET)
230  for(unsigned int j=(jb+REFINE_INDEX_OFFSET);j<je;j+=COARSE_INDEX_OFFSET)
231  for(unsigned int i=(ib+REFINE_INDEX_OFFSET);i<ie;i+=COARSE_INDEX_OFFSET,m++)
232  wavelets[m]=fabs(wavelets[m]-unzippedVec[offset+k*sz[1]*sz[0]+j*sz[0]+i]);
233 
234 
235 
236 
237 }
238 
239 
240 
241 
242 
243 
244 
245 
246 
247 #endif //SFCSORTBENCH_WAVELET_H