]> Dogcows Code - chaz/yoink/blob - src/moof/cml/defaults.h
the massive refactoring effort
[chaz/yoink] / src / moof / cml / defaults.h
1 /* -*- C++ -*- ------------------------------------------------------------
2
3 Copyright (c) 2007 Jesse Anders and Demian Nave http://cmldev.net/
4
5 The Configurable Math Library (CML) is distributed under the terms of the
6 Boost Software License, v1.0 (see cml/LICENSE for details).
7
8 *-----------------------------------------------------------------------*/
9 /** @file
10 * @brief Default values for certain parameters.
11 */
12
13 #ifndef defaults_h
14 #define defaults_h
15
16 #if defined(_MSC_VER)
17
18 #if _MSC_VER >= 1400
19
20 /* Ignore "C4003: not enough actual parameters for macro": */
21 #pragma warning (disable: 4003)
22
23 /* This one is odd, but apparently harmless (but should be fixed!):
24 * "C4348: redefinition of default parameter"
25 */
26 #pragma warning (disable: 4348)
27
28 #endif
29
30 #endif
31
32 /* The default vector unroll limit: */
33 #if !defined(CML_VECTOR_UNROLL_LIMIT)
34 #define CML_VECTOR_UNROLL_LIMIT 8
35 #endif
36
37 /* Don't unroll matrix operations by default: */
38 #if !defined(CML_2D_UNROLLER) && !defined(CML_NO_2D_UNROLLER)
39 #define CML_NO_2D_UNROLLER
40 #endif
41
42 /* The default vector dot() unroll limit: */
43 #if !defined(CML_VECTOR_DOT_UNROLL_LIMIT)
44 #define CML_VECTOR_DOT_UNROLL_LIMIT CML_VECTOR_UNROLL_LIMIT
45 #endif
46
47 /* The default array layout is the C/C++ row-major array layout: */
48 #if !defined(CML_DEFAULT_ARRAY_LAYOUT)
49 #define CML_DEFAULT_ARRAY_LAYOUT cml::row_major
50 #endif
51
52 /* The default basis orientation: */
53 #if !defined(CML_DEFAULT_BASIS_ORIENTATION)
54 #define CML_DEFAULT_BASIS_ORIENTATION cml::col_basis
55 #endif
56
57 /* Always use the default layout in promotions, by default: */
58 #if !defined(CML_ALWAYS_PROMOTE_TO_DEFAULT_LAYOUT)
59 #define CML_ALWAYS_PROMOTE_TO_DEFAULT_LAYOUT
60 #endif
61
62 /* The default memory allocator is std::allocator<void>: */
63 #if !defined(CML_DEFAULT_ARRAY_ALLOC)
64 #include <memory> // for std::allocator
65 #define CML_DEFAULT_ARRAY_ALLOC std::allocator<void>
66 #endif
67
68 /* By default, automatically resize dynamic vectors and matrices: */
69 #if !defined(CML_AUTOMATIC_VECTOR_RESIZE_ON_ASSIGNMENT)
70 #define CML_AUTOMATIC_VECTOR_RESIZE_ON_ASSIGNMENT
71 #endif
72
73 #if !defined(CML_AUTOMATIC_MATRIX_RESIZE_ON_ASSIGNMENT)
74 #define CML_AUTOMATIC_MATRIX_RESIZE_ON_ASSIGNMENT
75 #endif
76
77 /* By default, check vector and matrix sizes: */
78 #if !defined(CML_CHECK_VECTOR_EXPR_SIZES)
79 #define CML_CHECK_VECTOR_EXPR_SIZES
80 #endif
81
82 #if !defined(CML_CHECK_MATRIX_EXPR_SIZES)
83 #define CML_CHECK_MATRIX_EXPR_SIZES
84 #endif
85
86 #endif
87
88 // -------------------------------------------------------------------------
89 // vim:ft=cpp
This page took 0.037899 seconds and 4 git commands to generate.