defaults.h

Go to the documentation of this file.
00001 /* -*- C++ -*- ------------------------------------------------------------
00002  
00003 Copyright (c) 2007 Jesse Anders and Demian Nave http://cmldev.net/
00004 
00005 The Configurable Math Library (CML) is distributed under the terms of the
00006 Boost Software License, v1.0 (see cml/LICENSE for details).
00007 
00008  *-----------------------------------------------------------------------*/
00013 #ifndef defaults_h
00014 #define defaults_h
00015 
00016 #if defined(_MSC_VER)
00017 
00018 #if _MSC_VER >= 1400
00019 
00020 /* Ignore "C4003: not enough actual parameters for macro": */
00021 #pragma warning (disable: 4003)
00022 
00023 /* This one is odd, but apparently harmless (but should be fixed!):
00024  * "C4348: redefinition of default parameter"
00025  */
00026 #pragma warning (disable: 4348)
00027 
00028 #endif
00029 
00030 #endif
00031 
00032 /* The default vector unroll limit: */
00033 #if !defined(CML_VECTOR_UNROLL_LIMIT)
00034 #define CML_VECTOR_UNROLL_LIMIT 8
00035 #endif
00036 
00037 /* Don't unroll matrix operations by default: */
00038 #if !defined(CML_2D_UNROLLER) && !defined(CML_NO_2D_UNROLLER)
00039 #define CML_NO_2D_UNROLLER
00040 #endif
00041 
00042 /* The default vector dot() unroll limit: */
00043 #if !defined(CML_VECTOR_DOT_UNROLL_LIMIT)
00044 #define CML_VECTOR_DOT_UNROLL_LIMIT CML_VECTOR_UNROLL_LIMIT
00045 #endif
00046 
00047 /* The default array layout is the C/C++ row-major array layout: */
00048 #if !defined(CML_DEFAULT_ARRAY_LAYOUT)
00049 #define CML_DEFAULT_ARRAY_LAYOUT cml::row_major
00050 #endif
00051 
00052 /* The default basis orientation: */
00053 #if !defined(CML_DEFAULT_BASIS_ORIENTATION)
00054 #define CML_DEFAULT_BASIS_ORIENTATION cml::col_basis
00055 #endif
00056 
00057 /* Always use the default layout in promotions, by default: */
00058 #if !defined(CML_ALWAYS_PROMOTE_TO_DEFAULT_LAYOUT)
00059 #define CML_ALWAYS_PROMOTE_TO_DEFAULT_LAYOUT
00060 #endif
00061 
00062 /* The default memory allocator is std::allocator<void>: */
00063 #if !defined(CML_DEFAULT_ARRAY_ALLOC)
00064 #include <memory>               // for std::allocator
00065 #define CML_DEFAULT_ARRAY_ALLOC std::allocator<void>
00066 #endif
00067 
00068 /* By default, automatically resize dynamic vectors and matrices: */
00069 #if !defined(CML_AUTOMATIC_VECTOR_RESIZE_ON_ASSIGNMENT)
00070 #define CML_AUTOMATIC_VECTOR_RESIZE_ON_ASSIGNMENT
00071 #endif
00072 
00073 #if !defined(CML_AUTOMATIC_MATRIX_RESIZE_ON_ASSIGNMENT)
00074 #define CML_AUTOMATIC_MATRIX_RESIZE_ON_ASSIGNMENT
00075 #endif
00076 
00077 /* By default, check vector and matrix sizes: */
00078 #if !defined(CML_CHECK_VECTOR_EXPR_SIZES)
00079 #define CML_CHECK_VECTOR_EXPR_SIZES
00080 #endif
00081 
00082 #if !defined(CML_CHECK_MATRIX_EXPR_SIZES)
00083 #define CML_CHECK_MATRIX_EXPR_SIZES
00084 #endif
00085 
00086 #endif
00087 
00088 // -------------------------------------------------------------------------
00089 // vim:ft=cpp

Generated on Sat Jul 18 19:35:20 2009 for CML 1.0 by  doxygen 1.5.9