*** empty log message ***
This commit is contained in:
parent
b2323bc7cd
commit
5c1505ba19
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
13.11.2009 RELEASE 0.5
|
||||
13.11.2009 libtool employed to create also shared library version
|
||||
12.11.2009 library enclosed in the namespace LA
|
||||
12.11.2009 #defines for numerical parameters changed to const doubles
|
||||
12.11.2009 added SparseSMat class for efficient exponentiation of sparse complex symmetric matrices
|
||||
12.11.2009 removed unnecessary casts in complex vec,mat,smat routines
|
||||
12.11.2009 fixed bug in complex NRSMat operator +=,-=
|
||||
10.11.2009 removing 'using namespace std' from the main include, leaving this to the user's discretion
|
||||
10.11.2009 NRVec::otimes introduced
|
||||
04.11.2009 improved efficiency of complex matrix exp
|
||||
04.11.2009 fixed return type for complex sparsemat::norm
|
||||
19.10.2009 added modified GS orthomormalization with optional metric
|
||||
15.10.2009 added support for long long
|
||||
07.10.2009 RELEASE 0.4
|
||||
06.10.2009 autoconf/automake for user convenience
|
||||
13.09.2009 RELEASE 0.3
|
||||
|
18
Makefile.am
18
Makefile.am
@ -1,19 +1,19 @@
|
||||
lib_LIBRARIES = libla.a
|
||||
include_HEADERS = auxstorage.h davidson.h laerror.h mat.h qsort.h vec.h bisection.h diis.h la.h noncblas.h smat.h bitvector.h fourindex.h la_traits.h nonclass.h sparsemat.h conjgrad.h gmres.h matexp.h permutation.h sparsemat_traits.h
|
||||
libla_a_SOURCES = vec.cc mat.cc smat.cc sparsemat.cc laerror.cc noncblas.cc bitvector.cc strassen.cc nonclass.cc
|
||||
lib_LTLIBRARIES = libla.la
|
||||
include_HEADERS = auxstorage.h davidson.h laerror.h mat.h qsort.h vec.h bisection.h diis.h la.h noncblas.h smat.h bitvector.h fourindex.h la_traits.h nonclass.h sparsemat.h sparsesmat.h conjgrad.h gmres.h matexp.h permutation.h
|
||||
libla_la_SOURCES = vec.cc mat.cc smat.cc sparsemat.cc sparsesmat.cc laerror.cc noncblas.cc bitvector.cc strassen.cc nonclass.cc
|
||||
check_PROGRAMS = t test
|
||||
t_SOURCES = t.cc t2.cc
|
||||
test_SOURCES = test.cc
|
||||
LDADD = libla.a
|
||||
LDADD = .libs/libla.a
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
EXTRA_DIST = LICENSE
|
||||
|
||||
#
|
||||
CXXFLAGS += -fno-omit-frame-pointer -O3 -g -fPIC -finline-limit=1000
|
||||
CXXFLAGS += -DNO_STRASSEN -DFORTRAN_
|
||||
#todo: achieve portability of the fortran calls via autoconf?
|
||||
|
||||
#remove this for production code efficiency
|
||||
CXXFLAGS += -DDEBUG
|
||||
CXXFLAGS = -g
|
||||
CXXFLAGS += $(OPTIMIZEOPT) $(DEBUGOPT) $(MATPTROPT)
|
||||
CXXFLAGS += -DNO_STRASSEN -DFORTRAN_
|
||||
|
||||
CXXFLAGS += $(CBLASOPT) $(CLAPACKOPT)
|
||||
LDFLAGS += $(CBLASLIB)
|
||||
|
77
configure.ac
77
configure.ac
@ -2,22 +2,38 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.63])
|
||||
AC_INIT([libla], [0.4], [jiri@pittnerovi.com])
|
||||
AC_INIT([libla], [0.5], [jiri@pittnerovi.com])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||
LT_INIT
|
||||
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CXX
|
||||
AC_PROG_LIBTOOL
|
||||
AC_PROG_CC
|
||||
AC_PROG_RANLIB
|
||||
#AC_PROG_RANLIB obsoleted by libtool
|
||||
AC_LANG(C++)
|
||||
|
||||
# Checks for libraries.
|
||||
AC_CHECK_LIB([blas], [dgemm_])
|
||||
AC_CHECK_LIB([atlas], [ATL_zgemv])
|
||||
AC_CHECK_LIB([lapack], [dgeev_])
|
||||
|
||||
#optional
|
||||
# Checks for mandatory libraries.
|
||||
AC_CHECK_LIB([blas], [dgemm_],, [
|
||||
echo ERROR: BLAS not found! You have to install the BLAS library.
|
||||
exit
|
||||
])
|
||||
|
||||
AC_CHECK_LIB([atlas], [ATL_zgemv],, [
|
||||
echo "ATLAS not found, I hope you are using some other (more) efficient BLAS!"
|
||||
])
|
||||
|
||||
AC_CHECK_LIB([lapack], [dgeev_],, [
|
||||
echo ERROR: LAPACK not found! You have to install the LAPACK library
|
||||
exit
|
||||
])
|
||||
|
||||
|
||||
#check for optional libraries
|
||||
AC_CHECK_LIB([cblas], [cblas_ddot], [CBLASLIB=-lcblas], [CBLASOPT=-DNONCBLAS])
|
||||
AC_SUBST([CBLASLIB])
|
||||
AC_SUBST([CBLASOPT])
|
||||
@ -25,14 +41,46 @@ AC_SUBST([CBLASOPT])
|
||||
AC_CHECK_LIB([lapack], [clapack_dgesv], , [CLAPACKOPT=-DNONCLAPACK])
|
||||
AC_SUBST([CLAPACKOPT])
|
||||
|
||||
|
||||
|
||||
#the check for traceback needs bfd to be linked into
|
||||
AC_CHECK_LIB([bfd], [bfd_fprintf_vma])
|
||||
AC_CHECK_LIB([traceback], [sigtraceback], [TRACEBACKLIB="-ltraceback -lbfd" TRACEBACKOPT=-DUSE_TRACEBACK])
|
||||
AC_CHECK_LIB([traceback], [sigtraceback], [TRACEBACKLIB="-ltraceback -lbfd" TRACEBACKOPT="-DUSE_TRACEBACK -fno-omit-frame-pointer"])
|
||||
AC_SUBST([TRACEBACKOPT])
|
||||
AC_SUBST([TRACEBACKLIB])
|
||||
|
||||
#process options
|
||||
OPTIMIZEOPT="-O3 -finline-limit=1000"
|
||||
AC_ARG_ENABLE([optimize],[ --enable-optimize to compile with optimization [[default= -O3 -finline-limit=1000]]],
|
||||
[case "${enableval}" in
|
||||
yes) ;;
|
||||
no) OPTIMIZEOPT="" ;;
|
||||
*) OPTIMIZEOPT=${enableval}
|
||||
esac],
|
||||
,)
|
||||
AC_SUBST([OPTIMIZEOPT])
|
||||
|
||||
DEBUGOPT="-DDEBUG"
|
||||
AC_ARG_ENABLE([debug],[ --disable-debug not to perform some range-checking [[default=yes]]],
|
||||
[case "${enableval}" in
|
||||
yes) ;;
|
||||
no) DEBUGOPT="" ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;;
|
||||
esac],
|
||||
,)
|
||||
AC_SUBST([DEBUGOPT])
|
||||
|
||||
MATPTROPT=""
|
||||
AC_ARG_ENABLE([matptr],[ --enable-matptr switch to double** matrix representation [[default=no]]],
|
||||
[case "${enableval}" in
|
||||
yes) MATPTROPT="-DMATPTR" ;;
|
||||
no) ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-matptr]) ;;
|
||||
esac],
|
||||
,)
|
||||
AC_SUBST([MATPTROPT])
|
||||
|
||||
|
||||
|
||||
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/vfs.h unistd.h])
|
||||
|
||||
@ -48,3 +96,12 @@ AC_CHECK_FUNCS([getpagesize memset sqrt])
|
||||
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
||||
echo
|
||||
echo "**********************************************************************************"
|
||||
echo "The LA library has now been configured. You may run make; make check; make install"
|
||||
echo "Please make sure that the generated Makefile employs a proper version of optimized"
|
||||
echo "BLAS/LAPACK library. If not, re-run configure with CXXFLAGS and LDFLAGS options "
|
||||
echo "set to '-I path' and '-L path' for your preferred BLAS/LAPACK library version "
|
||||
echo "For usage examples see file t.cc. Do not forget using copyonwrite() before "
|
||||
echo "changing individual matrix/vector elements via l.h.s. operator[] or operator() "
|
||||
echo "**********************************************************************************"
|
||||
|
Loading…
Reference in New Issue
Block a user