w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

cmsmtrx.c File Reference
#include "lcms2_internal.h"
Include dependency graph for cmsmtrx.c:

Go to the source code of this file.

Macros

#define DSWAP(x, y)   {cmsFloat64Number tmp = (x); (x)=(y); (y)=tmp;}
 
#define ROWCOL(i, j)    a->v[i].n[0]*b->v[0].n[j] + a->v[i].n[1]*b->v[1].n[j] + a->v[i].n[2]*b->v[2].n[j]
 

Functions

void _cmsVEC3init (cmsVEC3 *r, cmsFloat64Number x, cmsFloat64Number y, cmsFloat64Number z)
 
void _cmsVEC3minus (cmsVEC3 *r, const cmsVEC3 *a, const cmsVEC3 *b)
 
void _cmsVEC3cross (cmsVEC3 *r, const cmsVEC3 *u, const cmsVEC3 *v)
 
cmsFloat64Number _cmsVEC3dot (const cmsVEC3 *u, const cmsVEC3 *v)
 
cmsFloat64Number _cmsVEC3length (const cmsVEC3 *a)
 
cmsFloat64Number _cmsVEC3distance (const cmsVEC3 *a, const cmsVEC3 *b)
 
void _cmsMAT3identity (cmsMAT3 *a)
 
static cmsBool CloseEnough (cmsFloat64Number a, cmsFloat64Number b)
 
cmsBool _cmsMAT3isIdentity (const cmsMAT3 *a)
 
void _cmsMAT3per (cmsMAT3 *r, const cmsMAT3 *a, const cmsMAT3 *b)
 
cmsBool _cmsMAT3inverse (const cmsMAT3 *a, cmsMAT3 *b)
 
cmsBool _cmsMAT3solve (cmsVEC3 *x, cmsMAT3 *a, cmsVEC3 *b)
 
void _cmsMAT3eval (cmsVEC3 *r, const cmsMAT3 *a, const cmsVEC3 *v)
 

Macro Definition Documentation

◆ DSWAP

#define DSWAP (   x,
  y 
)    {cmsFloat64Number tmp = (x); (x)=(y); (y)=tmp;}

Definition at line 30 of file cmsmtrx.c.

◆ ROWCOL

#define ROWCOL (   i,
  j 
)     a->v[i].n[0]*b->v[0].n[j] + a->v[i].n[1]*b->v[1].n[j] + a->v[i].n[2]*b->v[2].n[j]

Function Documentation

◆ _cmsMAT3eval()

void _cmsMAT3eval ( cmsVEC3 r,
const cmsMAT3 a,
const cmsVEC3 v 
)

Definition at line 169 of file cmsmtrx.c.

References a, r, v, VX, VY, and VZ.

Referenced by _cmsBuildRGB2XYZtransferMatrix(), _cmsMAT3solve(), CHAD2Temp(), cmsAdaptToIlluminant(), and ComputeChromaticAdaptation().

◆ _cmsMAT3identity()

◆ _cmsMAT3inverse()

◆ _cmsMAT3isIdentity()

cmsBool _cmsMAT3isIdentity ( const cmsMAT3 a)

◆ _cmsMAT3per()

void _cmsMAT3per ( cmsMAT3 r,
const cmsMAT3 a,
const cmsMAT3 b 
)

◆ _cmsMAT3solve()

cmsBool _cmsMAT3solve ( cmsVEC3 x,
cmsMAT3 a,
cmsVEC3 b 
)

◆ _cmsVEC3cross()

void _cmsVEC3cross ( cmsVEC3 r,
const cmsVEC3 u,
const cmsVEC3 v 
)

Definition at line 50 of file cmsmtrx.c.

References r, u, v, VX, VY, and VZ.

◆ _cmsVEC3distance()

cmsFloat64Number _cmsVEC3distance ( const cmsVEC3 a,
const cmsVEC3 b 
)

Definition at line 72 of file cmsmtrx.c.

References a, b, d1, sqrt(), VX, VY, and VZ.

◆ _cmsVEC3dot()

cmsFloat64Number _cmsVEC3dot ( const cmsVEC3 u,
const cmsVEC3 v 
)

Definition at line 58 of file cmsmtrx.c.

References u, v, VX, VY, and VZ.

Referenced by ClosestLineToLine().

◆ _cmsVEC3init()

◆ _cmsVEC3length()

cmsFloat64Number _cmsVEC3length ( const cmsVEC3 a)

Definition at line 64 of file cmsmtrx.c.

References a, n, sqrt(), VX, VY, and VZ.

◆ _cmsVEC3minus()

void _cmsVEC3minus ( cmsVEC3 r,
const cmsVEC3 a,
const cmsVEC3 b 
)

Definition at line 42 of file cmsmtrx.c.

References a, b, n, r, VX, VY, and VZ.

Referenced by ClosestLineToLine().

◆ CloseEnough()

static cmsBool CloseEnough ( cmsFloat64Number  a,
cmsFloat64Number  b 
)
static

Definition at line 92 of file cmsmtrx.c.

References a, b, and fabs.

Referenced by _cmsMAT3isIdentity().