mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-27 07:29:52 +08:00
80cae358b0
This adds an optional implementation for the BLAS library that does not require the use of a FORTRAN compiler. It can be enabled with EIGEN_USE_F2C_BLAS. The C implementation uses the standard gfortran calling convention and does not require the use of -ff2c when compiled with gfortran.
85 lines
2.3 KiB
C
85 lines
2.3 KiB
C
/* This file has been modified to use the standard gfortran calling
|
|
convention, rather than the f2c calling convention.
|
|
|
|
It does not require -ff2c when compiled with gfortran.
|
|
*/
|
|
|
|
/* complexdots.f -- translated by f2c (version 20100827).
|
|
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 "datatypes.h"
|
|
|
|
complex cdotc_(integer *n, complex *cx, integer
|
|
*incx, complex *cy, integer *incy)
|
|
{
|
|
complex res;
|
|
extern /* Subroutine */ int cdotcw_(integer *, complex *, integer *,
|
|
complex *, integer *, complex *);
|
|
|
|
/* Parameter adjustments */
|
|
--cy;
|
|
--cx;
|
|
|
|
/* Function Body */
|
|
cdotcw_(n, &cx[1], incx, &cy[1], incy, &res);
|
|
return res;
|
|
} /* cdotc_ */
|
|
|
|
complex cdotu_(integer *n, complex *cx, integer
|
|
*incx, complex *cy, integer *incy)
|
|
{
|
|
complex res;
|
|
extern /* Subroutine */ int cdotuw_(integer *, complex *, integer *,
|
|
complex *, integer *, complex *);
|
|
|
|
/* Parameter adjustments */
|
|
--cy;
|
|
--cx;
|
|
|
|
/* Function Body */
|
|
cdotuw_(n, &cx[1], incx, &cy[1], incy, &res);
|
|
return res;
|
|
} /* cdotu_ */
|
|
|
|
doublecomplex zdotc_(integer *n, doublecomplex *cx, integer *incx,
|
|
doublecomplex *cy, integer *incy)
|
|
{
|
|
doublecomplex res;
|
|
extern /* Subroutine */ int zdotcw_(integer *, doublecomplex *, integer *,
|
|
doublecomplex *, integer *, doublecomplex *);
|
|
|
|
/* Parameter adjustments */
|
|
--cy;
|
|
--cx;
|
|
|
|
/* Function Body */
|
|
zdotcw_(n, &cx[1], incx, &cy[1], incy, &res);
|
|
return res;
|
|
} /* zdotc_ */
|
|
|
|
doublecomplex zdotu_(integer *n, doublecomplex *cx, integer *incx,
|
|
doublecomplex *cy, integer *incy)
|
|
{
|
|
doublecomplex res;
|
|
extern /* Subroutine */ int zdotuw_(integer *, doublecomplex *, integer *,
|
|
doublecomplex *, integer *, doublecomplex *);
|
|
|
|
/* Parameter adjustments */
|
|
--cy;
|
|
--cx;
|
|
|
|
/* Function Body */
|
|
zdotuw_(n, &cx[1], incx, &cy[1], incy, &res);
|
|
return res;
|
|
} /* zdotu_ */
|
|
|