Openholo  v4.0
Open Source Digital Holographic Library
vec.h File Reference
#include "ivec.h"
#include "epsilon.h"
#include <math.h>
Include dependency graph for vec.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  oph::vec2
 structure for 2-dimensional Real type vector and its arithmetic. More...
 
struct  oph::vec3
 structure for 3-dimensional Real type vector and its arithmetic. More...
 
struct  oph::vec4
 structure for 4-dimensional Real type vector and its arithmetic. More...
 

Namespaces

 oph
 

Functions

vec2 oph::operator+ (const vec2 &a, const vec2 &b)
 
vec2 oph::operator+ (Real a, const vec2 &b)
 
vec2 oph::operator+ (const vec2 &a, Real b)
 
vec2 oph::operator- (const vec2 &a, const vec2 &b)
 
vec2 oph::operator- (Real a, const vec2 &b)
 
vec2 oph::operator- (const vec2 &a, Real b)
 
vec2 oph::operator* (const vec2 &a, const vec2 &b)
 
vec2 oph::operator* (Real a, const vec2 &b)
 
vec2 oph::operator* (const vec2 &a, Real b)
 
vec2 oph::operator/ (const vec2 &a, const vec2 &b)
 
vec2 oph::operator/ (Real a, const vec2 &b)
 
vec2 oph::operator/ (const vec2 &a, Real b)
 
vec2 oph::operator+= (vec2 &a, const vec2 &b)
 
vec2 oph::operator+= (vec2 &a, Real b)
 
vec2 oph::operator-= (vec2 &a, const vec2 &b)
 
vec2 oph::operator-= (vec2 &a, Real b)
 
vec2 oph::operator*= (vec2 &a, const vec2 &b)
 
vec2 oph::operator*= (vec2 &a, Real b)
 
vec2 oph::operator/= (vec2 &a, const vec2 &b)
 
vec2 oph::operator/= (vec2 &a, Real b)
 
int oph::operator== (const vec2 &a, const vec2 &b)
 
int oph::operator== (Real a, const vec2 &b)
 
int oph::operator== (const vec2 &a, Real b)
 
int oph::operator< (const vec2 &a, const vec2 &b)
 
int oph::operator< (Real a, const vec2 &b)
 
int oph::operator< (const vec2 &a, Real b)
 
int oph::operator<= (const vec2 &a, const vec2 &b)
 
int oph::operator<= (Real a, const vec2 &b)
 
int oph::operator<= (const vec2 &a, Real b)
 
int oph::operator> (const vec2 &a, const vec2 &b)
 
int oph::operator> (Real a, const vec2 &b)
 
int oph::operator> (const vec2 &a, Real b)
 
int oph::operator>= (const vec2 &a, const vec2 &b)
 
int oph::operator>= (Real a, const vec2 &b)
 
int oph::operator>= (const vec2 &a, Real b)
 
vec2 oph::operator- (const vec2 &a)
 
Real oph::sum (const vec2 &a)
 
Real oph::inner (const vec2 &a, const vec2 &b)
 
Real oph::norm (const vec2 &a)
 
Real oph::squaredNorm (const vec2 &a)
 
vec2 oph::unit (const vec2 &a)
 
Real oph::angle (const vec2 &a, const vec2 &b)
 
vec2 oph::proj (const vec2 &axis, const vec2 &a)
 
vec2 oph::absolute (const vec2 &val)
 
void oph::store (FILE *fp, const vec2 &v)
 
int oph::apx_equal (const vec2 &a, const vec2 &b)
 
int oph::apx_equal (const vec2 &a, const vec2 &b, Real eps)
 
vec3 oph::operator+ (const vec3 &a, const vec3 &b)
 
vec3 oph::operator+ (Real a, const vec3 &b)
 
vec3 oph::operator+ (const vec3 &a, Real b)
 
vec3 oph::operator- (const vec3 &a, const vec3 &b)
 
vec3 oph::operator- (Real a, const vec3 &b)
 
vec3 oph::operator- (const vec3 &a, Real b)
 
vec3 oph::operator* (const vec3 &a, const vec3 &b)
 
vec3 oph::operator* (Real a, const vec3 &b)
 
vec3 oph::operator* (const vec3 &a, Real b)
 
vec3 oph::operator/ (const vec3 &a, const vec3 &b)
 
vec3 oph::operator/ (Real a, const vec3 &b)
 
vec3 oph::operator/ (const vec3 &a, Real b)
 
vec3 oph::operator+= (vec3 &a, const vec3 &b)
 
vec3 oph::operator+= (vec3 &a, Real b)
 
vec3 oph::operator-= (vec3 &a, const vec3 &b)
 
vec3 oph::operator-= (vec3 &a, Real b)
 
vec3 oph::operator*= (vec3 &a, const vec3 &b)
 
vec3 oph::operator*= (vec3 &a, Real b)
 
vec3 oph::operator/= (vec3 &a, const vec3 &b)
 
vec3 oph::operator/= (vec3 &a, Real b)
 
int oph::operator== (const vec3 &a, const vec3 &b)
 
int oph::operator== (Real a, const vec3 &b)
 
int oph::operator== (const vec3 &a, Real b)
 
int oph::operator< (const vec3 &a, const vec3 &b)
 
int oph::operator< (Real a, const vec3 &b)
 
int oph::operator< (const vec3 &a, Real b)
 
int oph::operator<= (const vec3 &a, const vec3 &b)
 
int oph::operator<= (Real a, const vec3 &b)
 
int oph::operator<= (const vec3 &a, Real b)
 
int oph::operator> (const vec3 &a, const vec3 &b)
 
int oph::operator> (Real a, const vec3 &b)
 
int oph::operator> (const vec3 &a, Real b)
 
int oph::operator>= (const vec3 &a, const vec3 &b)
 
int oph::operator>= (Real a, const vec3 &b)
 
int oph::operator>= (const vec3 &a, Real b)
 
vec3 oph::operator- (const vec3 &a)
 
vec3 oph::absolute (const vec3 &val)
 
Real oph::sum (const vec3 &a)
 
Real oph::inner (const vec3 &a, const vec3 &b)
 
Real oph::squaredNorm (const vec3 &a)
 
Real oph::norm (const vec3 &a)
 
vec3 oph::unit (const vec3 &a)
 
Real oph::angle (const vec3 &a, const vec3 &b)
 
vec3 oph::proj (const vec3 &axis, const vec3 &a)
 
void oph::store (FILE *fp, const vec3 &v)
 
int oph::apx_equal (const vec3 &a, const vec3 &b)
 
int oph::apx_equal (const vec3 &a, const vec3 &b, Real eps)
 
vec4 oph::operator+ (const vec4 &a, const vec4 &b)
 
vec4 oph::operator+ (Real a, const vec4 &b)
 
vec4 oph::operator+ (const vec4 &a, Real b)
 
vec4 oph::operator- (const vec4 &a, const vec4 &b)
 
vec4 oph::operator- (Real a, const vec4 &b)
 
vec4 oph::operator- (const vec4 &a, Real b)
 
vec4 oph::operator* (const vec4 &a, const vec4 &b)
 
vec4 oph::operator* (Real a, const vec4 &b)
 
vec4 oph::operator* (const vec4 &a, Real b)
 
vec4 oph::operator/ (const vec4 &a, const vec4 &b)
 
vec4 oph::operator/ (Real a, const vec4 &b)
 
vec4 oph::operator/ (const vec4 &a, Real b)
 
vec4 oph::operator+= (vec4 &a, const vec4 &b)
 
vec4 oph::operator+= (vec4 &a, Real b)
 
vec4 oph::operator-= (vec4 &a, const vec4 &b)
 
vec4 oph::operator-= (vec4 &a, Real b)
 
vec4 oph::operator*= (vec4 &a, const vec4 &b)
 
vec4 oph::operator*= (vec4 &a, Real b)
 
vec4 oph::operator/= (vec4 &a, const vec4 &b)
 
vec4 oph::operator/= (vec4 &a, Real b)
 
int oph::operator== (const vec4 &a, const vec4 &b)
 
int oph::operator== (Real a, const vec4 &b)
 
int oph::operator== (const vec4 &a, Real b)
 
int oph::operator< (const vec4 &a, const vec4 &b)
 
int oph::operator< (Real a, const vec4 &b)
 
int oph::operator< (const vec4 &a, Real b)
 
int oph::operator<= (const vec4 &a, const vec4 &b)
 
int oph::operator<= (Real a, const vec4 &b)
 
int oph::operator<= (const vec4 &a, Real b)
 
int oph::operator> (const vec4 &a, const vec4 &b)
 
int oph::operator> (Real a, const vec4 &b)
 
int oph::operator> (const vec4 &a, Real b)
 
int oph::operator>= (const vec4 &a, const vec4 &b)
 
int oph::operator>= (Real a, const vec4 &b)
 
int oph::operator>= (const vec4 &a, Real b)
 
vec4 oph::operator- (const vec4 &a)
 
vec4 oph::absolute (const vec4 &val)
 
Real oph::sum (const vec4 &a)
 
Real oph::inner (const vec4 &a, const vec4 &b)
 
Real oph::squaredNorm (const vec4 &a)
 
Real oph::norm (const vec4 &a)
 
vec4 oph::unit (const vec4 &a)
 
Real oph::angle (const vec4 &a, const vec4 &b)
 
vec4 oph::proj (const vec4 &axis, const vec4 &a)
 
void oph::store (FILE *fp, const vec4 &v)
 
int oph::apx_equal (const vec4 &a, const vec4 &b)
 
int oph::apx_equal (const vec4 &a, const vec4 &b, Real eps)
 
vec3 oph::cross (const vec3 &a, const vec3 &b)