Changeset 768


Ignore:
Timestamp:
May 15, 2011, 1:16:18 PM (8 years ago)
Author:
sam
Message:

core: add the unary minus operator to vectors.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/matrix.h

    r761 r768  
    101101        for (int n = 0; n < elems; n++) \
    102102            ret[n] = static_cast<U>((*this)[n]); \
     103        return ret; \
     104    } \
     105    \
     106    inline Vec##elems<T> operator -() const \
     107    { \
     108        Vec##elems<T> ret; \
     109        for (int n = 0; n < elems; n++) \
     110            ret[n] = -(*this)[n]; \
    103111        return ret; \
    104112    } \
  • trunk/test/matrix.cpp

    r757 r768  
    2828    CPPUNIT_TEST(test_vec_eq);
    2929    CPPUNIT_TEST(test_vec_lt);
     30    CPPUNIT_TEST(test_vec_unary);
    3031    CPPUNIT_TEST(test_mat_det);
    3132    CPPUNIT_TEST(test_mat_mul);
     
    123124    }
    124125
     126    void test_vec_unary()
     127    {
     128        vec2 a(1.0f, 3.0f);
     129        vec2 b(-1.0f, -3.0f);
     130
     131        CPPUNIT_ASSERT(a == -b);
     132        CPPUNIT_ASSERT(-a == b);
     133    }
     134
    125135    void test_mat_det()
    126136    {
Note: See TracChangeset for help on using the changeset viewer.