1 // unrolling constratins for simd functions 2 // Copyright (C) 2009 Tim Blechmann 3 // 4 // This program is free software; you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation; either version 2 of the License, or 7 // (at your option) any later version. 8 // 9 // This program is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with this program; see the file COPYING. If not, write to 16 // the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 // Boston, MA 02111-1307, USA. 18 19 20 #ifndef SIMD_UNROLL_CONSTRAINTS_HPP 21 #define SIMD_UNROLL_CONSTRAINTS_HPP 22 23 #include "vec.hpp" 24 25 namespace nova 26 { 27 28 template <typename float_type> 29 struct unroll_constraints 30 { 31 static const unsigned int samples_per_loop = vec<float_type>::objects_per_cacheline; 32 }; 33 34 } /* namespace nova */ 35 36 #endif /* SIMD_UNROLL_CONSTRAINTS_HPP */ 37