]> Dogcows Code - chaz/yoink/blob - src/Moof/cml/matrix/matrix_ops.h
beginnings of scene rendering
[chaz/yoink] / src / Moof / cml / matrix / matrix_ops.h
1 /* -*- C++ -*- ------------------------------------------------------------
2
3 Copyright (c) 2007 Jesse Anders and Demian Nave http://cmldev.net/
4
5 The Configurable Math Library (CML) is distributed under the terms of the
6 Boost Software License, v1.0 (see cml/LICENSE for details).
7
8 *-----------------------------------------------------------------------*/
9 /** @file
10 * @brief Defines matrix operators.
11 */
12 #ifndef matrix_ops_h
13 #define matrix_ops_h
14
15 #include <cml/et/scalar_ops.h>
16 #include <cml/matrix/matrix_expr.h>
17 #include <cml/matrix/matop_macros.h>
18
19 namespace cml {
20
21 CML_MAT_UNIOP( operator+, et::OpPos)
22 CML_MATXPR_UNIOP( operator+, et::OpPos)
23
24 CML_MAT_UNIOP( operator-, et::OpNeg)
25 CML_MATXPR_UNIOP( operator-, et::OpNeg)
26
27 CML_MAT_MAT_BINOP( operator+, et::OpAdd)
28 CML_MATXPR_MAT_BINOP( operator+, et::OpAdd)
29 CML_MAT_MATXPR_BINOP( operator+, et::OpAdd)
30 CML_MATXPR_MATXPR_BINOP( operator+, et::OpAdd)
31
32 CML_MAT_MAT_BINOP( operator-, et::OpSub)
33 CML_MATXPR_MAT_BINOP( operator-, et::OpSub)
34 CML_MAT_MATXPR_BINOP( operator-, et::OpSub)
35 CML_MATXPR_MATXPR_BINOP( operator-, et::OpSub)
36
37 CML_MAT_SCALAR_BINOP( operator*, et::OpMul)
38 CML_SCALAR_MAT_BINOP( operator*, et::OpMul)
39 CML_MATXPR_SCALAR_BINOP( operator*, et::OpMul)
40 CML_SCALAR_MATXPR_BINOP( operator*, et::OpMul)
41
42 CML_MAT_SCALAR_BINOP( operator/, et::OpDiv)
43 CML_MATXPR_SCALAR_BINOP( operator/, et::OpDiv)
44
45 } // namespace cml
46
47 #endif
48
49 // -------------------------------------------------------------------------
50 // vim:ft=cpp
This page took 0.034714 seconds and 4 git commands to generate.