shape_doc 0.1
|
#include <algorithm>
#include <math.h>
Go to the source code of this file.
K abs | ( | const K & | k | ) | [inline] |
Definition at line 7 of file ssi_math.hpp.
Referenced by EdgeListBuilder< node_t >::dist(), mmx::GLUE_102(), mmx::GLUE_200(), mmx::GLUE_23(), mmx::GLUE_51(), mmx::GLUE_61(), intersectp_coplanar_triangles(), geom::intersectp_coplanar_triangles(), intersectp_triangle3(), geom::intersectp_triangle3(), intersectp_triangles3_div(), geom::intersectp_triangles3_div(), intersectp_triangles3_isegment(), geom::intersectp_triangles3_isegment(), mmx::max_abs(), cell2d< C, REF_OF(V) >::pair(), dsearch::push(), and Sqrt().
{ return std::abs(k); };
K det22 | ( | const K & | a, |
const K & | b, | ||
const K & | c, | ||
const K & | d | ||
) | [inline] |
Definition at line 10 of file ssi_math.hpp.
{ return a*d - b*c; };
K det33 | ( | const K & | a00, |
const K & | a01, | ||
const K & | a02, | ||
const K & | a10, | ||
const K & | a11, | ||
const K & | a12, | ||
const K & | a20, | ||
const K & | a21, | ||
const K & | a22 | ||
) |
Definition at line 61 of file ssi_math.hpp.
References tcoff33().
{ K tmp[9]; tcoff33( tmp[0], tmp[1], tmp[2], tmp[3], tmp[4], tmp[5], tmp[6], tmp[7], tmp[8], a00, a01, a02, a10, a11, a12, a20, a21, a22 ); return a00 * tmp[0] + a10 * tmp[1] + a20 * tmp[2]; };
void inv33 | ( | K & | r00, |
K & | r01, | ||
K & | r02, | ||
K & | r10, | ||
K & | r11, | ||
K & | r12, | ||
K & | r20, | ||
K & | r21, | ||
K & | r22, | ||
const K & | a00, | ||
const K & | a01, | ||
const K & | a02, | ||
const K & | a10, | ||
const K & | a11, | ||
const K & | a12, | ||
const K & | a20, | ||
const K & | a21, | ||
const K & | a22 | ||
) |
Definition at line 34 of file ssi_math.hpp.
References tcoff33().
{ tcoff33( r00, r01, r02, r10, r11, r12, r20, r21, r22, a00, a01, a02, a10, a11, a12, a20, a21, a22 ); K idet = 1.0/(a00*r00+a10*r01+a20*r02); r00 *= idet; r01 *= idet; r02 *= idet; r10 *= idet; r11 *= idet; r12 *= idet; r20 *= idet; r21 *= idet; r22 *= idet; };
float Sqrt | ( | const float & | x, |
const float & | prec | ||
) | [inline] |
Definition at line 91 of file ssi_math.hpp.
{ return sqrt(x); };
double Sqrt | ( | const double & | x, |
const double & | prec | ||
) | [inline] |
Definition at line 89 of file ssi_math.hpp.
{ return sqrt(x); };
K Sqrt | ( | const K & | x, |
const K & | prec = 1e-19 |
||
) | [inline] |
Definition at line 76 of file ssi_math.hpp.
References abs().
{ K r = x/2; do { r = (r+(x/r))/2; } while( abs(r*r-x) > prec ); return r; };
void tcoff33 | ( | K & | r00, |
K & | r01, | ||
K & | r02, | ||
K & | r10, | ||
K & | r11, | ||
K & | r12, | ||
K & | r20, | ||
K & | r21, | ||
K & | r22, | ||
const K & | a00, | ||
const K & | a01, | ||
const K & | a02, | ||
const K & | a10, | ||
const K & | a11, | ||
const K & | a12, | ||
const K & | a20, | ||
const K & | a21, | ||
const K & | a22 | ||
) |
Definition at line 15 of file ssi_math.hpp.
Referenced by det33(), and inv33().
{ r00 = a11*a22-a12*a21; r01 = -a01*a22+a02*a21; r02 = a01*a12-a02*a11; r10 = -a10*a22+a12*a20; r11 = a00*a22-a02*a20; r12 = -a00*a12+a02*a10; r20 = a10*a21-a11*a20; r21 = -a00*a21+a01*a20; r22 = a00*a11-a01*a10; };