Skip to content

Commit 70e7c4e

Browse files
author
fbudin69500
committed
First commit
Source code copied from http://svn.slicer.org/Slicer3-lib-mirrors/trunk/clapack-3.2.1-CMAKE.tgz Original clapack source code is available here: http://www.netlib.org/clapack/ License: http://www.netlib.org/lapack/LICENSE.txt
0 parents  commit 70e7c4e

File tree

3,097 files changed

+1273420
-0
lines changed

Some content is hidden

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

3,097 files changed

+1273420
-0
lines changed

BLAS/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
add_subdirectory(SRC)
2+
add_subdirectory(TESTING)

BLAS/SRC/CMakeLists.txt

+143
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
#######################################################################
2+
# This is the makefile to create a library for the BLAS.
3+
# The files are grouped as follows:
4+
#
5+
# SBLAS1 -- Single precision real BLAS routines
6+
# CBLAS1 -- Single precision complex BLAS routines
7+
# DBLAS1 -- Double precision real BLAS routines
8+
# ZBLAS1 -- Double precision complex BLAS routines
9+
#
10+
# CB1AUX -- Real BLAS routines called by complex routines
11+
# ZB1AUX -- D.P. real BLAS routines called by d.p. complex
12+
# routines
13+
#
14+
# ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS
15+
#
16+
# SBLAS2 -- Single precision real BLAS2 routines
17+
# CBLAS2 -- Single precision complex BLAS2 routines
18+
# DBLAS2 -- Double precision real BLAS2 routines
19+
# ZBLAS2 -- Double precision complex BLAS2 routines
20+
#
21+
# SBLAS3 -- Single precision real BLAS3 routines
22+
# CBLAS3 -- Single precision complex BLAS3 routines
23+
# DBLAS3 -- Double precision real BLAS3 routines
24+
# ZBLAS3 -- Double precision complex BLAS3 routines
25+
#
26+
# The library can be set up to include routines for any combination
27+
# of the four precisions. To create or add to the library, enter make
28+
# followed by one or more of the precisions desired. Some examples:
29+
# make single
30+
# make single complex
31+
# make single double complex complex16
32+
# Note that these commands are not safe for parallel builds.
33+
#
34+
# Alternatively, the commands
35+
# make all
36+
# or
37+
# make
38+
# without any arguments creates a library of all four precisions.
39+
# The name of the library is held in BLASLIB, which is set in the
40+
# top-level make.inc
41+
#
42+
# To remove the object files after the library is created, enter
43+
# make clean
44+
# To force the source files to be recompiled, enter, for example,
45+
# make single FRC=FRC
46+
#
47+
#---------------------------------------------------------------------
48+
#
49+
# Edward Anderson, University of Tennessee
50+
# March 26, 1990
51+
# Susan Ostrouchov, Last updated September 30, 1994
52+
# ejr, May 2006.
53+
#
54+
#######################################################################
55+
56+
#---------------------------------------------------------
57+
# Comment out the next 6 definitions if you already have
58+
# the Level 1 BLAS.
59+
#---------------------------------------------------------
60+
set(SBLAS1 isamax.c sasum.c saxpy.c scopy.c sdot.c snrm2.c
61+
srot.c srotg.c sscal.c sswap.c sdsdot.c srotmg.c srotm.c)
62+
63+
set(CBLAS1 scabs1.c scasum.c scnrm2.c icamax.c caxpy.c ccopy.c
64+
cdotc.c cdotu.c csscal.c crotg.c cscal.c cswap.c csrot.c)
65+
66+
set(DBLAS1 idamax.c dasum.c daxpy.c dcopy.c ddot.c dnrm2.c
67+
drot.c drotg.c dscal.c dsdot.c dswap.c drotmg.c drotm.c)
68+
69+
set(ZBLAS1 dcabs1.c dzasum.c dznrm2.c izamax.c zaxpy.c zcopy.c
70+
zdotc.c zdotu.c zdscal.c zrotg.c zscal.c zswap.c zdrot.c)
71+
72+
set(CB1AUX isamax.c sasum.c saxpy.c scopy.c snrm2.c sscal.c)
73+
74+
set(ZB1AUX idamax.c dasum.c daxpy.c dcopy.c dnrm2.c dscal.c)
75+
76+
#---------------------------------------------------------------------
77+
# The following line defines auxiliary routines needed by both the
78+
# Level 2 and Level 3 BLAS. Comment it out only if you already have
79+
# both the Level 2 and 3 BLAS.
80+
#---------------------------------------------------------------------
81+
set(ALLBLAS lsame.c xerbla.c xerbla_array.c)
82+
83+
#---------------------------------------------------------
84+
# Comment out the next 4 definitions if you already have
85+
# the Level 2 BLAS.
86+
#---------------------------------------------------------
87+
set(SBLAS2 sgemv.c sgbmv.c ssymv.c ssbmv.c sspmv.c
88+
strmv.c stbmv.c stpmv.c strsv.c stbsv.c stpsv.c
89+
sger.c ssyr.c sspr.c ssyr2.c sspr2.c)
90+
91+
set(CBLAS2 cgemv.c cgbmv.c chemv.c chbmv.c chpmv.c
92+
ctrmv.c ctbmv.c ctpmv.c ctrsv.c ctbsv.c ctpsv.c
93+
cgerc.c cgeru.c cher.c chpr.c cher2.c chpr2.c)
94+
95+
set(DBLAS2 dgemv.c dgbmv.c dsymv.c dsbmv.c dspmv.c
96+
dtrmv.c dtbmv.c dtpmv.c dtrsv.c dtbsv.c dtpsv.c
97+
dger.c dsyr.c dspr.c dsyr2.c dspr2.c)
98+
99+
set(ZBLAS2 zgemv.c zgbmv.c zhemv.c zhbmv.c zhpmv.c
100+
ztrmv.c ztbmv.c ztpmv.c ztrsv.c ztbsv.c ztpsv.c
101+
zgerc.c zgeru.c zher.c zhpr.c zher2.c zhpr2.c)
102+
103+
#---------------------------------------------------------
104+
# Comment out the next 4 definitions if you already have
105+
# the Level 3 BLAS.
106+
#---------------------------------------------------------
107+
set(SBLAS3 sgemm.c ssymm.c ssyrk.c ssyr2k.c strmm.c strsm.c )
108+
109+
set(CBLAS3 cgemm.c csymm.c csyrk.c csyr2k.c ctrmm.c ctrsm.c
110+
chemm.c cherk.c cher2k.c)
111+
112+
set(DBLAS3 dgemm.c dsymm.c dsyrk.c dsyr2k.c dtrmm.c dtrsm.c)
113+
114+
set(ZBLAS3 zgemm.c zsymm.c zsyrk.c zsyr2k.c ztrmm.c ztrsm.c
115+
zhemm.c zherk.c zher2k.c)
116+
# default build all of it
117+
set(ALLOBJ ${SBLAS1} ${SBLAS2} ${SBLAS3} ${DBLAS1} ${DBLAS2} ${DBLAS3}
118+
${CBLAS1} ${CBLAS2} ${CBLAS3} ${ZBLAS1}
119+
${ZBLAS2} ${ZBLAS3} ${ALLBLAS})
120+
121+
if(BLAS_SINGLE)
122+
set(ALLOBJ ${SBLAS1} ${ALLBLAS}
123+
${SBLAS2} ${SBLAS3})
124+
endif()
125+
if(BLAS_DOUBLE)
126+
set(ALLOBJ ${DBLAS1} ${ALLBLAS}
127+
${DBLAS2} ${DBLAS3})
128+
endif()
129+
if(BLAS_COMPLEX)
130+
set(ALLOBJ ${BLASLIB} ${CBLAS1} ${CB1AUX}
131+
${ALLBLAS} ${CBLAS2})
132+
endif()
133+
if(BLAS_COMPLEX16)
134+
set(ALLOBJ ${BLASLIB} ${ZBLAS1} ${ZB1AUX}
135+
${ALLBLAS} ${ZBLAS2} ${ZBLAS3})
136+
endif()
137+
138+
139+
add_library(blas ${ALLOBJ})
140+
if(UNIX)
141+
target_link_libraries(blas m)
142+
endif()
143+
target_link_libraries(blas f2c)

BLAS/SRC/Makefile

+171
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
include ../../make.inc
2+
3+
#######################################################################
4+
# This is the makefile to create a library for the BLAS.
5+
# The files are grouped as follows:
6+
#
7+
# SBLAS1 -- Single precision real BLAS routines
8+
# CBLAS1 -- Single precision complex BLAS routines
9+
# DBLAS1 -- Double precision real BLAS routines
10+
# ZBLAS1 -- Double precision complex BLAS routines
11+
#
12+
# CB1AUX -- Real BLAS routines called by complex routines
13+
# ZB1AUX -- D.P. real BLAS routines called by d.p. complex
14+
# routines
15+
#
16+
# ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS
17+
#
18+
# SBLAS2 -- Single precision real BLAS2 routines
19+
# CBLAS2 -- Single precision complex BLAS2 routines
20+
# DBLAS2 -- Double precision real BLAS2 routines
21+
# ZBLAS2 -- Double precision complex BLAS2 routines
22+
#
23+
# SBLAS3 -- Single precision real BLAS3 routines
24+
# CBLAS3 -- Single precision complex BLAS3 routines
25+
# DBLAS3 -- Double precision real BLAS3 routines
26+
# ZBLAS3 -- Double precision complex BLAS3 routines
27+
#
28+
# The library can be set up to include routines for any combination
29+
# of the four precisions. To create or add to the library, enter make
30+
# followed by one or more of the precisions desired. Some examples:
31+
# make single
32+
# make single complex
33+
# make single double complex complex16
34+
# Note that these commands are not safe for parallel builds.
35+
#
36+
# Alternatively, the commands
37+
# make all
38+
# or
39+
# make
40+
# without any arguments creates a library of all four precisions.
41+
# The name of the library is held in BLASLIB, which is set in the
42+
# top-level make.inc
43+
#
44+
# To remove the object files after the library is created, enter
45+
# make clean
46+
# To force the source files to be recompiled, enter, for example,
47+
# make single FRC=FRC
48+
#
49+
#---------------------------------------------------------------------
50+
#
51+
# Edward Anderson, University of Tennessee
52+
# March 26, 1990
53+
# Susan Ostrouchov, Last updated September 30, 1994
54+
# ejr, May 2006.
55+
#
56+
#######################################################################
57+
58+
all: $(BLASLIB)
59+
60+
#---------------------------------------------------------
61+
# Comment out the next 6 definitions if you already have
62+
# the Level 1 BLAS.
63+
#---------------------------------------------------------
64+
SBLAS1 = isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \
65+
srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o
66+
$(SBLAS1): $(FRC)
67+
68+
CBLAS1 = scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \
69+
cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o
70+
$(CBLAS1): $(FRC)
71+
72+
DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \
73+
drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o
74+
$(DBLAS1): $(FRC)
75+
76+
ZBLAS1 = dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \
77+
zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o
78+
$(ZBLAS1): $(FRC)
79+
80+
CB1AUX = isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o
81+
$(CB1AUX): $(FRC)
82+
83+
ZB1AUX = idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o
84+
$(ZB1AUX): $(FRC)
85+
86+
#---------------------------------------------------------------------
87+
# The following line defines auxiliary routines needed by both the
88+
# Level 2 and Level 3 BLAS. Comment it out only if you already have
89+
# both the Level 2 and 3 BLAS.
90+
#---------------------------------------------------------------------
91+
ALLBLAS = lsame.o xerbla.o xerbla_array.o
92+
$(ALLBLAS) : $(FRC)
93+
94+
#---------------------------------------------------------
95+
# Comment out the next 4 definitions if you already have
96+
# the Level 2 BLAS.
97+
#---------------------------------------------------------
98+
SBLAS2 = sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \
99+
strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \
100+
sger.o ssyr.o sspr.o ssyr2.o sspr2.o
101+
$(SBLAS2): $(FRC)
102+
103+
CBLAS2 = cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \
104+
ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \
105+
cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o
106+
$(CBLAS2): $(FRC)
107+
108+
DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \
109+
dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \
110+
dger.o dsyr.o dspr.o dsyr2.o dspr2.o
111+
$(DBLAS2): $(FRC)
112+
113+
ZBLAS2 = zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \
114+
ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \
115+
zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o
116+
$(ZBLAS2): $(FRC)
117+
118+
#---------------------------------------------------------
119+
# Comment out the next 4 definitions if you already have
120+
# the Level 3 BLAS.
121+
#---------------------------------------------------------
122+
SBLAS3 = sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o
123+
$(SBLAS3): $(FRC)
124+
125+
CBLAS3 = cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \
126+
chemm.o cherk.o cher2k.o
127+
$(CBLAS3): $(FRC)
128+
129+
DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o
130+
$(DBLAS3): $(FRC)
131+
132+
ZBLAS3 = zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \
133+
zhemm.o zherk.o zher2k.o
134+
$(ZBLAS3): $(FRC)
135+
136+
ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
137+
$(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) \
138+
$(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
139+
140+
$(BLASLIB): $(ALLOBJ)
141+
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
142+
$(RANLIB) $@
143+
144+
single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3)
145+
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \
146+
$(SBLAS2) $(SBLAS3)
147+
$(RANLIB) $(BLASLIB)
148+
149+
double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3)
150+
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \
151+
$(DBLAS2) $(DBLAS3)
152+
$(RANLIB) $(BLASLIB)
153+
154+
complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3)
155+
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \
156+
$(ALLBLAS) $(CBLAS2) $(CBLAS3)
157+
$(RANLIB) $(BLASLIB)
158+
159+
complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
160+
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \
161+
$(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
162+
$(RANLIB) $(BLASLIB)
163+
164+
FRC:
165+
@FRC=$(FRC)
166+
167+
clean:
168+
rm -f *.o
169+
170+
.c.o:
171+
$(CC) $(CFLAGS) -I../../INCLUDE -c $< -o $@

0 commit comments

Comments
 (0)