You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
51 KiB
114 lines
51 KiB
/*
|
|
* This file contains the nine constant matrices that could be used
|
|
* to assemble the element matrix for tetrahedral element, upto H2(curl).
|
|
* The basis functiones are wriiten in a hierarchical way. Therefore,
|
|
* to assemble H0(curl) use the first 6x6 block, for H1(curl) the first
|
|
* 20x20 block, and then of course for H2(curl) the entire 45x45 block.
|
|
* It is our opinion that higher order than H2(curl) would not offer
|
|
* any significant practical benefits. Consequently, we do not concern
|
|
* ourselves much with the extensions to H3(curl) and higher. Although,
|
|
* the extensions may turn out to be trivial.
|
|
* Basis Functions: H2(curl) TVFEM
|
|
* tetra{0, 1, 2, 3} and the barycentric coordinates (z0, z1, z2, z3)
|
|
*
|
|
* Basis Functions:
|
|
* GROUP, Associate Topology, Form , dimension
|
|
*=====================================================================
|
|
* 0 edge{i,j} zi grad(zj) - zj grad(zi) 6
|
|
* 1 edge{i,j} 4grad(zi zj) 6
|
|
* 2 face{i,j,k} 4zj(zi grad(zk) - zk grad(zi)) 4
|
|
* 2 face{i,j,k} 4zk(zi grad(zj) - zj grad(zi)) 4
|
|
* 3 edge{i,j} 4grad(zi^2 zj - zj^2 zi) 6
|
|
* 4 face{i,j,k} 8grad(zi zj zk) 4
|
|
* 5 face{i,j,k} 4zi^2(zj grad(zk) - zk grad(zj)) 4
|
|
* 5 face{i,j,k} 4zj^2(zi grad(zk) - zk grad(zi)) 4
|
|
* 5 face{i,j,k} 4zk^2(zi grad(zj) - zj grad(zi)) 4
|
|
* 6 tetra{0,1,2,3} 8z1 z2 (z0 grad(z3) - z3 grad(z0)) 1
|
|
* 6 tetra{0,1,2,3} 8z1 z3 (z0 grad(z2) - z2 grad(z0)) 1
|
|
* 6 tetra{0,1,2,3} 8z2 z3 (z0 grad(z1) - z1 grad(z0)) 1
|
|
* where edge{i,j} and face{i,j,k} are ordered doublet and triplet,
|
|
* respectively.
|
|
*
|
|
* With these nine matrices, the element matrix can be formed simply by
|
|
* [S] = 1 / (S_DNUM * vol) {
|
|
* L00 [S00] + L01 [S01] + L10 [S10]
|
|
* + L02 [S02] + L20 [S20] + L11 [S11]
|
|
* + L12 [S12] + L21 [S21] + L22 [S22]
|
|
* }
|
|
* Similarly for the T matrix, simply replace S by T and L by A
|
|
* And, Lij = vtr(Li) * tensor(epsr) * vtr(Lj)
|
|
* Aij = vtr(Ai) * tensor( 1/ mur) * vtr(Aj)
|
|
* where L0 = p0p1, L1 = p0p2, L2 = p0p3,
|
|
* L3 = p1p2 L4 = p1p3 L5 = p2p3
|
|
* A0 = inward normal of face{1,2,3} |A0| = area (face{1,2,3})
|
|
* A1 = inward normal of face{0,2,3} |A1| = area (face{0,2,3})
|
|
* A2 = inward normal of face{0,1,3} |A2| = area (face{0,1,3})
|
|
* A3 = inward normal of face{0,1,2} |A3| = area (face{0,1,2})
|
|
*
|
|
* Note also: [Sij] = [Sji]^{t} and [Tij] = [Tji]^{t}
|
|
*/
|
|
#include "../dgtd-performance.hpp"
|
|
|
|
static int S_DNUM = 1890;
|
|
static int T_DNUM = 7560;
|
|
|
|
static fp_t S00[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000};
|
|
|
|
|
|
static fp_t S01[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000};
|
|
|
|
static fp_t S02[16][16]={
|
|
0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000};
|
|
|
|
static fp_t S10[16][16]={0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000};
|
|
|
|
static fp_t S11[16][16]={0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000};
|
|
|
|
|
|
static fp_t S12[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000};
|
|
|
|
|
|
static fp_t S20[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000};
|
|
|
|
static fp_t S21[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000};
|
|
|
|
|
|
static fp_t S22[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 210.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000};
|
|
|
|
|
|
static fp_t T00[16][16]=
|
|
{840.000000, 0.000000, 0.000000, -840.000000, -210.000000, -210.000000, -420.000000, 0.000000, -210.000000, -210.000000, 840.000000, 840.000000, 0.000000, 0.000000, -840.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 210.000000, 210.000000, 420.000000, 0.000000, 210.000000, 210.000000, -840.000000, -840.000000, 0.000000, 0.000000, 840.000000, 840.000000, -210.000000, 0.000000, 0.000000, 210.000000, 84.000000, 42.000000, 84.000000, 0.000000, 84.000000, 42.000000, -336.000000, -168.000000, 0.000000, 0.000000, 336.000000, 168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 84.000000, 84.000000, 0.000000, 42.000000, 84.000000, -168.000000, -336.000000, 0.000000, 0.000000, 168.000000, 336.000000, -420.000000, 0.000000, 0.000000, 420.000000, 84.000000, 84.000000, 252.000000, 0.000000, 84.000000, 84.000000, -336.000000, -336.000000, 0.000000, 0.000000, 336.000000, 336.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 210.000000, 84.000000, 42.000000, 84.000000, 0.000000, 84.000000, 42.000000, -336.000000, -168.000000, 0.000000, 0.000000, 336.000000, 168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 84.000000, 84.000000, 0.000000, 42.000000, 84.000000, -168.000000, -336.000000, 0.000000, 0.000000, 168.000000, 336.000000, 840.000000, 0.000000, 0.000000, -840.000000, -336.000000, -168.000000, -336.000000, 0.000000, -336.000000, -168.000000, 1344.000000, 672.000000, 0.000000, 0.000000, -1344.000000, -672.000000, 840.000000, 0.000000, 0.000000, -840.000000, -168.000000, -336.000000, -336.000000, 0.000000, -168.000000, -336.000000, 672.000000, 1344.000000, 0.000000, 0.000000, -672.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 336.000000, 168.000000, 336.000000, 0.000000, 336.000000, 168.000000, -1344.000000, -672.000000, 0.000000, 0.000000, 1344.000000, 672.000000, -840.000000, 0.000000, 0.000000, 840.000000, 168.000000, 336.000000, 336.000000, 0.000000, 168.000000, 336.000000, -672.000000, -1344.000000, 0.000000, 0.000000, 672.000000, 1344.000000};
|
|
|
|
static fp_t T01[16][16]=
|
|
{0.000000, 840.000000, 0.000000, -840.000000, 210.000000, 0.000000, -210.000000, -210.000000, -420.000000, -210.000000, 840.000000, 0.000000, -840.000000, 840.000000, 0.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -210.000000, 0.000000, 210.000000, 210.000000, 420.000000, 210.000000, -840.000000, 0.000000, 840.000000, -840.000000, 0.000000, 840.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 42.000000, 126.000000, 42.000000, -168.000000, 0.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 84.000000, 84.000000, 84.000000, -168.000000, 0.000000, 168.000000, -336.000000, 0.000000, 336.000000, 0.000000, -420.000000, 0.000000, 420.000000, -126.000000, 0.000000, 126.000000, 84.000000, 210.000000, 84.000000, -504.000000, 0.000000, 504.000000, -336.000000, -168.000000, 336.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 42.000000, 126.000000, 42.000000, -168.000000, 0.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 84.000000, 84.000000, 84.000000, -168.000000, 0.000000, 168.000000, -336.000000, 0.000000, 336.000000, 0.000000, 840.000000, 0.000000, -840.000000, 168.000000, 0.000000, -168.000000, -168.000000, -504.000000, -168.000000, 672.000000, 0.000000, -672.000000, 672.000000, -672.000000, -672.000000, 0.000000, 840.000000, 0.000000, -840.000000, 168.000000, 0.000000, -168.000000, -336.000000, -336.000000, -336.000000, 672.000000, 0.000000, -672.000000, 1344.000000, 0.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, -168.000000, 0.000000, 168.000000, 0.000000, -168.000000, 0.000000, -672.000000, 0.000000, 672.000000, 0.000000, 672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -168.000000, 0.000000, 168.000000, 168.000000, 504.000000, 168.000000, -672.000000, 0.000000, 672.000000, -672.000000, 672.000000, 672.000000, 0.000000, -840.000000, 0.000000, 840.000000, -168.000000, 0.000000, 168.000000, 336.000000, 336.000000, 336.000000, -672.000000, 0.000000, 672.000000, -1344.000000, 0.000000, 1344.000000};
|
|
|
|
|
|
static fp_t T02[16][16]=
|
|
{0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 210.000000, -210.000000, 210.000000, -210.000000, -420.000000, 0.000000, 840.000000, -840.000000, 840.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -210.000000, 210.000000, -210.000000, 210.000000, 420.000000, 0.000000, -840.000000, 840.000000, -840.000000, 840.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -84.000000, 84.000000, 84.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -42.000000, 42.000000, 126.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, 0.000000, -420.000000, 420.000000, 0.000000, -126.000000, 126.000000, -84.000000, 84.000000, 210.000000, 0.000000, -504.000000, 504.000000, -336.000000, 336.000000, -168.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -84.000000, 84.000000, 84.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -42.000000, 42.000000, 126.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 168.000000, -168.000000, 336.000000, -336.000000, -336.000000, 0.000000, 672.000000, -672.000000, 1344.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 168.000000, -168.000000, 168.000000, -168.000000, -504.000000, 0.000000, 672.000000, -672.000000, 672.000000, -672.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -168.000000, 168.000000, 0.000000, 0.000000, -168.000000, 0.000000, -672.000000, 672.000000, 0.000000, 0.000000, 672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 336.000000, 0.000000, -672.000000, 672.000000, -1344.000000, 1344.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 504.000000, 0.000000, -672.000000, 672.000000, -672.000000, 672.000000, 672.000000};
|
|
|
|
static fp_t T10[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, 0.000000, -840.000000, -210.000000, -210.000000, -420.000000, 0.000000, -210.000000, -210.000000, 840.000000, 840.000000, 0.000000, 0.000000, -840.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 210.000000, 210.000000, 420.000000, 0.000000, 210.000000, 210.000000, -840.000000, -840.000000, 0.000000, 0.000000, 840.000000, 840.000000, 210.000000, 0.000000, 0.000000, -210.000000, -42.000000, -42.000000, -126.000000, 0.000000, -42.000000, -42.000000, 168.000000, 168.000000, -168.000000, 0.000000, -168.000000, -168.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 42.000000, 126.000000, 0.000000, 42.000000, 42.000000, -168.000000, -168.000000, 168.000000, 0.000000, 168.000000, 168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 84.000000, 84.000000, 0.000000, 42.000000, 84.000000, -168.000000, -336.000000, 0.000000, 0.000000, 168.000000, 336.000000, -420.000000, 0.000000, 0.000000, 420.000000, 126.000000, 84.000000, 210.000000, 0.000000, 126.000000, 84.000000, -504.000000, -336.000000, -168.000000, 0.000000, 504.000000, 336.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 84.000000, 84.000000, 0.000000, 42.000000, 84.000000, -168.000000, -336.000000, 0.000000, 0.000000, 168.000000, 336.000000, 840.000000, 0.000000, 0.000000, -840.000000, -168.000000, -168.000000, -504.000000, 0.000000, -168.000000, -168.000000, 672.000000, 672.000000, -672.000000, 0.000000, -672.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 168.000000, 168.000000, 504.000000, 0.000000, 168.000000, 168.000000, -672.000000, -672.000000, 672.000000, 0.000000, 672.000000, 672.000000, 840.000000, 0.000000, 0.000000, -840.000000, -168.000000, -336.000000, -336.000000, 0.000000, -168.000000, -336.000000, 672.000000, 1344.000000, 0.000000, 0.000000, -672.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 168.000000, 0.000000, -168.000000, 0.000000, 168.000000, 0.000000, -672.000000, 0.000000, 672.000000, 0.000000, 672.000000, 0.000000, -840.000000, 0.000000, 0.000000, 840.000000, 168.000000, 336.000000, 336.000000, 0.000000, 168.000000, 336.000000, -672.000000, -1344.000000, 0.000000, 0.000000, 672.000000, 1344.000000};
|
|
|
|
static fp_t T11[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, -840.000000, 210.000000, 0.000000, -210.000000, -210.000000, -420.000000, -210.000000, 840.000000, 0.000000, -840.000000, 840.000000, 0.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -210.000000, 0.000000, 210.000000, 210.000000, 420.000000, 210.000000, -840.000000, 0.000000, 840.000000, -840.000000, 0.000000, 840.000000, 0.000000, 210.000000, 0.000000, -210.000000, 84.000000, 0.000000, -84.000000, -42.000000, -84.000000, -42.000000, 336.000000, 0.000000, -336.000000, 168.000000, 0.000000, -168.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 0.000000, 210.000000, -84.000000, 0.000000, 84.000000, 42.000000, 84.000000, 42.000000, -336.000000, 0.000000, 336.000000, -168.000000, 0.000000, 168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 84.000000, 84.000000, 84.000000, -168.000000, 0.000000, 168.000000, -336.000000, 0.000000, 336.000000, 0.000000, -420.000000, 0.000000, 420.000000, -84.000000, 0.000000, 84.000000, 84.000000, 252.000000, 84.000000, -336.000000, 0.000000, 336.000000, -336.000000, 0.000000, 336.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 84.000000, 84.000000, 84.000000, -168.000000, 0.000000, 168.000000, -336.000000, 0.000000, 336.000000, 0.000000, 840.000000, 0.000000, -840.000000, 336.000000, 0.000000, -336.000000, -168.000000, -336.000000, -168.000000, 1344.000000, 0.000000, -1344.000000, 672.000000, 0.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -336.000000, 0.000000, 336.000000, 168.000000, 336.000000, 168.000000, -1344.000000, 0.000000, 1344.000000, -672.000000, 0.000000, 672.000000, 0.000000, 840.000000, 0.000000, -840.000000, 168.000000, 0.000000, -168.000000, -336.000000, -336.000000, -336.000000, 672.000000, 0.000000, -672.000000, 1344.000000, 0.000000, -1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1344.000000, 0.000000, 0.000000, -840.000000, 0.000000, 840.000000, -168.000000, 0.000000, 168.000000, 336.000000, 336.000000, 336.000000, -672.000000, 0.000000, 672.000000, -1344.000000, 0.000000, 1344.000000};
|
|
|
|
static fp_t T12[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 210.000000, -210.000000, 210.000000, -210.000000, -420.000000, 0.000000, 840.000000, -840.000000, 840.000000, -840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -210.000000, 210.000000, -210.000000, 210.000000, 420.000000, 0.000000, -840.000000, 840.000000, -840.000000, 840.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 84.000000, -84.000000, 42.000000, -42.000000, -84.000000, 0.000000, 336.000000, -336.000000, 168.000000, -168.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -84.000000, 84.000000, -42.000000, 42.000000, 84.000000, 0.000000, -336.000000, 336.000000, -168.000000, 168.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -42.000000, 42.000000, 126.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, 0.000000, -420.000000, 420.000000, 0.000000, -84.000000, 84.000000, -126.000000, 126.000000, 210.000000, 0.000000, -336.000000, 336.000000, -504.000000, 504.000000, -168.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -42.000000, 42.000000, 126.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 336.000000, -336.000000, 168.000000, -168.000000, -336.000000, 0.000000, 1344.000000, -1344.000000, 672.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -336.000000, 336.000000, -168.000000, 168.000000, 336.000000, 0.000000, -1344.000000, 1344.000000, -672.000000, 672.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 168.000000, -168.000000, 168.000000, -168.000000, -504.000000, 0.000000, 672.000000, -672.000000, 672.000000, -672.000000, -672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -168.000000, 168.000000, -168.000000, 0.000000, 0.000000, 0.000000, -672.000000, 672.000000, 672.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -168.000000, 168.000000, -168.000000, 168.000000, 504.000000, 0.000000, -672.000000, 672.000000, -672.000000, 672.000000, 672.000000};
|
|
|
|
|
|
static fp_t T20[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, 0.000000, -840.000000, -210.000000, -210.000000, -420.000000, 0.000000, -210.000000, -210.000000, 840.000000, 840.000000, 0.000000, 0.000000, -840.000000, -840.000000, -840.000000, 0.000000, 0.000000, 840.000000, 210.000000, 210.000000, 420.000000, 0.000000, 210.000000, 210.000000, -840.000000, -840.000000, 0.000000, 0.000000, 840.000000, 840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, 0.000000, -210.000000, -42.000000, -42.000000, -126.000000, 0.000000, -42.000000, -42.000000, 168.000000, 168.000000, -168.000000, 0.000000, -168.000000, -168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 42.000000, 42.000000, 126.000000, 0.000000, 42.000000, 42.000000, -168.000000, -168.000000, 168.000000, 0.000000, 168.000000, 168.000000, 210.000000, 0.000000, 0.000000, -210.000000, -84.000000, -42.000000, -84.000000, 0.000000, -84.000000, -42.000000, 336.000000, 168.000000, 0.000000, 0.000000, -336.000000, -168.000000, -210.000000, 0.000000, 0.000000, 210.000000, 84.000000, 42.000000, 84.000000, 0.000000, 84.000000, 42.000000, -336.000000, -168.000000, 0.000000, 0.000000, 336.000000, 168.000000, -420.000000, 0.000000, 0.000000, 420.000000, 84.000000, 126.000000, 210.000000, 0.000000, 84.000000, 126.000000, -336.000000, -504.000000, -168.000000, 0.000000, 336.000000, 504.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, 0.000000, -840.000000, -168.000000, -168.000000, -504.000000, 0.000000, -168.000000, -168.000000, 672.000000, 672.000000, -672.000000, 0.000000, -672.000000, -672.000000, -840.000000, 0.000000, 0.000000, 840.000000, 168.000000, 168.000000, 504.000000, 0.000000, 168.000000, 168.000000, -672.000000, -672.000000, 672.000000, 0.000000, 672.000000, 672.000000, 840.000000, 0.000000, 0.000000, -840.000000, -336.000000, -168.000000, -336.000000, 0.000000, -336.000000, -168.000000, 1344.000000, 672.000000, 0.000000, 0.000000, -1344.000000, -672.000000, -840.000000, 0.000000, 0.000000, 840.000000, 336.000000, 168.000000, 336.000000, 0.000000, 336.000000, 168.000000, -1344.000000, -672.000000, 0.000000, 0.000000, 1344.000000, 672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 168.000000, -168.000000, 0.000000, 0.000000, 168.000000, 0.000000, -672.000000, 672.000000, 0.000000, 0.000000, 672.000000};
|
|
|
|
|
|
static fp_t T21[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, -840.000000, 210.000000, 0.000000, -210.000000, -210.000000, -420.000000, -210.000000, 840.000000, 0.000000, -840.000000, 840.000000, 0.000000, -840.000000, 0.000000, -840.000000, 0.000000, 840.000000, -210.000000, 0.000000, 210.000000, 210.000000, 420.000000, 210.000000, -840.000000, 0.000000, 840.000000, -840.000000, 0.000000, 840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, 0.000000, -210.000000, 84.000000, 0.000000, -84.000000, -42.000000, -84.000000, -42.000000, 336.000000, 0.000000, -336.000000, 168.000000, 0.000000, -168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -84.000000, 0.000000, 84.000000, 42.000000, 84.000000, 42.000000, -336.000000, 0.000000, 336.000000, -168.000000, 0.000000, 168.000000, 0.000000, 210.000000, 0.000000, -210.000000, 42.000000, 0.000000, -42.000000, -42.000000, -126.000000, -42.000000, 168.000000, 0.000000, -168.000000, 168.000000, -168.000000, -168.000000, 0.000000, -210.000000, 0.000000, 210.000000, -42.000000, 0.000000, 42.000000, 42.000000, 126.000000, 42.000000, -168.000000, 0.000000, 168.000000, -168.000000, 168.000000, 168.000000, 0.000000, -420.000000, 0.000000, 420.000000, -84.000000, 0.000000, 84.000000, 126.000000, 210.000000, 126.000000, -336.000000, 0.000000, 336.000000, -504.000000, -168.000000, 504.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, 0.000000, -840.000000, 336.000000, 0.000000, -336.000000, -168.000000, -336.000000, -168.000000, 1344.000000, 0.000000, -1344.000000, 672.000000, 0.000000, -672.000000, 0.000000, -840.000000, 0.000000, 840.000000, -336.000000, 0.000000, 336.000000, 168.000000, 336.000000, 168.000000, -1344.000000, 0.000000, 1344.000000, -672.000000, 0.000000, 672.000000, 0.000000, 840.000000, 0.000000, -840.000000, 168.000000, 0.000000, -168.000000, -168.000000, -504.000000, -168.000000, 672.000000, 0.000000, -672.000000, 672.000000, -672.000000, -672.000000, 0.000000, -840.000000, 0.000000, 840.000000, -168.000000, 0.000000, 168.000000, 168.000000, 504.000000, 168.000000, -672.000000, 0.000000, 672.000000, -672.000000, 672.000000, 672.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 168.000000, -168.000000, 168.000000, 0.000000, 0.000000, 0.000000, -672.000000, 672.000000, 672.000000};
|
|
|
|
static fp_t T22[16][16]=
|
|
{0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 210.000000, -210.000000, 210.000000, -210.000000, -420.000000, 0.000000, 840.000000, -840.000000, 840.000000, -840.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -210.000000, 210.000000, -210.000000, 210.000000, 420.000000, 0.000000, -840.000000, 840.000000, -840.000000, 840.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 84.000000, -84.000000, 42.000000, -42.000000, -84.000000, 0.000000, 336.000000, -336.000000, 168.000000, -168.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -84.000000, 84.000000, -42.000000, 42.000000, 84.000000, 0.000000, -336.000000, 336.000000, -168.000000, 168.000000, 0.000000, 0.000000, 0.000000, 210.000000, -210.000000, 0.000000, 42.000000, -42.000000, 84.000000, -84.000000, -84.000000, 0.000000, 168.000000, -168.000000, 336.000000, -336.000000, 0.000000, 0.000000, 0.000000, -210.000000, 210.000000, 0.000000, -42.000000, 42.000000, -84.000000, 84.000000, 84.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 0.000000, 0.000000, 0.000000, -420.000000, 420.000000, 0.000000, -84.000000, 84.000000, -84.000000, 84.000000, 252.000000, 0.000000, -336.000000, 336.000000, -336.000000, 336.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 336.000000, -336.000000, 168.000000, -168.000000, -336.000000, 0.000000, 1344.000000, -1344.000000, 672.000000, -672.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -336.000000, 336.000000, -168.000000, 168.000000, 336.000000, 0.000000, -1344.000000, 1344.000000, -672.000000, 672.000000, 0.000000, 0.000000, 0.000000, 840.000000, -840.000000, 0.000000, 168.000000, -168.000000, 336.000000, -336.000000, -336.000000, 0.000000, 672.000000, -672.000000, 1344.000000, -1344.000000, 0.000000, 0.000000, 0.000000, -840.000000, 840.000000, 0.000000, -168.000000, 168.000000, -336.000000, 336.000000, 336.000000, 0.000000, -672.000000, 672.000000, -1344.000000, 1344.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1344.000000};
|
|
|
|
|