updated 3rd party libs: CLapack 3.1.1.1 => 3.2.1, zlib 1.2.3 => 1.2.5, libpng 1.2.x => 1.4.3, libtiff 3.7.x => 3.9.4. fixed many 64-bit related VS2010 warnings

This commit is contained in:
Vadim Pisarevsky
2010-07-16 12:54:53 +00:00
parent 0c9eca7922
commit f78a3b4cc1
465 changed files with 51856 additions and 41344 deletions

View File

@@ -1,5 +1,18 @@
/* slarf.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
or, if you install libf2c.a in a standard place, with -lf2c -lm
-- in that order, at the end of the command line, as in
cc *.o -lf2c -lm
Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
http://www.netlib.org/f2c/libf2c.zip
*/
#include "clapack.h"
/* Table of constant values */
static real c_b4 = 1.f;
@@ -14,14 +27,20 @@ static integer c__1 = 1;
real r__1;
/* Local variables */
integer i__;
logical applyleft;
extern /* Subroutine */ int sger_(integer *, integer *, real *, real *,
integer *, real *, integer *, real *, integer *);
extern logical lsame_(char *, char *);
integer lastc;
extern /* Subroutine */ int sgemv_(char *, integer *, integer *, real *,
real *, integer *, real *, integer *, real *, real *, integer *);
integer lastv;
extern integer ilaslc_(integer *, integer *, real *, integer *), ilaslr_(
integer *, integer *, real *, integer *);
/* -- LAPACK auxiliary routine (version 3.1) -- */
/* -- LAPACK auxiliary routine (version 3.2) -- */
/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */
/* November 2006 */
@@ -83,6 +102,8 @@ static integer c__1 = 1;
/* .. Parameters .. */
/* .. */
/* .. Local Scalars .. */
/* .. */
/* .. External Subroutines .. */
/* .. */
/* .. External Functions .. */
@@ -97,39 +118,70 @@ static integer c__1 = 1;
--work;
/* Function Body */
if (lsame_(side, "L")) {
applyleft = lsame_(side, "L");
lastv = 0;
lastc = 0;
if (*tau != 0.f) {
/* Set up variables for scanning V. LASTV begins pointing to the end */
/* of V. */
if (applyleft) {
lastv = *m;
} else {
lastv = *n;
}
if (*incv > 0) {
i__ = (lastv - 1) * *incv + 1;
} else {
i__ = 1;
}
/* Look for the last non-zero row in V. */
while(lastv > 0 && v[i__] == 0.f) {
--lastv;
i__ -= *incv;
}
if (applyleft) {
/* Scan for the last non-zero column in C(1:lastv,:). */
lastc = ilaslc_(&lastv, n, &c__[c_offset], ldc);
} else {
/* Scan for the last non-zero row in C(:,1:lastv). */
lastc = ilaslr_(m, &lastv, &c__[c_offset], ldc);
}
}
/* Note that lastc.eq.0 renders the BLAS operations null; no special */
/* case is needed at this level. */
if (applyleft) {
/* Form H * C */
if (*tau != 0.f) {
if (lastv > 0) {
/* w := C' * v */
/* w(1:lastc,1) := C(1:lastv,1:lastc)' * v(1:lastv,1) */
sgemv_("Transpose", m, n, &c_b4, &c__[c_offset], ldc, &v[1], incv,
&c_b5, &work[1], &c__1);
sgemv_("Transpose", &lastv, &lastc, &c_b4, &c__[c_offset], ldc, &
v[1], incv, &c_b5, &work[1], &c__1);
/* C := C - v * w' */
/* C(1:lastv,1:lastc) := C(...) - v(1:lastv,1) * w(1:lastc,1)' */
r__1 = -(*tau);
sger_(m, n, &r__1, &v[1], incv, &work[1], &c__1, &c__[c_offset],
ldc);
sger_(&lastv, &lastc, &r__1, &v[1], incv, &work[1], &c__1, &c__[
c_offset], ldc);
}
} else {
/* Form C * H */
if (*tau != 0.f) {
if (lastv > 0) {
/* w := C * v */
/* w(1:lastc,1) := C(1:lastc,1:lastv) * v(1:lastv,1) */
sgemv_("No transpose", m, n, &c_b4, &c__[c_offset], ldc, &v[1],
incv, &c_b5, &work[1], &c__1);
sgemv_("No transpose", &lastc, &lastv, &c_b4, &c__[c_offset], ldc,
&v[1], incv, &c_b5, &work[1], &c__1);
/* C := C - w * v' */
/* C(1:lastc,1:lastv) := C(...) - w(1:lastc,1) * v(1:lastv,1)' */
r__1 = -(*tau);
sger_(m, n, &r__1, &work[1], &c__1, &v[1], incv, &c__[c_offset],
ldc);
sger_(&lastc, &lastv, &r__1, &work[1], &c__1, &v[1], incv, &c__[
c_offset], ldc);
}
}
return 0;