binary_vectorexpression.h

Back to Vector expressions

pastel/sys/vector/

// Description: Element-wise binary vector expressions
// Documentation: vectorexpression.txt

#ifndef PASTELSYS_BINARY_VECTOREXPRESSION_H
#define PASTELSYS_BINARY_VECTOREXPRESSION_H

#include "pastel/sys/vector/vectorexpression.h"
#include "pastel/sys/vector/binary_vectorexpression_detail.h"
#include "pastel/sys/predicate.h"

#include <algorithm>
#include <cmath>

namespace Pastel
{

    // Here are listed all predefined binary vector expressions.

    PASTEL_BINARY_VECTOREXPRESSION_RIGHTCONSTANT(VectorPow, std::pow, pow);
    PASTEL_BINARY_VECTOREXPRESSION(VectorAtan2, std::atan2, atan2);
    PASTEL_BINARY_VECTOREXPRESSION(VectorMin, std::min, min);
    PASTEL_BINARY_VECTOREXPRESSION(VectorMax, std::max, max);
    PASTEL_BINARY_VECTOREXPRESSION(VectorEqualTo, EqualTo(), operator==);
    PASTEL_BINARY_VECTOREXPRESSION(VectorNotEqualTo, NotEqualTo(), operator!=);
    PASTEL_BINARY_VECTOREXPRESSION(VectorLessThan, LessThan(), operator<);
    PASTEL_BINARY_VECTOREXPRESSION(VectorLessEqual, LessEqual(), operator<=);
    PASTEL_BINARY_VECTOREXPRESSION(VectorGreater, GreaterThan(), operator>);
    PASTEL_BINARY_VECTOREXPRESSION(VectorGreaterEqual, GreaterEqual(), operator>=);

}

#endif