00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef TOON_INCLUDE_TOON_H
00033 #define TOON_INCLUDE_TOON_H
00034 #include <iostream>
00035 #include <cstdlib>
00036 #include <limits>
00037 #include <new>
00038 #include <TooN/internal/config.hh>
00039 #include <TooN/internal/typeof.hh>
00040
00041 #ifdef TOON_INITIALIZE_RANDOM
00042 #include <ctime>
00043 #endif
00044
00045 namespace TooN {
00046
00047 #ifdef TOON_TEST_INTERNALS
00048 namespace Internal
00049 {
00050 struct BadIndex{};
00051 struct SliceError{};
00052 struct StaticSliceError{};
00053 struct SizeMismatch{};
00054 struct StaticSizeMismatch{};
00055
00056 }
00057 #endif
00058
00059
00060
00061 using std::numeric_limits;
00062 template<class C> struct IsField
00063 {
00064 static const int value = numeric_limits<C>::is_specialized;
00065 };
00066
00067 namespace Internal
00068 {
00069 static const unsigned int max_bytes_on_stack=1000;
00070 struct Slicing{};
00071 template<int RowStride, int ColStride> struct Slice;
00072 }
00073
00074 template<int Size, class Precision, class Base> struct Vector;
00075 template<int Rows, int Cols, class Precision, class Base> struct Matrix;
00076 template<int Size, class Precision, class Base> struct DiagonalMatrix;
00077 template<typename T> struct Operator;
00078
00079 static const int Dynamic = -1;
00080
00081 typedef double DefaultPrecision;
00082 }
00083
00084 #include <TooN/internal/allocator.hh>
00085
00086 #include <TooN/internal/size_mismatch.hh>
00087 #include <TooN/internal/slice_error.hh>
00088 #include <TooN/internal/debug.hh>
00089
00090 #include <TooN/internal/vbase.hh>
00091 #include <TooN/internal/vector.hh>
00092
00093 #include <TooN/internal/mbase.hh>
00094 #include <TooN/internal/matrix.hh>
00095 #include <TooN/internal/reference.hh>
00096
00097 #include <TooN/internal/make_vector.hh>
00098 #include <TooN/internal/operators.hh>
00099
00100 #include <TooN/internal/objects.h>
00101
00102 #include <TooN/internal/diagmatrix.h>
00103
00104 #endif