]> git.pld-linux.org Git - packages/eigen.git/blame - eigen.spec
- epoch 1 to make sure 2.0.12 > 2.0.52 (which was development and is on builders)
[packages/eigen.git] / eigen.spec
CommitLineData
8dd136ae 1
64db8132
RT
2Summary: template library for linear algebra
3Name: eigen
38d2d124 4Version: 2.0.12
8dd136ae 5Release: 1
caf63656 6Epoch: 1
64db8132
RT
7License: GPL v2
8Group: Libraries
38d2d124 9Source0: http://bitbucket.org/eigen/eigen/get/2.0.tar.bz2
10# Source0-md5: a2f10e6b21a36f3c0ef73271209f706f
a225ffba 11URL: http://eigen.tuxfamily.org/
6a546e4c 12BuildRequires: cmake >= 2.6.2
64db8132
RT
13BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
14
15%description
8dd136ae
SP
16Eigen is a C++ template library for linear algebra: vectors, matrices,
17and related algorithms. It is:
18
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
27 array manipulation.
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
43 steps.
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.
64db8132 48
6a546e4c 49%package devel
50Summary: Header files for eigen2 library
51Summary(pl.UTF-8): Pliki nagłówkowe biblioteki eigen2
52Group: Development/Libraries
53Requires: %{name} = %{version}-%{release}
54
55%description devel
56Header files for eigen2 library.
57
58%description devel -l pl.UTF-8
59Pliki nagłówkowe biblioteki eigen2
60
64db8132 61%prep
a225ffba 62%setup -q -n %{name}
64db8132
RT
63
64%build
d1c8d818 65install -d build
64db8132
RT
66cd build
67%cmake \
68 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
7b00b204 69 -DCMAKE_CXX_COMPILER_WORKS=1 \
70 -DCMAKE_CXX_COMPILER="%{__cc}" \
64db8132
RT
71 ../
72%{__make}
73
74%install
75rm -rf $RPM_BUILD_ROOT
76
77%{__make} -C build install \
78 DESTDIR=$RPM_BUILD_ROOT
79
6a546e4c 80install -d $RPM_BUILD_ROOT/%{_pkgconfigdir}
38d2d124 81cp build/eigen2.pc $RPM_BUILD_ROOT/%{_pkgconfigdir}
6a546e4c 82
64db8132
RT
83%clean
84rm -rf $RPM_BUILD_ROOT
85
86%files
87%defattr(644,root,root,755)
38d2d124 88%{_includedir}/eigen2
6a546e4c 89
90%files devel
91%defattr(644,root,root,755)
38d2d124 92%{_pkgconfigdir}/eigen2.pc
This page took 0.067204 seconds and 4 git commands to generate.