Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Namespaces | Macros
Triangle/Triangle.cpp File Reference
#include <NekMeshUtils/Triangle/Triangle.h>
Include dependency graph for Triangle/Triangle.cpp:

Go to the source code of this file.

Namespaces

 Nektar
 <
 
 Nektar::NekMeshUtils
 

Macros

#define Absolute(a)   ((a) >= 0.0 ? (a) : -(a))
 
#define Fast_Two_Sum_Tail(a, b, x, y)
 
#define Fast_Two_Sum(a, b, x, y)
 
#define Two_Sum_Tail(a, b, x, y)
 
#define Two_Sum(a, b, x, y)
 
#define Two_Diff_Tail(a, b, x, y)
 
#define Two_Diff(a, b, x, y)
 
#define Split(a, ahi, alo)
 
#define Two_Product_Tail(a, b, x, y)
 
#define Two_Product(a, b, x, y)
 
#define Two_Product_Presplit(a, b, bhi, blo, x, y)
 
#define Square_Tail(a, x, y)
 
#define Square(a, x, y)
 
#define Two_One_Sum(a1, a0, b, x2, x1, x0)
 
#define Two_One_Diff(a1, a0, b, x2, x1, x0)
 
#define Two_Two_Sum(a1, a0, b1, b0, x3, x2, x1, x0)
 
#define Two_Two_Diff(a1, a0, b1, b0, x3, x2, x1, x0)
 
#define Two_One_Product(a1, a0, b, x3, x2, x1, x0)
 

Macro Definition Documentation

#define Absolute (   a)    ((a) >= 0.0 ? (a) : -(a))
#define Fast_Two_Sum (   a,
  b,
  x,
 
)
#define Fast_Two_Sum_Tail (   a,
  b,
  x,
 
)
Value:
bvirt = x - a; \
y = b - bvirt

Definition at line 1355 of file Triangle/Triangle.cpp.

#define Split (   a,
  ahi,
  alo 
)
Value:
c = (double)(splitter * a); \
abig = (double)(c - a); \
ahi = c - abig; \
alo = a - ahi

Definition at line 1385 of file Triangle/Triangle.cpp.

Referenced by Nektar::NekMeshUtils::DelaunayTriangle::scale_expansion_zeroelimTRI().

#define Square (   a,
  x,
 
)
Value:
x = (double)(a * a); \
Square_Tail(a, x, y)
#define Square_Tail(a, x, y)

Definition at line 1422 of file Triangle/Triangle.cpp.

Referenced by Nektar::NekMeshUtils::DelaunayTriangle::incircleadaptTRI().

#define Square_Tail (   a,
  x,
 
)
Value:
Split(a, ahi, alo); \
err1 = x - (ahi * ahi); \
err3 = err1 - ((ahi + ahi) * alo); \
y = (alo * alo) - err3
#define Split(a, ahi, alo)

Definition at line 1416 of file Triangle/Triangle.cpp.

#define Two_Diff (   a,
  b,
  x,
 
)
Value:
x = (double)(a - b); \
Two_Diff_Tail(a, b, x, y)
#define Two_Diff_Tail(a, b, x, y)

Definition at line 1381 of file Triangle/Triangle.cpp.

#define Two_Diff_Tail (   a,
  b,
  x,
 
)
Value:
bvirt = (double)(a - x); \
avirt = x + bvirt; \
bround = bvirt - b; \
around = a - avirt; \
y = around + bround

Definition at line 1374 of file Triangle/Triangle.cpp.

Referenced by Nektar::NekMeshUtils::DelaunayTriangle::counterclockwiseadapt(), Nektar::NekMeshUtils::DelaunayTriangle::incircleadaptTRI(), and Nektar::NekMeshUtils::DelaunayTriangle::orient3dadapt().

#define Two_One_Diff (   a1,
  a0,
  b,
  x2,
  x1,
  x0 
)
Value:
Two_Diff(a0, b, _i, x0); \
Two_Sum(a1, _i, x2, x1)
#define Two_Diff(a, b, x, y)
#define Two_Sum(a, b, x, y)

Definition at line 1433 of file Triangle/Triangle.cpp.

#define Two_One_Product (   a1,
  a0,
  b,
  x3,
  x2,
  x1,
  x0 
)
Value:
Split(b, bhi, blo); \
Two_Product_Presplit(a0, b, bhi, blo, _i, x0); \
Two_Product_Presplit(a1, b, bhi, blo, _j, _0); \
Two_Sum(_i, _0, _k, x1); \
Fast_Two_Sum(_j, _k, x3, x2)
#define Two_Product_Presplit(a, b, bhi, blo, x, y)
#define Fast_Two_Sum(a, b, x, y)
#define Split(a, ahi, alo)
#define Two_Sum(a, b, x, y)

Definition at line 1447 of file Triangle/Triangle.cpp.

Referenced by Nektar::NekMeshUtils::DelaunayTriangle::orient3dadapt().

#define Two_One_Sum (   a1,
  a0,
  b,
  x2,
  x1,
  x0 
)
Value:
Two_Sum(a0, b, _i, x0); \
Two_Sum(a1, _i, x2, x1)
#define Two_Sum(a, b, x, y)

Definition at line 1429 of file Triangle/Triangle.cpp.

#define Two_Product (   a,
  b,
  x,
 
)
#define Two_Product_Presplit (   a,
  b,
  bhi,
  blo,
  x,
 
)
Value:
x = (double)(a * b); \
Split(a, ahi, alo); \
err1 = x - (ahi * bhi); \
err2 = err1 - (alo * bhi); \
err3 = err2 - (ahi * blo); \
y = (alo * blo) - err3
#define Split(a, ahi, alo)

Definition at line 1406 of file Triangle/Triangle.cpp.

Referenced by Nektar::NekMeshUtils::DelaunayTriangle::scale_expansion_zeroelimTRI().

#define Two_Product_Tail (   a,
  b,
  x,
 
)
Value:
Split(a, ahi, alo); \
Split(b, bhi, blo); \
err1 = x - (ahi * bhi); \
err2 = err1 - (alo * bhi); \
err3 = err2 - (ahi * blo); \
y = (alo * blo) - err3
#define Split(a, ahi, alo)

Definition at line 1391 of file Triangle/Triangle.cpp.

#define Two_Sum (   a,
  b,
  x,
 
)
#define Two_Sum_Tail (   a,
  b,
  x,
 
)
Value:
bvirt = (double)(x - a); \
avirt = x - bvirt; \
bround = b - bvirt; \
around = a - avirt; \
y = around + bround

Definition at line 1363 of file Triangle/Triangle.cpp.

#define Two_Two_Diff (   a1,
  a0,
  b1,
  b0,
  x3,
  x2,
  x1,
  x0 
)
#define Two_Two_Sum (   a1,
  a0,
  b1,
  b0,
  x3,
  x2,
  x1,
  x0 
)
Value:
Two_One_Sum(a1, a0, b0, _j, _0, x0); \
Two_One_Sum(_j, _0, b1, x3, x2, x1)
#define Two_One_Sum(a1, a0, b, x2, x1, x0)

Definition at line 1437 of file Triangle/Triangle.cpp.

Referenced by Nektar::NekMeshUtils::DelaunayTriangle::incircleadaptTRI().