| 2397 | typedef typename type_struct::row_type_struct row_type_struct; |
| 2398 | |
| 2399 | union |
| 2400 | { |
| 2401 | Component<type_struct, 4, 0> m00; |
| 2402 | Component<type_struct, 4, 1> m10; |
| 2403 | Component<type_struct, 4, 2> m01; |
| 2404 | Component<type_struct, 4, 3> m11; |
| 2405 | Subvec2D<column_type_struct, 4, 0, 1> col0; |
| 2406 | Subvec2D<column_type_struct, 4, 2, 3> col1; |
| 2407 | Subvec2D<row_type_struct, 4, 0, 2> row0; |
| 2408 | Subvec2D<row_type_struct, 4, 1, 3> row1; |
| 2409 | Submat2D<type_struct, 4, 0, 2, 1, 3> matrix; |
| 2410 | Submat2D<type_struct, 4, 0, 1, 2, 3> transpose; |
| 2411 | }; |
| 2412 | |
| 2413 | protected: |
| 2414 | |
| 2415 | inline Mat2D() = default; |
| 2416 | |
| 2417 | Mat2D(const Mat2D& m) |
| 2418 | { |
| 2419 | matrix = m.matrix; |
| 2420 | } |
| 2421 | |
| 2422 | Mat2D(const component_type& n00, const component_type& n01, const component_type& n10, const component_type& n11) |
| 2423 | { |
| 2424 | matrix.Set(n00, n01, n10, n11); |
| 2425 | } |
| 2426 | |
| 2427 | public: |
| 2428 | |
| 2429 | component_type& operator ()(machine i, machine j) |
| 2430 | { |
| 2431 | return (matrix.data[j * 2 + i]); |
| 2432 | } |
| 2433 | |
| 2434 | const component_type& operator ()(machine i, machine j) const |
| 2435 | { |
| 2436 | return (matrix.data[j * 2 + i]); |
| 2437 | } |
| 2438 | |
| 2439 | typename column_type_struct::vector2D_type& operator [](machine j) |
| 2440 | { |
| 2441 | return (reinterpret_cast<typename column_type_struct::vector2D_type&>(matrix.data[j * 2])); |
| 2442 | } |
| 2443 | |
| 2444 | const typename column_type_struct::vector2D_type& operator [](machine j) const |
| 2445 | { |
| 2446 | return (reinterpret_cast<const typename column_type_struct::vector2D_type&>(matrix.data[j * 2])); |
| 2447 | } |
| 2448 | |
| 2449 | Mat2D& operator =(const Mat2D& m) |
| 2450 | { |
| 2451 | matrix = m.matrix; |
| 2452 | return (*this); |
| 2453 | } |
| 2454 | |
| 2455 | void operator =(const Mat2D& m) volatile |
| 2456 | { |
nothing calls this directly
no outgoing calls
no test coverage detected