~ubuntu-branches/ubuntu/vivid/atlas/vivid

« back to all changes in this revision

Viewing changes to include/C_lapack.h

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot, Sylvestre Ledru, Sébastien Villemot
  • Date: 2013-06-11 15:58:16 UTC
  • mfrom: (1.1.4) (25 sid)
  • mto: This revision was merged to the branch mainline in revision 26.
  • Revision ID: package-import@ubuntu.com-20130611155816-8xeeiziu1iml040c
Tags: 3.10.1-1
[ Sylvestre Ledru ]
* New upstream release (Closes: #609287)

[ Sébastien Villemot ]
* Provide architectural defaults (i.e. precomputed timings) for all
  release archs (except armel and mips for the time being, due to slow
  porterboxes). This will make the package build much faster and should
  eliminate transient build failures due to excessive variance in the
  timings.
* Move symlinks for lib{cblas,f77blas,atlas,lapack_atlas} out of the
  libblas.so.3 alternative and make them always present, so that
  software relying on these libs do not break when another alternative
  is selected for BLAS
* ATLAS now has improved ARM support with native asm constructs. This required
  the following tunes:
  + armel-is-v4t.diff: new patch, prevents FTBFS on armel; otherwise,
    ATLAS uses asm constructs too recent for the platform (armel is only v4t)
  + debian/rules: on armhf, define the ATL_ARM_HARDFP flag; otherwise the asm
    constructs use the soft-float ABI for passing floating points
  + on armhf, ensure that -mfloat-abi=softfp and -mcpu=vfpv3 flags are never
    used; this is implemented via a patch (armhf.diff) and by the use of fixed
    archdefs
* The generic package is now built without multi-threading, because otherwise
  the package fails to build on some single-processor machines (this required
  the introduction of a patch: fix-non-threaded-build.diff). As a side effect,
  the build of the custom package gracefully handles non-threaded
  builds. (Closes: #602524)
* Add libblas.a as slave in the libblas.so alternative (Closes: #701921)
* Add symlinks for lib{f77blas,atlas}.a in /usr/lib (Closes: #666203)
* Modify shlibs file of libatlas3-base, such that packages using
  libblas/liblapack depend on any BLAS/LAPACK alternative, while packages
  depending on ATLAS-specific libraries (e.g. libatlas.so) depend specifically
  on libatlas3-base.
* corei1.diff: remove patch, applied upstream
* Use my @debian.org email address
* Remove obsolete DM-Upload-Allowed flag
* Switch VCS to git
* Remove Conflicts/Replaces against pre-squeeze packages
* libatlas-base-dev now provides libblas.so, as libblas-dev
* No longer use -Wa,--noexecstack in CFLAGS, it makes the package FTBFS
* Do not use POWER3 arch for powerpcspe port (Closes: #701068)
* Bump to debhelper compat level 9
* README.Debian: mention that devscripts is needed to compile the custom
  package (Closes: #697431)
* Bump Standards-Version to 3.9.4. As a consequence, add Built-Using
  fields because the package embeds stuff from liblapack-pic

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "clapack.h"
 
2
 
 
3
/*
 
4
 ************************************************************
 
5
 * The following routines are provided natively by ATLAS in C
 
6
 ************************************************************
 
7
 */
 
8
#define C_sposv(Uplo_, N_, NRHS_, A_, lda_, B_, ldb_) \
 
9
   clapack_sposv(CblasColMajor, Uplo_, N_, NRHS_, A_, lda_, B_, ldb_)
 
10
#define C_sgesv(N_, NRHS_, A_, lda_, ipiv_, B_, ldb_) \
 
11
   clapack_sgesv(CblasColMajor, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_)
 
12
 
 
13
#define C_spotrf(Uplo_, N_, A_, lda_) \
 
14
   clapack_spotrf(CblasColMajor, Uplo_, N_, A_, lda_)
 
15
#define C_sgetrf(M_, N_, A_, lda_, ipiv_) \
 
16
   clapack_sgetrf(CblasColMajor, M_, N_, A_, lda_, ipiv_)
 
17
 
 
18
#define C_spotrs(Uplo_, N_, NRHS_, A_, lda_, B_, ldb_) \
 
19
   clapack_spotrs(CblasColMajor, Uplo_, N_, NRHS_, A_, lda_, B_, ldb_)
 
20
#define C_sgetrs(Trans_, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_) \
 
21
   clapack_sgetrs(CblasColMajor, Trans_, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_)
 
22
 
 
23
#define C_spotri(Uplo_, N_, A_, lda_) \
 
24
   clapack_spotrs(CblasColMajor, Uplo_, N_, A_, lda_)
 
25
#define C_strtri(Uplo_, Diag_, N_, A_, lda_) \
 
26
   clapack_spotrs(CblasColMajor, Uplo_, Diag_, N_, A_, lda_)
 
27
#define C_slaumm(Uplo_, N_, A_, lda_) \
 
28
   clapack_slaumm(CblasColMajor, Uplo_, N_, A_, lda_)
 
29
 
 
30
#define C_dposv(Uplo_, N_, NRHS_, A_, lda_, B_, ldb_) \
 
31
   clapack_dposv(CblasColMajor, Uplo_, N_, NRHS_, A_, lda_, B_, ldb_)
 
32
#define C_dgesv(N_, NRHS_, A_, lda_, ipiv_, B_, ldb_) \
 
33
   clapack_dgesv(CblasColMajor, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_)
 
34
 
 
35
#define C_dpotrf(Uplo_, N_, A_, lda_) \
 
36
   clapack_dpotrf(CblasColMajor, Uplo_, N_, A_, lda_)
 
37
#define C_dgetrf(M_, N_, A_, lda_, ipiv_) \
 
38
   clapack_dgetrf(CblasColMajor, M_, N_, A_, lda_, ipiv_)
 
39
 
 
40
#define C_dpotrs(Uplo_, N_, NRHS_, A_, lda_, B_, ldb_) \
 
41
   clapack_dpotrs(CblasColMajor, Uplo_, N_, NRHS_, A_, lda_, B_, ldb_)
 
42
#define C_dgetrs(Trans_, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_) \
 
43
   clapack_dgetrs(CblasColMajor, Trans_, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_)
 
44
 
 
45
#define C_dpotri(Uplo_, N_, A_, lda_) \
 
46
   clapack_dpotrs(CblasColMajor, Uplo_, N_, A_, lda_)
 
47
#define C_dtrtri(Uplo_, Diag_, N_, A_, lda_) \
 
48
   clapack_dpotrs(CblasColMajor, Uplo_, Diag_, N_, A_, lda_)
 
49
#define C_dlaumm(Uplo_, N_, A_, lda_) \
 
50
   clapack_dlaumm(CblasColMajor, Uplo_, N_, A_, lda_)
 
51
 
 
52
#define C_cposv(Uplo_, N_, NRHS_, A_, lda_, B_, ldb_) \
 
53
   clapack_cposv(CblasColMajor, Uplo_, N_, NRHS_, A_, lda_, B_, ldb_)
 
54
#define C_cgesv(N_, NRHS_, A_, lda_, ipiv_, B_, ldb_) \
 
55
   clapack_cgesv(CblasColMajor, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_)
 
56
 
 
57
#define C_cpotrf(Uplo_, N_, A_, lda_) \
 
58
   clapack_cpotrf(CblasColMajor, Uplo_, N_, A_, lda_)
 
59
#define C_cgetrf(M_, N_, A_, lda_, ipiv_) \
 
60
   clapack_cgetrf(CblasColMajor, M_, N_, A_, lda_, ipiv_)
 
61
 
 
62
#define C_cpotrs(Uplo_, N_, NRHS_, A_, lda_, B_, ldb_) \
 
63
   clapack_cpotrs(CblasColMajor, Uplo_, N_, NRHS_, A_, lda_, B_, ldb_)
 
64
#define C_cgetrs(Trans_, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_) \
 
65
   clapack_cgetrs(CblasColMajor, Trans_, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_)
 
66
 
 
67
#define C_cpotri(Uplo_, N_, A_, lda_) \
 
68
   clapack_cpotrs(CblasColMajor, Uplo_, N_, A_, lda_)
 
69
#define C_ctrtri(Uplo_, Diag_, N_, A_, lda_) \
 
70
   clapack_cpotrs(CblasColMajor, Uplo_, Diag_, N_, A_, lda_)
 
71
#define C_claumm(Uplo_, N_, A_, lda_) \
 
72
   clapack_claumm(CblasColMajor, Uplo_, N_, A_, lda_)
 
73
 
 
74
#define C_zposv(Uplo_, N_, NRHS_, A_, lda_, B_, ldb_) \
 
75
   clapack_zposv(CblasColMajor, Uplo_, N_, NRHS_, A_, lda_, B_, ldb_)
 
76
#define C_zgesv(N_, NRHS_, A_, lda_, ipiv_, B_, ldb_) \
 
77
   clapack_zgesv(CblasColMajor, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_)
 
78
 
 
79
#define C_zpotrf(Uplo_, N_, A_, lda_) \
 
80
   clapack_zpotrf(CblasColMajor, Uplo_, N_, A_, lda_)
 
81
#define C_zgetrf(M_, N_, A_, lda_, ipiv_) \
 
82
   clapack_zgetrf(CblasColMajor, M_, N_, A_, lda_, ipiv_)
 
83
 
 
84
#define C_zpotrs(Uplo_, N_, NRHS_, A_, lda_, B_, ldb_) \
 
85
   clapack_zpotrs(CblasColMajor, Uplo_, N_, NRHS_, A_, lda_, B_, ldb_)
 
86
#define C_zgetrs(Trans_, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_) \
 
87
   clapack_zgetrs(CblasColMajor, Trans_, N_, NRHS_, A_, lda_, ipiv_, B_, ldb_)
 
88
 
 
89
#define C_zpotri(Uplo_, N_, A_, lda_) \
 
90
   clapack_zpotrs(CblasColMajor, Uplo_, N_, A_, lda_)
 
91
#define C_ztrtri(Uplo_, Diag_, N_, A_, lda_) \
 
92
   clapack_zpotrs(CblasColMajor, Uplo_, Diag_, N_, A_, lda_)
 
93
#define C_zlaumm(Uplo_, N_, A_, lda_) \
 
94
   clapack_zlaumm(CblasColMajor, Uplo_, N_, A_, lda_)
 
95
 
 
96
 
 
97
/*
 
98
 *****************************************************************************
 
99
 * The following routines are available in ATLAS only if a F77 LAPACK has been
 
100
 * provided to ATLAS.  These routines are accessed through the C-to-Fortran77
 
101
 * wrappers available in ATLAS/interfaces/lapack/C2F/src
 
102
 *****************************************************************************
 
103
 */
 
104
#include "atlas_C2Flapack.h"
 
105
 
 
106
/*
 
107
 * ----------------------------------------------------------------------------
 
108
 * These routines take workspace, and thus come in two flavors: rout & rout_wrk
 
109
 * ----------------------------------------------------------------------------
 
110
 */
 
111
#define C_sgels ATL_C2Fsgels
 
112
#define C_sgels_wrk ATL_C2Fsgels_wrk
 
113
#define C_dgels ATL_C2Fdgels
 
114
#define C_dgels_wrk ATL_C2Fdgels_wrk
 
115
#define C_cgels ATL_C2Fcgels
 
116
#define C_cgels_wrk ATL_C2Fcgels_wrk
 
117
#define C_zgels ATL_C2Fzgels
 
118
#define C_zgels_wrk ATL_C2Fzgels_wrk