This is the Tiny Vector Matrix Expression Templates library found at http://tvmet.sourceforge.net. It is the fastest and most compact matrix lib out there (for < 10x10 matricies). I have done some minor tweaks to make it compile for mbed. For examples and hints on how to use, see: http://tvmet.sourceforge.net/usage.html

Dependents:   Eurobot_2012_Secondary

Committer:
madcowswe
Date:
Wed Mar 28 15:53:45 2012 +0000
Revision:
0:feb4117d16d8

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
madcowswe 0:feb4117d16d8 1 #ifndef _INCLUDE_TVMET_CONFIG_H
madcowswe 0:feb4117d16d8 2 #define _INCLUDE_TVMET_CONFIG_H 1
madcowswe 0:feb4117d16d8 3
madcowswe 0:feb4117d16d8 4 /* include/tvmet/config.h. Generated automatically at end of configure. */
madcowswe 0:feb4117d16d8 5 /* config/config.h. Generated from config.h.in by configure. */
madcowswe 0:feb4117d16d8 6 /* config/config.h.in. Generated from configure.ac by autoheader. */
madcowswe 0:feb4117d16d8 7
madcowswe 0:feb4117d16d8 8 /* define if the compiler has complex<T> */
madcowswe 0:feb4117d16d8 9 #ifndef TVMET_HAVE_COMPLEX
madcowswe 0:feb4117d16d8 10 #define TVMET_HAVE_COMPLEX
madcowswe 0:feb4117d16d8 11 #endif
madcowswe 0:feb4117d16d8 12
madcowswe 0:feb4117d16d8 13 /* define if the compiler has complex math functions */
madcowswe 0:feb4117d16d8 14 #ifndef TVMET_HAVE_COMPLEX_MATH1
madcowswe 0:feb4117d16d8 15 #define TVMET_HAVE_COMPLEX_MATH1
madcowswe 0:feb4117d16d8 16 #endif
madcowswe 0:feb4117d16d8 17
madcowswe 0:feb4117d16d8 18 /* define if the compiler has more complex math functions */
madcowswe 0:feb4117d16d8 19 /* #undef TVMET_HAVE_COMPLEX_MATH2 */
madcowswe 0:feb4117d16d8 20
madcowswe 0:feb4117d16d8 21 /* Define to 1 if you have the <dlfcn.h> header file. */
madcowswe 0:feb4117d16d8 22 #ifndef TVMET_HAVE_DLFCN_H
madcowswe 0:feb4117d16d8 23 #define TVMET_HAVE_DLFCN_H 1
madcowswe 0:feb4117d16d8 24 #endif
madcowswe 0:feb4117d16d8 25
madcowswe 0:feb4117d16d8 26 /* Define to 1 if you have the `floor' function. */
madcowswe 0:feb4117d16d8 27 #ifndef TVMET_HAVE_FLOOR
madcowswe 0:feb4117d16d8 28 #define TVMET_HAVE_FLOOR 1
madcowswe 0:feb4117d16d8 29 #endif
madcowswe 0:feb4117d16d8 30
madcowswe 0:feb4117d16d8 31 /* Define if the compiler supports IEEE math library */
madcowswe 0:feb4117d16d8 32 #ifndef TVMET_HAVE_IEEE_MATH
madcowswe 0:feb4117d16d8 33 #define TVMET_HAVE_IEEE_MATH
madcowswe 0:feb4117d16d8 34 #endif
madcowswe 0:feb4117d16d8 35
madcowswe 0:feb4117d16d8 36 /* Define to 1 if you have the <inttypes.h> header file. */
madcowswe 0:feb4117d16d8 37 #ifndef TVMET_HAVE_INTTYPES_H
madcowswe 0:feb4117d16d8 38 #define TVMET_HAVE_INTTYPES_H 1
madcowswe 0:feb4117d16d8 39 #endif
madcowswe 0:feb4117d16d8 40
madcowswe 0:feb4117d16d8 41 /* Define to 1 if you have the `dl' library (-ldl). */
madcowswe 0:feb4117d16d8 42 #ifndef TVMET_HAVE_LIBDL
madcowswe 0:feb4117d16d8 43 #define TVMET_HAVE_LIBDL 1
madcowswe 0:feb4117d16d8 44 #endif
madcowswe 0:feb4117d16d8 45
madcowswe 0:feb4117d16d8 46 /* Define to 1 if the type `long double' works and has more range or precision
madcowswe 0:feb4117d16d8 47 than `double'. */
madcowswe 0:feb4117d16d8 48 #ifndef TVMET_HAVE_LONG_DOUBLE
madcowswe 0:feb4117d16d8 49 #define TVMET_HAVE_LONG_DOUBLE 1
madcowswe 0:feb4117d16d8 50 #endif
madcowswe 0:feb4117d16d8 51
madcowswe 0:feb4117d16d8 52 /* Define to 1 if the type `long double' works and has more range or precision
madcowswe 0:feb4117d16d8 53 than `double'. */
madcowswe 0:feb4117d16d8 54 #ifndef TVMET_HAVE_LONG_DOUBLE_WIDER
madcowswe 0:feb4117d16d8 55 #define TVMET_HAVE_LONG_DOUBLE_WIDER 1
madcowswe 0:feb4117d16d8 56 #endif
madcowswe 0:feb4117d16d8 57
madcowswe 0:feb4117d16d8 58 /* Define if the compiler supports the long_long type */
madcowswe 0:feb4117d16d8 59 #ifndef TVMET_HAVE_LONG_LONG
madcowswe 0:feb4117d16d8 60 #define TVMET_HAVE_LONG_LONG
madcowswe 0:feb4117d16d8 61 #endif
madcowswe 0:feb4117d16d8 62
madcowswe 0:feb4117d16d8 63 /* Define to 1 if you have the <memory.h> header file. */
madcowswe 0:feb4117d16d8 64 #ifndef TVMET_HAVE_MEMORY_H
madcowswe 0:feb4117d16d8 65 #define TVMET_HAVE_MEMORY_H 1
madcowswe 0:feb4117d16d8 66 #endif
madcowswe 0:feb4117d16d8 67
madcowswe 0:feb4117d16d8 68 /* Define if the compiler supports the mutable keyword */
madcowswe 0:feb4117d16d8 69 #ifndef TVMET_HAVE_MUTABLE
madcowswe 0:feb4117d16d8 70 #define TVMET_HAVE_MUTABLE
madcowswe 0:feb4117d16d8 71 #endif
madcowswe 0:feb4117d16d8 72
madcowswe 0:feb4117d16d8 73 /* Define if the compiler implements namespaces */
madcowswe 0:feb4117d16d8 74 #ifndef TVMET_HAVE_NAMESPACES
madcowswe 0:feb4117d16d8 75 #define TVMET_HAVE_NAMESPACES
madcowswe 0:feb4117d16d8 76 #endif
madcowswe 0:feb4117d16d8 77
madcowswe 0:feb4117d16d8 78 /* Define if the compiler supports partial specialization */
madcowswe 0:feb4117d16d8 79 #ifndef TVMET_HAVE_PARTIAL_SPECIALIZATION
madcowswe 0:feb4117d16d8 80 #define TVMET_HAVE_PARTIAL_SPECIALIZATION
madcowswe 0:feb4117d16d8 81 #endif
madcowswe 0:feb4117d16d8 82
madcowswe 0:feb4117d16d8 83 /* Define to 1 if you have the `pow' function. */
madcowswe 0:feb4117d16d8 84 #ifndef TVMET_HAVE_POW
madcowswe 0:feb4117d16d8 85 #define TVMET_HAVE_POW 1
madcowswe 0:feb4117d16d8 86 #endif
madcowswe 0:feb4117d16d8 87
madcowswe 0:feb4117d16d8 88 /* Define to 1 if you have the `rint' function. */
madcowswe 0:feb4117d16d8 89 #ifndef TVMET_HAVE_RINT
madcowswe 0:feb4117d16d8 90 #define TVMET_HAVE_RINT 1
madcowswe 0:feb4117d16d8 91 #endif
madcowswe 0:feb4117d16d8 92
madcowswe 0:feb4117d16d8 93 /* Define to 1 if you have the `sqrt' function. */
madcowswe 0:feb4117d16d8 94 #ifndef TVMET_HAVE_SQRT
madcowswe 0:feb4117d16d8 95 #define TVMET_HAVE_SQRT 1
madcowswe 0:feb4117d16d8 96 #endif
madcowswe 0:feb4117d16d8 97
madcowswe 0:feb4117d16d8 98 /* Define to 1 if stdbool.h conforms to C99. */
madcowswe 0:feb4117d16d8 99 #ifndef TVMET_HAVE_STDBOOL_H
madcowswe 0:feb4117d16d8 100 #define TVMET_HAVE_STDBOOL_H 1
madcowswe 0:feb4117d16d8 101 #endif
madcowswe 0:feb4117d16d8 102
madcowswe 0:feb4117d16d8 103 /* Define to 1 if you have the <stdint.h> header file. */
madcowswe 0:feb4117d16d8 104 #ifndef TVMET_HAVE_STDINT_H
madcowswe 0:feb4117d16d8 105 #define TVMET_HAVE_STDINT_H 1
madcowswe 0:feb4117d16d8 106 #endif
madcowswe 0:feb4117d16d8 107
madcowswe 0:feb4117d16d8 108 /* Define to 1 if you have the <stdlib.h> header file. */
madcowswe 0:feb4117d16d8 109 #ifndef TVMET_HAVE_STDLIB_H
madcowswe 0:feb4117d16d8 110 #define TVMET_HAVE_STDLIB_H 1
madcowswe 0:feb4117d16d8 111 #endif
madcowswe 0:feb4117d16d8 112
madcowswe 0:feb4117d16d8 113 /* Define to 1 if you have the <strings.h> header file. */
madcowswe 0:feb4117d16d8 114 #ifndef TVMET_HAVE_STRINGS_H
madcowswe 0:feb4117d16d8 115 #define TVMET_HAVE_STRINGS_H 1
madcowswe 0:feb4117d16d8 116 #endif
madcowswe 0:feb4117d16d8 117
madcowswe 0:feb4117d16d8 118 /* Define to 1 if you have the <string.h> header file. */
madcowswe 0:feb4117d16d8 119 #ifndef TVMET_HAVE_STRING_H
madcowswe 0:feb4117d16d8 120 #define TVMET_HAVE_STRING_H 1
madcowswe 0:feb4117d16d8 121 #endif
madcowswe 0:feb4117d16d8 122
madcowswe 0:feb4117d16d8 123 /* Define if the compiler supports SYSV math library */
madcowswe 0:feb4117d16d8 124 /* #undef TVMET_HAVE_SYSV_MATH */
madcowswe 0:feb4117d16d8 125
madcowswe 0:feb4117d16d8 126 /* Define to 1 if you have the <sys/stat.h> header file. */
madcowswe 0:feb4117d16d8 127 #ifndef TVMET_HAVE_SYS_STAT_H
madcowswe 0:feb4117d16d8 128 #define TVMET_HAVE_SYS_STAT_H 1
madcowswe 0:feb4117d16d8 129 #endif
madcowswe 0:feb4117d16d8 130
madcowswe 0:feb4117d16d8 131 /* Define to 1 if you have the <sys/time.h> header file. */
madcowswe 0:feb4117d16d8 132 #ifndef TVMET_HAVE_SYS_TIME_H
madcowswe 0:feb4117d16d8 133 #define TVMET_HAVE_SYS_TIME_H 1
madcowswe 0:feb4117d16d8 134 #endif
madcowswe 0:feb4117d16d8 135
madcowswe 0:feb4117d16d8 136 /* Define to 1 if you have the <sys/types.h> header file. */
madcowswe 0:feb4117d16d8 137 #ifndef TVMET_HAVE_SYS_TYPES_H
madcowswe 0:feb4117d16d8 138 #define TVMET_HAVE_SYS_TYPES_H 1
madcowswe 0:feb4117d16d8 139 #endif
madcowswe 0:feb4117d16d8 140
madcowswe 0:feb4117d16d8 141 /* Define if the compiler recognizes typename */
madcowswe 0:feb4117d16d8 142 #ifndef TVMET_HAVE_TYPENAME
madcowswe 0:feb4117d16d8 143 #define TVMET_HAVE_TYPENAME
madcowswe 0:feb4117d16d8 144 #endif
madcowswe 0:feb4117d16d8 145
madcowswe 0:feb4117d16d8 146 /* Define to 1 if you have the <unistd.h> header file. */
madcowswe 0:feb4117d16d8 147 #ifndef TVMET_HAVE_UNISTD_H
madcowswe 0:feb4117d16d8 148 #define TVMET_HAVE_UNISTD_H 1
madcowswe 0:feb4117d16d8 149 #endif
madcowswe 0:feb4117d16d8 150
madcowswe 0:feb4117d16d8 151 /* Define to 1 if the system has the type `_Bool'. */
madcowswe 0:feb4117d16d8 152 /* #undef TVMET_HAVE__BOOL */
madcowswe 0:feb4117d16d8 153
madcowswe 0:feb4117d16d8 154 /* Define to the address where bug reports for this package should be sent. */
madcowswe 0:feb4117d16d8 155 #ifndef TVMET_PACKAGE_BUGREPORT
madcowswe 0:feb4117d16d8 156 #define TVMET_PACKAGE_BUGREPORT "opetzold@users.sourceforge.net"
madcowswe 0:feb4117d16d8 157 #endif
madcowswe 0:feb4117d16d8 158
madcowswe 0:feb4117d16d8 159 /* Define to the full name of this package. */
madcowswe 0:feb4117d16d8 160 #ifndef TVMET_PACKAGE_NAME
madcowswe 0:feb4117d16d8 161 #define TVMET_PACKAGE_NAME "tvmet"
madcowswe 0:feb4117d16d8 162 #endif
madcowswe 0:feb4117d16d8 163
madcowswe 0:feb4117d16d8 164 /* Define to the full name and version of this package. */
madcowswe 0:feb4117d16d8 165 #ifndef TVMET_PACKAGE_STRING
madcowswe 0:feb4117d16d8 166 #define TVMET_PACKAGE_STRING "tvmet 1.7.2"
madcowswe 0:feb4117d16d8 167 #endif
madcowswe 0:feb4117d16d8 168
madcowswe 0:feb4117d16d8 169 /* Define to the one symbol short name of this package. */
madcowswe 0:feb4117d16d8 170 #ifndef TVMET_PACKAGE_TARNAME
madcowswe 0:feb4117d16d8 171 #define TVMET_PACKAGE_TARNAME "tvmet"
madcowswe 0:feb4117d16d8 172 #endif
madcowswe 0:feb4117d16d8 173
madcowswe 0:feb4117d16d8 174 /* Define to the version of this package. */
madcowswe 0:feb4117d16d8 175 #ifndef TVMET_PACKAGE_VERSION
madcowswe 0:feb4117d16d8 176 #define TVMET_PACKAGE_VERSION "1.7.2"
madcowswe 0:feb4117d16d8 177 #endif
madcowswe 0:feb4117d16d8 178
madcowswe 0:feb4117d16d8 179 /* Define to 1 if you have the ANSI C header files. */
madcowswe 0:feb4117d16d8 180 #ifndef TVMET_STDC_HEADERS
madcowswe 0:feb4117d16d8 181 #define TVMET_STDC_HEADERS 1
madcowswe 0:feb4117d16d8 182 #endif
madcowswe 0:feb4117d16d8 183
madcowswe 0:feb4117d16d8 184 /* Define to 1 if your <sys/time.h> declares `struct tm'. */
madcowswe 0:feb4117d16d8 185 /* #undef TVMET_TM_IN_SYS_TIME */
madcowswe 0:feb4117d16d8 186
madcowswe 0:feb4117d16d8 187 /* Define to empty if `const' does not conform to ANSI C. */
madcowswe 0:feb4117d16d8 188 /* #undef _tvmet_const */
madcowswe 0:feb4117d16d8 189
madcowswe 0:feb4117d16d8 190 /* Define to `__inline__' or `__inline' if that's what the C compiler
madcowswe 0:feb4117d16d8 191 calls it, or to nothing if 'inline' is not supported under any name. */
madcowswe 0:feb4117d16d8 192 #ifndef __cplusplus
madcowswe 0:feb4117d16d8 193 /* #undef _tvmet_inline */
madcowswe 0:feb4117d16d8 194 #endif
madcowswe 0:feb4117d16d8 195
madcowswe 0:feb4117d16d8 196 /* Define to equivalent of C99 restrict keyword, or to nothing if this is not
madcowswe 0:feb4117d16d8 197 supported. Do not define if restrict is supported directly. */
madcowswe 0:feb4117d16d8 198 #ifndef _tvmet_restrict
madcowswe 0:feb4117d16d8 199 #define _tvmet_restrict __restrict
madcowswe 0:feb4117d16d8 200 #endif
madcowswe 0:feb4117d16d8 201
madcowswe 0:feb4117d16d8 202 /* Define to `unsigned int' if <sys/types.h> does not define. */
madcowswe 0:feb4117d16d8 203 /* #undef _tvmet_size_t */
madcowswe 0:feb4117d16d8 204
madcowswe 0:feb4117d16d8 205 /* _INCLUDE_TVMET_CONFIG_H */
madcowswe 0:feb4117d16d8 206 #endif