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

Functions

Vector2DadditionVector2D (const Vector2D *vectorA, const Vector2D *vectorB, Vector2D *result)
 
Vector2DsubtractionVector2D (const Vector2D *vectorA, const Vector2D *vectorB, Vector2D *result)
 
Vector2DmultiplicationScalarVector2D (const Vector2D *vector, float8 n, Vector2D *result)
 
Vector2DdivisionScalarVector2D (const Vector2D *vector, float8 n, Vector2D *result)
 
float8 dotProductVector2D (const Vector2D *vectorA, const Vector2D *vectorB)
 
float8 perpDotProductVector2D (const Vector2D *vectorA, const Vector2D *vectorB)
 
float8 normVector2D (const Vector2D *vector)
 
float8 sqNormVector2D (const Vector2D *vector)
 
Vector2DnormalizeVector2D (const Vector2D *vector, Vector2D *result, float8 *norm)
 
float8 distanceVector2D (const Vector2D *vectorA, const Vector2D *vectorB)
 
float8 sqDistanceVector2D (const Vector2D *vectorA, const Vector2D *vectorB)
 
float8 angleVector2D (const Vector2D *vectorA, const Vector2D *vectorB)
 
PGDLLEXPORT Datum additionVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (additionVector2DV1)
 
PGDLLEXPORT Datum subtractionVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (subtractionVector2DV1)
 
PGDLLEXPORT Datum multiplicationScalarVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (multiplicationScalarVector2DV1)
 
PGDLLEXPORT Datum divisionScalarVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (divisionScalarVector2DV1)
 
PGDLLEXPORT Datum dotProductVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (dotProductVector2DV1)
 
PGDLLEXPORT Datum perpDotProductVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (perpDotProductVector2DV1)
 
PGDLLEXPORT Datum normVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (normVector2DV1)
 
PGDLLEXPORT Datum sqNormVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (sqNormVector2DV1)
 
PGDLLEXPORT Datum distanceVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (distanceVector2DV1)
 
PGDLLEXPORT Datum sqDistanceVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (sqDistanceVector2DV1)
 
PGDLLEXPORT Datum normalizeVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (normalizeVector2DV1)
 
PGDLLEXPORT Datum angleVector2DV1 (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (angleVector2DV1)
 

Function Documentation

PGDLLEXPORT Datum additionVector2DV1 ( PG_FUNCTION_ARGS  )

References additionVector2D().

Here is the call graph for this function:

float8 angleVector2D ( const Vector2D vectorA,
const Vector2D vectorB 
)

References dotProductVector2D(), and normVector2D().

Referenced by angleVector2DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum angleVector2DV1 ( PG_FUNCTION_ARGS  )

References angleVector2D().

Here is the call graph for this function:

float8 distanceVector2D ( const Vector2D vectorA,
const Vector2D vectorB 
)

References normVector2D(), and subtractionVector2D().

Referenced by distanceVector2DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum distanceVector2DV1 ( PG_FUNCTION_ARGS  )

References distanceVector2D().

Here is the call graph for this function:

Vector2D* divisionScalarVector2D ( const Vector2D vector,
float8  n,
Vector2D result 
)

References Vector2D::x, and Vector2D::y.

Referenced by divisionScalarVector2DV1().

PGDLLEXPORT Datum divisionScalarVector2DV1 ( PG_FUNCTION_ARGS  )

References divisionScalarVector2D().

Here is the call graph for this function:

PGDLLEXPORT Datum dotProductVector2DV1 ( PG_FUNCTION_ARGS  )

References dotProductVector2D().

Here is the call graph for this function:

PGDLLEXPORT Datum multiplicationScalarVector2DV1 ( PG_FUNCTION_ARGS  )

References multiplicationScalarVector2D().

Here is the call graph for this function:

Vector2D* normalizeVector2D ( const Vector2D vector,
Vector2D result,
float8 *  norm 
)

References normVector2D(), Vector2D::x, and Vector2D::y.

Referenced by directionSegmentSP(), intersectionSegmentSP_SegmentSP(), and normalizeVector2DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum normalizeVector2DV1 ( PG_FUNCTION_ARGS  )

References normalizeVector2D().

Here is the call graph for this function:

float8 normVector2D ( const Vector2D vector)
PGDLLEXPORT Datum normVector2DV1 ( PG_FUNCTION_ARGS  )

References normVector2D().

Here is the call graph for this function:

float8 perpDotProductVector2D ( const Vector2D vectorA,
const Vector2D vectorB 
)
PGDLLEXPORT Datum perpDotProductVector2DV1 ( PG_FUNCTION_ARGS  )

References perpDotProductVector2D().

Here is the call graph for this function:

PG_FUNCTION_INFO_V1 ( additionVector2DV1  )
PG_FUNCTION_INFO_V1 ( subtractionVector2DV1  )
PG_FUNCTION_INFO_V1 ( multiplicationScalarVector2DV1  )
PG_FUNCTION_INFO_V1 ( divisionScalarVector2DV1  )
PG_FUNCTION_INFO_V1 ( dotProductVector2DV1  )
PG_FUNCTION_INFO_V1 ( perpDotProductVector2DV1  )
PG_FUNCTION_INFO_V1 ( normVector2DV1  )
PG_FUNCTION_INFO_V1 ( sqNormVector2DV1  )
PG_FUNCTION_INFO_V1 ( distanceVector2DV1  )
PG_FUNCTION_INFO_V1 ( sqDistanceVector2DV1  )
PG_FUNCTION_INFO_V1 ( normalizeVector2DV1  )
PG_FUNCTION_INFO_V1 ( angleVector2DV1  )
float8 sqDistanceVector2D ( const Vector2D vectorA,
const Vector2D vectorB 
)

References sqNormVector2D(), and subtractionVector2D().

Referenced by sqDistanceVector2DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum sqDistanceVector2DV1 ( PG_FUNCTION_ARGS  )

References sqDistanceVector2D().

Here is the call graph for this function:

float8 sqNormVector2D ( const Vector2D vector)

References dotProductVector2D().

Referenced by sqDistanceVector2D(), and sqNormVector2DV1().

Here is the call graph for this function:

PGDLLEXPORT Datum sqNormVector2DV1 ( PG_FUNCTION_ARGS  )

References sqNormVector2D().

Here is the call graph for this function:

PGDLLEXPORT Datum subtractionVector2DV1 ( PG_FUNCTION_ARGS  )

References subtractionVector2D().

Here is the call graph for this function: