Skip to content

Commit 7da799d

Browse files
authored
Merge pull request #3686 from martin-frbg/issue3685
Fix Fortran-less CTEST build option
2 parents 7918ba1 + 6e018b8 commit 7da799d

File tree

13 files changed

+234
-1237
lines changed

13 files changed

+234
-1237
lines changed

ctest/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ endif
218218

219219
ifeq ($(BUILD_SINGLE),1)
220220
# Single real
221-
ifeq ($(NOFORTRAN),0)
221+
ifeq ($(NOFORTRAN), $(filter 0 2,$(NOFORTRAN)))
222222
xscblat1: $(stestl1o) c_sblat1.o $(TOPDIR)/$(LIBNAME)
223223
$(FC) $(FLDFLAGS) -o xscblat1 c_sblat1.o $(stestl1o) $(LIB) $(EXTRALIB) $(CEXTRALIB)
224224
xscblat2: $(stestl2o) c_sblat2.o $(TOPDIR)/$(LIBNAME)

ctest/c_cblat1c.c

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,7 @@
1010
#undef I
1111
#endif
1212

13-
#if defined(_WIN64)
14-
typedef long long BLASLONG;
15-
typedef unsigned long long BLASULONG;
16-
#else
17-
typedef long BLASLONG;
18-
typedef unsigned long BLASULONG;
19-
#endif
20-
21-
#ifdef LAPACK_ILP64
22-
typedef BLASLONG blasint;
23-
#if defined(_WIN64)
24-
#define blasabs(x) llabs(x)
25-
#else
26-
#define blasabs(x) labs(x)
27-
#endif
28-
#else
29-
typedef int blasint;
30-
#define blasabs(x) abs(x)
31-
#endif
13+
#include "common.h"
3214

3315
typedef blasint integer;
3416

@@ -379,6 +361,7 @@ static integer smaxloc_(float *w, integer s, integer e, integer *n)
379361
return mi-s+1;
380362
}
381363
#endif
364+
#if 0
382365
static inline void cdotc_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) {
383366
integer n = *n_, incx = *incx_, incy = *incy_, i;
384367
#ifdef _MSC_VER
@@ -503,6 +486,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
503486
pCd(z) = zdotc;
504487
}
505488
#endif
489+
#endif
506490

507491
/* Common Block Declarations */
508492

@@ -588,7 +572,7 @@ static real c_b43 = (float)1.;
588572
/* .. Common blocks .. */
589573
/* .. Data statements .. */
590574
/* .. Executable Statements .. */
591-
printf("Test of subprogram number %3d %15s\n", combla_1.icase, l[combla_1.icase - 1]);
575+
printf("Test of subprogram number %3d %15s", combla_1.icase, l[combla_1.icase - 1]);
592576
return 0;
593577

594578
} /* header_ */
@@ -699,7 +683,7 @@ real *sfac;
699683

700684
/* Local variables */
701685
static integer i__;
702-
extern /* Subroutine */ int cscal_(), ctest_();
686+
extern /* Subroutine */ int ctest_();
703687
static complex mwpcs[5], mwpct[5];
704688
extern /* Subroutine */ int itest1_(), stest1_();
705689
static complex cx[8];

ctest/c_cblat2c.c

Lines changed: 30 additions & 143 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,7 @@
1010
#undef I
1111
#endif
1212

13-
#if defined(_WIN64)
14-
typedef long long BLASLONG;
15-
typedef unsigned long long BLASULONG;
16-
#else
17-
typedef long BLASLONG;
18-
typedef unsigned long BLASULONG;
19-
#endif
20-
21-
#ifdef LAPACK_ILP64
22-
typedef BLASLONG blasint;
23-
#if defined(_WIN64)
24-
#define blasabs(x) llabs(x)
25-
#else
26-
#define blasabs(x) labs(x)
27-
#endif
28-
#else
29-
typedef int blasint;
30-
#define blasabs(x) abs(x)
31-
#endif
13+
#include "common.h"
3214

3315
typedef blasint integer;
3416

@@ -378,130 +360,6 @@ static integer smaxloc_(float *w, integer s, integer e, integer *n)
378360
return mi-s+1;
379361
}
380362
#endif
381-
static inline void cdotc_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) {
382-
integer n = *n_, incx = *incx_, incy = *incy_, i;
383-
#ifdef _MSC_VER
384-
_Fcomplex zdotc = {0.0, 0.0};
385-
if (incx == 1 && incy == 1) {
386-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
387-
zdotc._Val[0] += conjf(Cf(&x[i]))._Val[0] * Cf(&y[i])._Val[0];
388-
zdotc._Val[1] += conjf(Cf(&x[i]))._Val[1] * Cf(&y[i])._Val[1];
389-
}
390-
} else {
391-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
392-
zdotc._Val[0] += conjf(Cf(&x[i*incx]))._Val[0] * Cf(&y[i*incy])._Val[0];
393-
zdotc._Val[1] += conjf(Cf(&x[i*incx]))._Val[1] * Cf(&y[i*incy])._Val[1];
394-
}
395-
}
396-
pCf(z) = zdotc;
397-
}
398-
#else
399-
_Complex float zdotc = 0.0;
400-
if (incx == 1 && incy == 1) {
401-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
402-
zdotc += conjf(Cf(&x[i])) * Cf(&y[i]);
403-
}
404-
} else {
405-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
406-
zdotc += conjf(Cf(&x[i*incx])) * Cf(&y[i*incy]);
407-
}
408-
}
409-
pCf(z) = zdotc;
410-
}
411-
#endif
412-
static inline void zdotc_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) {
413-
integer n = *n_, incx = *incx_, incy = *incy_, i;
414-
#ifdef _MSC_VER
415-
_Dcomplex zdotc = {0.0, 0.0};
416-
if (incx == 1 && incy == 1) {
417-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
418-
zdotc._Val[0] += conj(Cd(&x[i]))._Val[0] * Cd(&y[i])._Val[0];
419-
zdotc._Val[1] += conj(Cd(&x[i]))._Val[1] * Cd(&y[i])._Val[1];
420-
}
421-
} else {
422-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
423-
zdotc._Val[0] += conj(Cd(&x[i*incx]))._Val[0] * Cd(&y[i*incy])._Val[0];
424-
zdotc._Val[1] += conj(Cd(&x[i*incx]))._Val[1] * Cd(&y[i*incy])._Val[1];
425-
}
426-
}
427-
pCd(z) = zdotc;
428-
}
429-
#else
430-
_Complex double zdotc = 0.0;
431-
if (incx == 1 && incy == 1) {
432-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
433-
zdotc += conj(Cd(&x[i])) * Cd(&y[i]);
434-
}
435-
} else {
436-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
437-
zdotc += conj(Cd(&x[i*incx])) * Cd(&y[i*incy]);
438-
}
439-
}
440-
pCd(z) = zdotc;
441-
}
442-
#endif
443-
static inline void cdotu_(complex *z, integer *n_, complex *x, integer *incx_, complex *y, integer *incy_) {
444-
integer n = *n_, incx = *incx_, incy = *incy_, i;
445-
#ifdef _MSC_VER
446-
_Fcomplex zdotc = {0.0, 0.0};
447-
if (incx == 1 && incy == 1) {
448-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
449-
zdotc._Val[0] += Cf(&x[i])._Val[0] * Cf(&y[i])._Val[0];
450-
zdotc._Val[1] += Cf(&x[i])._Val[1] * Cf(&y[i])._Val[1];
451-
}
452-
} else {
453-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
454-
zdotc._Val[0] += Cf(&x[i*incx])._Val[0] * Cf(&y[i*incy])._Val[0];
455-
zdotc._Val[1] += Cf(&x[i*incx])._Val[1] * Cf(&y[i*incy])._Val[1];
456-
}
457-
}
458-
pCf(z) = zdotc;
459-
}
460-
#else
461-
_Complex float zdotc = 0.0;
462-
if (incx == 1 && incy == 1) {
463-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
464-
zdotc += Cf(&x[i]) * Cf(&y[i]);
465-
}
466-
} else {
467-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
468-
zdotc += Cf(&x[i*incx]) * Cf(&y[i*incy]);
469-
}
470-
}
471-
pCf(z) = zdotc;
472-
}
473-
#endif
474-
static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integer *incx_, doublecomplex *y, integer *incy_) {
475-
integer n = *n_, incx = *incx_, incy = *incy_, i;
476-
#ifdef _MSC_VER
477-
_Dcomplex zdotc = {0.0, 0.0};
478-
if (incx == 1 && incy == 1) {
479-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
480-
zdotc._Val[0] += Cd(&x[i])._Val[0] * Cd(&y[i])._Val[0];
481-
zdotc._Val[1] += Cd(&x[i])._Val[1] * Cd(&y[i])._Val[1];
482-
}
483-
} else {
484-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
485-
zdotc._Val[0] += Cd(&x[i*incx])._Val[0] * Cd(&y[i*incy])._Val[0];
486-
zdotc._Val[1] += Cd(&x[i*incx])._Val[1] * Cd(&y[i*incy])._Val[1];
487-
}
488-
}
489-
pCd(z) = zdotc;
490-
}
491-
#else
492-
_Complex double zdotc = 0.0;
493-
if (incx == 1 && incy == 1) {
494-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
495-
zdotc += Cd(&x[i]) * Cd(&y[i]);
496-
}
497-
} else {
498-
for (i=0;i<n;i++) { /* zdotc = zdotc + dconjg(x(i))* y(i) */
499-
zdotc += Cd(&x[i*incx]) * Cd(&y[i*incy]);
500-
}
501-
}
502-
pCd(z) = zdotc;
503-
}
504-
#endif
505363
/* -- translated by f2c (version 20000121).
506364
You must link the resulting object file with the libraries:
507365
-lf2c -lm (in that order)
@@ -673,7 +531,11 @@ static logical c_false = FALSE_;
673531
fgets(line,80,stdin);
674532
sscanf(line,"'%s'",snaps);
675533
fgets(line,80,stdin);
534+
#ifdef USE64BITINT
535+
sscanf(line,"%ld",&ntra);
536+
#else
676537
sscanf(line,"%d",&ntra);
538+
#endif
677539
trace = ntra >= 0;
678540
if (trace) {
679541
/* o__1.oerr = 0;
@@ -713,15 +575,24 @@ static logical c_false = FALSE_;
713575

714576
/* Values of N */
715577
fgets(line,80,stdin);
578+
#ifdef USE64BITINT
579+
sscanf(line,"%ld",&nidim);
580+
#else
716581
sscanf(line,"%d",&nidim);
582+
#endif
717583

718584
if (nidim < 1 || nidim > 9) {
719585
fprintf(stderr,"NUMBER OF VALUES OF N IS LESS THAN 1 OR GREATER THAN 9");
720586
goto L230;
721587
}
722588
fgets(line,80,stdin);
589+
#ifdef USE64BITINT
590+
sscanf(line,"%ld %ld %ld %ld %ld %ld %ld %ld %ld",&idim[0],&idim[1],&idim[2],
591+
&idim[3],&idim[4],&idim[5],&idim[6],&idim[7],&idim[8]);
592+
#else
723593
sscanf(line,"%d %d %d %d %d %d %d %d %d",&idim[0],&idim[1],&idim[2],
724594
&idim[3],&idim[4],&idim[5],&idim[6],&idim[7],&idim[8]);
595+
#endif
725596
i__1 = nidim;
726597
for (i__ = 1; i__ <= i__1; ++i__) {
727598
if (idim[i__ - 1] < 0 || idim[i__ - 1] > 65) {
@@ -732,14 +603,22 @@ static logical c_false = FALSE_;
732603
}
733604
/* Values of K */
734605
fgets(line,80,stdin);
606+
#ifdef USE64BITINT
607+
sscanf(line,"%ld",&nkb);
608+
#else
735609
sscanf(line,"%d",&nkb);
610+
#endif
736611

737612
if (nkb < 1 || nkb > 7) {
738613
fprintf(stderr,"NUMBER OF VALUES OF K IS LESS THAN 1 OR GREATER THAN 7");
739614
goto L230;
740615
}
741616
fgets(line,80,stdin);
617+
#ifdef USE64BITINT
618+
sscanf(line,"%ld %ld %ld %ld %ld %ld %ld",&kb[0],&kb[1],&kb[2],&kb[3],&kb[4],&kb[5],&kb[6]);
619+
#else
742620
sscanf(line,"%d %d %d %d %d %d %d",&kb[0],&kb[1],&kb[2],&kb[3],&kb[4],&kb[5],&kb[6]);
621+
#endif
743622
i__1 = nkb;
744623
for (i__ = 1; i__ <= i__1; ++i__) {
745624
if (kb[i__ - 1] < 0 ) {
@@ -750,15 +629,23 @@ static logical c_false = FALSE_;
750629
}
751630
/* Values of INCX and INCY */
752631
fgets(line,80,stdin);
632+
#ifdef USE64BITINT
633+
sscanf(line,"%ld",&ninc);
634+
#else
753635
sscanf(line,"%d",&ninc);
636+
#endif
754637

755638
if (ninc < 1 || ninc > 7) {
756639
fprintf(stderr,"NUMBER OF VALUES OF INCX AND INCY IS LESS THAN 1 OR GREATER THAN 7");
757640
goto L230;
758641
}
759642

760643
fgets(line,80,stdin);
644+
#ifdef USE64BITINT
645+
sscanf(line,"%ld %ld %ld %ld %ld %ld %ld",&inc[0],&inc[1],&inc[2],&inc[3],&inc[4],&inc[5],&inc[6]);
646+
#else
761647
sscanf(line,"%d %d %d %d %d %d %d",&inc[0],&inc[1],&inc[2],&inc[3],&inc[4],&inc[5],&inc[6]);
648+
#endif
762649
i__1 = ninc;
763650
for (i__ = 1; i__ <= i__1; ++i__) {
764651
if (inc[i__ - 1] == 0 || (i__2 = inc[i__ - 1], abs(i__2)) > 2) {

0 commit comments

Comments
 (0)