]> git.pld-linux.org Git - packages/eigen.git/blob - eigen.spec
- updated to stable 2.0.2
[packages/eigen.git] / eigen.spec
1
2 Summary:        template library for linear algebra
3 Name:           eigen
4 Version:        2.0.2
5 Release:        1
6 License:        GPL v2
7 Group:          Libraries
8 Source0:        http://download.tuxfamily.org/eigen/%{name}-%{version}.tar.bz2
9 # Source0-md5:  b2c34144943671a8689b6fab20c52836
10 URL:            http://eigen.tuxfamily.org/index.php?title=Main_Page
11 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
12
13 %description
14 Eigen is a C++ template library for linear algebra: vectors, matrices,
15 and related algorithms. It is:
16
17 - Versatile. (See modules and tutorial). Eigen handles, without code
18   duplication, and in a completely integrated way: o both fixed-size and
19   dynamic-size matrices and vectors. o both dense and sparse (the latter
20   is still experimental) matrices and vectors. o both plain
21   matrices/vectors and abstract expressions. o both column-major (the
22   default) and row-major matrix storage. o both basic matrix/vector
23   manipulation and many more advanced, specialized modules providing
24   algorithms for linear algebra, geometry, quaternions, or advanced
25   array manipulation.
26 - Fast. (See benchmark). o Expression templates allow to intelligently
27   remove temporaries and enable lazy evaluation, when that is
28   appropriate -- Eigen takes care of this automatically and handles
29   aliasing too in most cases. o Explicit vectorization is performed for
30   the SSE (2 and later) and AltiVec instruction sets, with graceful
31   fallback to non-vectorized code. Expression templates allow to perform
32   these optimizations globally for whole expressions. o With fixed-size
33   objects, dynamic memory allocation is avoided, and the loops are
34   unrolled when that makes sense. o For large matrices, special
35   attention is paid to cache-friendliness.
36 - Elegant. (See API showcase). The API is extremely clean and
37   expressive, thanks to expression templates. Implementing an algorithm
38   on top of Eigen feels like just copying pseudocode. You can use
39   complex expressions and still rely on Eigen to produce optimized code:
40   there is no need for you to manually decompose expressions into small
41   steps.
42 - Compiler-friendy. Eigen has very reasonable compilation times at
43   least with GCC, compared to other C++ libraries based on expression
44   templates and heavy metaprogramming. Eigen is also standard C++ and
45   supports various compilers.
46
47 %prep
48 %setup -q
49
50 %build
51 install -d build
52 cd build
53 %cmake \
54         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
55         ../
56 %{__make}
57
58 %install
59 rm -rf $RPM_BUILD_ROOT
60
61 %{__make} -C build install \
62         DESTDIR=$RPM_BUILD_ROOT
63
64 %clean
65 rm -rf $RPM_BUILD_ROOT
66
67 %files
68 %defattr(644,root,root,755)
69 %{_includedir}/eigen2
This page took 0.272321 seconds and 3 git commands to generate.