1 // This file is part of Eigen, a lightweight C++ template library 2 // for linear algebra. 3 // 4 // Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud (at) inria.fr> 5 // Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1 (at) gmail.com> 6 // 7 // This Source Code Form is subject to the terms of the Mozilla 8 // Public License v. 2.0. If a copy of the MPL was not distributed 9 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 11 12 /* All the parameters defined in this file can be specialized in the 13 * architecture specific files, and/or by the user. 14 * More to come... */ 15 16 #ifndef EIGEN_DEFAULT_SETTINGS_H 17 #define EIGEN_DEFAULT_SETTINGS_H 18 19 /** Defines the maximal loop size to enable meta unrolling of loops. 20 * Note that the value here is expressed in Eigen's own notion of "number of FLOPS", 21 * it does not correspond to the number of iterations or the number of instructions 22 */ 23 #ifndef EIGEN_UNROLLING_LIMIT 24 #define EIGEN_UNROLLING_LIMIT 100 25 #endif 26 27 /** Defines the threshold between a "small" and a "large" matrix. 28 * This threshold is mainly used to select the proper product implementation. 29 */ 30 #ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 31 #define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8 32 #endif 33 34 /** Defines the maximal width of the blocks used in the triangular product and solver 35 * for vectors (level 2 blas xTRMV and xTRSV). The default is 8. 36 */ 37 #ifndef EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH 38 #define EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH 8 39 #endif 40 41 42 /** Defines the default number of registers available for that architecture. 43 * Currently it must be 8 or 16. Other values will fail. 44 */ 45 #ifndef EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 46 #define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 8 47 #endif 48 49 #endif // EIGEN_DEFAULT_SETTINGS_H 50