Hermes
 All Data Structures Files Functions Variables Macros Pages
ArithmeticOperators.c File Reference
#include "../../h/Math/Vector3D/ArithmeticOperators.h"
#include <math.h>
Include dependency graph for ArithmeticOperators.c:

Functions

Vector3DadditionVector3D (const Vector3D *vectorA, const Vector3D *vectorB, Vector3D *result)
 
Vector3DsubtractionVector3D (const Vector3D *vectorA, const Vector3D *vectorB, Vector3D *result)
 
Vector3DmultiplicationScalarVector3D (const Vector3D *vector, float8 n, Vector3D *result)
 
Vector3DdivisionScalarVector3D (const Vector3D *vector, float8 n, Vector3D *result)
 
float8 dotProductVector3D (const Vector3D *vectorA, const Vector3D *vectorB)
 
Vector3DcrossProductVector3D (const Vector3D *vectorA, const Vector3D *vectorB, Vector3D *result)
 
float8 normVector3D (const Vector3D *vector)
 
float8 sqNormVector3D (const Vector3D *vector)
 
Vector3DnormalizeVector3D (const Vector3D *vector, Vector3D *result, float8 *norm)
 
float8 distanceVector3D (const Vector3D *vectorA, const Vector3D *vectorB)
 
float8 sqDistanceVector3D (const Vector3D *vectorA, const Vector3D *vectorB)
 
PGDLLEXPORT Datum additionVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (additionVector3DV1)
 
PGDLLEXPORT Datum subtractionVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (subtractionVector3DV1)
 
PGDLLEXPORT Datum multiplicationScalarVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (multiplicationScalarVector3DV1)
 
PGDLLEXPORT Datum divisionScalarVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (divisionScalarVector3DV1)
 
PGDLLEXPORT Datum dotProductVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (dotProductVector3DV1)
 
PGDLLEXPORT Datum crossProductVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (crossProductVector3DV1)
 
PGDLLEXPORT Datum normVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (normVector3DV1)
 
PGDLLEXPORT Datum sqNormVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (sqNormVector3DV1)
 
PGDLLEXPORT Datum normalizeVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (normalizeVector3DV1)
 
PGDLLEXPORT Datum distanceVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (distanceVector3DV1)
 
PGDLLEXPORT Datum sqDistanceVector3DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (sqDistanceVector3DV1)
 

Function Documentation

Vector3D* additionVector3D ( const Vector3D vectorA,
const Vector3D vectorB,
Vector3D result 
)

References Vector3D::x, Vector3D::y, and Vector3D::z.

Referenced by additionVector3DV1().

PGDLLEXPORT Datum additionVector3DV1 ( PG_FUNCTION_ARGS  )

References additionVector3D().

Here is the call graph for this function:

Vector3D* crossProductVector3D ( const Vector3D vectorA,
const Vector3D vectorB,
Vector3D result 
)

References Vector3D::x, Vector3D::y, and Vector3D::z.

Referenced by crossProductVector3DV1().

PGDLLEXPORT Datum crossProductVector3DV1 ( PG_FUNCTION_ARGS  )

References crossProductVector3D().

Here is the call graph for this function:

float8 distanceVector3D ( const Vector3D vectorA,
const Vector3D vectorB 
)

References normVector3D(), and subtractionVector3D().

Referenced by distanceVector3DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum distanceVector3DV1 ( PG_FUNCTION_ARGS  )

References distanceVector3D().

Here is the call graph for this function:

Vector3D* divisionScalarVector3D ( const Vector3D vector,
float8  n,
Vector3D result 
)
PGDLLEXPORT Datum divisionScalarVector3DV1 ( PG_FUNCTION_ARGS  )

References divisionScalarVector3D().

Here is the call graph for this function:

float8 dotProductVector3D ( const Vector3D vectorA,
const Vector3D vectorB 
)
PGDLLEXPORT Datum dotProductVector3DV1 ( PG_FUNCTION_ARGS  )

References dotProductVector3D().

Here is the call graph for this function:

Vector3D* multiplicationScalarVector3D ( const Vector3D vector,
float8  n,
Vector3D result 
)
PGDLLEXPORT Datum multiplicationScalarVector3DV1 ( PG_FUNCTION_ARGS  )

References multiplicationScalarVector3D().

Here is the call graph for this function:

Vector3D* normalizeVector3D ( const Vector3D vector,
Vector3D result,
float8 *  norm 
)

References normVector3D(), Vector3D::x, Vector3D::y, and Vector3D::z.

Referenced by normalizeVector3DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum normalizeVector3DV1 ( PG_FUNCTION_ARGS  )

References normalizeVector3D().

Here is the call graph for this function:

float8 normVector3D ( const Vector3D vector)

References dotProductVector3D().

Referenced by distanceVector3D(), normalizeVector3D(), and normVector3DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum normVector3DV1 ( PG_FUNCTION_ARGS  )

References normVector3D().

Here is the call graph for this function:

PG_FUNCTION_INFO_V1 ( additionVector3DV1  )
PG_FUNCTION_INFO_V1 ( subtractionVector3DV1  )
PG_FUNCTION_INFO_V1 ( multiplicationScalarVector3DV1  )
PG_FUNCTION_INFO_V1 ( divisionScalarVector3DV1  )
PG_FUNCTION_INFO_V1 ( dotProductVector3DV1  )
PG_FUNCTION_INFO_V1 ( crossProductVector3DV1  )
PG_FUNCTION_INFO_V1 ( normVector3DV1  )
PG_FUNCTION_INFO_V1 ( sqNormVector3DV1  )
PG_FUNCTION_INFO_V1 ( normalizeVector3DV1  )
PG_FUNCTION_INFO_V1 ( distanceVector3DV1  )
PG_FUNCTION_INFO_V1 ( sqDistanceVector3DV1  )
float8 sqDistanceVector3D ( const Vector3D vectorA,
const Vector3D vectorB 
)

References sqNormVector3D(), and subtractionVector3D().

Referenced by sqDistanceVector3DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum sqDistanceVector3DV1 ( PG_FUNCTION_ARGS  )

References sqDistanceVector3D().

Here is the call graph for this function:

float8 sqNormVector3D ( const Vector3D vector)

References dotProductVector3D().

Referenced by sqDistanceVector3D(), and sqNormVector3DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum sqNormVector3DV1 ( PG_FUNCTION_ARGS  )

References sqNormVector3D().

Here is the call graph for this function:

Vector3D* subtractionVector3D ( const Vector3D vectorA,
const Vector3D vectorB,
Vector3D result 
)
PGDLLEXPORT Datum subtractionVector3DV1 ( PG_FUNCTION_ARGS  )

References subtractionVector3D().

Here is the call graph for this function: