Skip to content

Commit 6bc4276

Browse files
authored
Merge pull request #5574 from martin-frbg/issue5562-3
Fix MSVC macros for complex division in the f2c-translated LAPACK
2 parents 5aff62e + bc52252 commit 6bc4276

File tree

998 files changed

+3996
-3996
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

998 files changed

+3996
-3996
lines changed

lapack-netlib/SRC/cbbcsd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

lapack-netlib/SRC/cbdsqr.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

lapack-netlib/SRC/cgbbrd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

lapack-netlib/SRC/cgbcon.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

lapack-netlib/SRC/cgbequ.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

lapack-netlib/SRC/cgbequb.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

lapack-netlib/SRC/cgbrfs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

lapack-netlib/SRC/cgbsv.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

lapack-netlib/SRC/cgbsvx.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

lapack-netlib/SRC/cgbsvxx.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ typedef struct Namelist Namelist;
190190
#define c_abs(z) (cabsf(Cf(z)))
191191
#define c_cos(R,Z) { pCf(R)=ccos(Cf(Z)); }
192192
#ifdef _MSC_VER
193-
#define c_div(c, a, b) {Cf(c)._Val[0] = (Cf(a)._Val[0]/Cf(b)._Val[0]); Cf(c)._Val[1]=(Cf(a)._Val[1]/Cf(b)._Val[1]);}
194-
#define z_div(c, a, b) {Cd(c)._Val[0] = (Cd(a)._Val[0]/Cd(b)._Val[0]); Cd(c)._Val[1]=(Cd(a)._Val[1]/df(b)._Val[1]);}
193+
#define c_div(c, a, b) {float n=crealf(_FCmulcc(Cf(b),conjf(Cf(b)))); _Fcomplex z=_FCmulcc(Cf(a),conjf(Cf(b))); pCf(c)=_FCbuild(crealf(z)/n,cimagf(z)/n);}
194+
#define z_div(c, a, b) {double n=creal(_Cmulcc(Cd(b),conj(Cd(b)))); _Dcomplex z=_Cmulcc(Cd(a),conj(Cd(b))); pCd(c)=_Cbuild(creal(z)/n,cimag(z)/n);}
195195
#else
196196
#define c_div(c, a, b) {pCf(c) = Cf(a)/Cf(b);}
197197
#define z_div(c, a, b) {pCd(c) = Cd(a)/Cd(b);}

0 commit comments

Comments
 (0)