aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/FixedSizeVectorizable.dox
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2009-02-04 09:44:44 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2009-02-04 09:44:44 +0000
commit44a527dfa50ce9c473cbf1f446b8b6f406d4bc91 (patch)
treea0f045d2a4c22a38e08e1b1d1ce0e17e630898c7 /doc/FixedSizeVectorizable.dox
parentb0dd22cc7271523ba83d2bc8a85504b8445587b5 (diff)
* classify and sort the doxygen "related pages"
by tweaking the filename and adding 2 categories: Troubleshooting and Advanced * use the EXCLUDE_SYMBOLS to clean the class list (insteaded of a homemade bash script) * remove the broken "exemple list" * re-structure the unsupported directory as mentionned in the ML and integrate the doc as follow: - snippets of the unsupported directory are directly imported from the main snippets/CMakefile.txt (no need to duplicate code) - add a top level "Unsupported modules" group - unsupported modules have to defined their own sub group and nest it using \ingroup Unsupported_modules - then a pair of //@{ //@} will put everything in the submodule - this is just a proposal !
Diffstat (limited to 'doc/FixedSizeVectorizable.dox')
-rw-r--r--doc/FixedSizeVectorizable.dox38
1 files changed, 0 insertions, 38 deletions
diff --git a/doc/FixedSizeVectorizable.dox b/doc/FixedSizeVectorizable.dox
deleted file mode 100644
index 6793bd921..000000000
--- a/doc/FixedSizeVectorizable.dox
+++ /dev/null
@@ -1,38 +0,0 @@
-namespace Eigen {
-
-/** \page FixedSizeVectorizable Fixed-size vectorizable Eigen objects
-
-The goal of this page is to explain what we mean by "fixed-size vectorizable".
-
-\section summary Executive Summary
-
-An Eigen object is called "fixed-size vectorizable" if it has fixed size and that size is a multiple of 16 bytes.
-
-Examples include:
-\li Eigen::Vector2d
-\li Eigen::Vector4d
-\li Eigen::Vector4f
-\li Eigen::Matrix2d
-\li Eigen::Matrix2f
-\li Eigen::Matrix4d
-\li Eigen::Matrix4f
-\li Eigen::Transform3d
-\li Eigen::Transform3f
-\li Eigen::Quaterniond
-\li Eigen::Quaternionf
-
-\section explanation Explanation
-
-First, "fixed-size" should be clear: an Eigen object has fixed size if its number of rows and its number of columns are fixed at compile-time. So for example Matrix3f has fixed size, but MatrixXf doesn't (the opposite of fixed-size is dynamic-size).
-
-The array of coefficients of a fixed-size Eigen object is a plain "static array", it is not dynamically allocated. For example, the data behind a Matrix4f is just a "float array[16]".
-
-Fixed-size objects are typically very small, which means that we want to handle them with zero runtime overhead -- both in terms of memory usage and of speed.
-
-Now, vectorization (both SSE and AltiVec) works with 128-bit packets. Moreover, for performance reasons, these packets need to be have 128-bit alignment.
-
-So it turns out that the only way that fixed-size Eigen objects can be vectorized, is if their size is a multiple of 128 bits, or 16 bytes. Eigen will then request 16-byte alignment for these object, and henceforth rely on these objects being aligned so no runtime check for alignment is performed.
-
-*/
-
-}