2 Summary: template library for linear algebra
9 Source0: http://bitbucket.org/eigen/eigen/get/2.0.tar.bz2
10 # Source0-md5: a2f10e6b21a36f3c0ef73271209f706f
11 URL: http://eigen.tuxfamily.org/
12 BuildRequires: cmake >= 2.6.2
13 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
16 Eigen is a C++ template library for linear algebra: vectors, matrices,
17 and related algorithms. It is:
19 - Versatile. (See modules and tutorial). Eigen handles, without code
20 duplication, and in a completely integrated way: o both fixed-size and
21 dynamic-size matrices and vectors. o both dense and sparse (the latter
22 is still experimental) matrices and vectors. o both plain
23 matrices/vectors and abstract expressions. o both column-major (the
24 default) and row-major matrix storage. o both basic matrix/vector
25 manipulation and many more advanced, specialized modules providing
26 algorithms for linear algebra, geometry, quaternions, or advanced
28 - Fast. (See benchmark). o Expression templates allow to intelligently
29 remove temporaries and enable lazy evaluation, when that is
30 appropriate -- Eigen takes care of this automatically and handles
31 aliasing too in most cases. o Explicit vectorization is performed for
32 the SSE (2 and later) and AltiVec instruction sets, with graceful
33 fallback to non-vectorized code. Expression templates allow to perform
34 these optimizations globally for whole expressions. o With fixed-size
35 objects, dynamic memory allocation is avoided, and the loops are
36 unrolled when that makes sense. o For large matrices, special
37 attention is paid to cache-friendliness.
38 - Elegant. (See API showcase). The API is extremely clean and
39 expressive, thanks to expression templates. Implementing an algorithm
40 on top of Eigen feels like just copying pseudocode. You can use
41 complex expressions and still rely on Eigen to produce optimized code:
42 there is no need for you to manually decompose expressions into small
44 - Compiler-friendy. Eigen has very reasonable compilation times at
45 least with GCC, compared to other C++ libraries based on expression
46 templates and heavy metaprogramming. Eigen is also standard C++ and
47 supports various compilers.
50 Summary: Header files for eigen2 library
51 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki eigen2
52 Group: Development/Libraries
53 Requires: %{name} = %{version}-%{release}
56 Header files for eigen2 library.
58 %description devel -l pl.UTF-8
59 Pliki nagłówkowe biblioteki eigen2
68 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
69 -DCMAKE_CXX_COMPILER_WORKS=1 \
70 -DCMAKE_CXX_COMPILER="%{__cc}" \
75 rm -rf $RPM_BUILD_ROOT
77 %{__make} -C build install \
78 DESTDIR=$RPM_BUILD_ROOT
80 install -d $RPM_BUILD_ROOT/%{_pkgconfigdir}
81 cp build/eigen2.pc $RPM_BUILD_ROOT/%{_pkgconfigdir}
84 rm -rf $RPM_BUILD_ROOT
87 %defattr(644,root,root,755)
91 %defattr(644,root,root,755)
92 %{_pkgconfigdir}/eigen2.pc