libraries/CSparse: Added (sparse matrix routines)

Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
This commit is contained in:
Kyle Guinn 2010-08-24 00:02:58 -04:00 committed by Erik Hanson
parent 5ab59a9afb
commit 75441e0412
5 changed files with 289 additions and 0 deletions

View file

@ -0,0 +1,76 @@
#!/bin/sh
# Slackware build script for CSparse
# Written by Kyle Guinn <elyk03@gmail.com>
PRGNAM=CSparse
VERSION=${VERSION:-2.2.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$(uname -m) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
DOCS="README.txt Doc/ChangeLog Doc/License.txt Doc/lesser.txt"
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM
chown -R root:root .
chmod -R u+w,go+r-w,a-st .
patch -p1 < $CWD/autotoolize.diff
autoreconf -vif
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
make
make install-strip DESTDIR=$PKG
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="CSparse"
VERSION="2.2.4"
HOMEPAGE="http://www.cise.ufl.edu/research/sparse/CSparse/"
DOWNLOAD="http://www.cise.ufl.edu/research/sparse/CSparse/versions/CSparse-2.2.4.tar.gz"
MD5SUM="99b02361ba0083427ef16ca9610b7e76"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Kyle Guinn"
EMAIL="elyk03@gmail.com"
APPROVED="dsomero"

5
libraries/CSparse/README Normal file
View file

@ -0,0 +1,5 @@
CSparse is a small yet feature-rich sparse matrix package. Its purpose is
to demonstrate a wide range of sparse matrix algorithms in as concise a
code as possible.
This package is part of SuiteSparse.

View file

@ -0,0 +1,179 @@
diff --git a/Demo/Makefile.am b/Demo/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Demo/Makefile.am
@@ -0,0 +1,46 @@
+AM_CPPFLAGS = -I$(top_srcdir)/Include
+LDADD = $(top_builddir)/Source/libcsparse.la
+
+EXTRA_DIST = \
+ README.txt \
+ cs_demo.out
+
+# Disable the .out implicit pattern rule. Prevents GNU make from
+# adding bogus dependencies for the .out files listed above.
+%.out: %
+
+noinst_HEADERS = \
+ cs_demo.h
+
+check_PROGRAMS = \
+ cs_demo1 \
+ cs_demo2 \
+ cs_demo3
+
+cs_demo1_SOURCES = cs_demo1.c
+cs_demo2_SOURCES = cs_demo2.c cs_demo.c
+cs_demo3_SOURCES = cs_demo3.c cs_demo.c
+
+MATRICES = \
+ ../Matrix/ash219 \
+ ../Matrix/bcsstk01 \
+ ../Matrix/bcsstk01 \
+ ../Matrix/bcsstk16 \
+ ../Matrix/fs_183_1 \
+ ../Matrix/lp_afiro \
+ ../Matrix/mbeacxc \
+ ../Matrix/t1 \
+ ../Matrix/west0067
+
+check-local: $(check_PROGRAMS) $(MATRICES)
+ -./cs_demo1 < ../Matrix/t1
+ -./cs_demo2 < ../Matrix/t1
+ -./cs_demo2 < ../Matrix/ash219
+ -./cs_demo2 < ../Matrix/bcsstk01
+ -./cs_demo2 < ../Matrix/fs_183_1
+ -./cs_demo2 < ../Matrix/mbeacxc
+ -./cs_demo2 < ../Matrix/west0067
+ -./cs_demo2 < ../Matrix/lp_afiro
+ -./cs_demo2 < ../Matrix/bcsstk16
+ -./cs_demo3 < ../Matrix/bcsstk01
+ -./cs_demo3 < ../Matrix/bcsstk16
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,5 @@
+SUBDIRS = Source Matrix Demo
+EXTRA_DIST = README.txt Doc/ChangeLog Doc/License.txt Doc/lesser.txt
+
+pkgincludedir = $(includedir)/csparse
+pkginclude_HEADERS = Include/cs.h
diff --git a/Matrix/Makefile.am b/Matrix/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Matrix/Makefile.am
@@ -0,0 +1,11 @@
+dist_noinst_DATA = \
+ ash219 \
+ bcsstk01 \
+ bcsstk16 \
+ fs_183_1 \
+ ibm32a \
+ ibm32b \
+ lp_afiro \
+ mbeacxc \
+ t1 \
+ west0067
diff --git a/Source/Makefile.am b/Source/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Source/Makefile.am
@@ -0,0 +1,62 @@
+AM_CPPFLAGS = -I$(top_builddir)/Include
+
+EXTRA_DIST = \
+ README.txt
+
+CSPARSESRC = \
+ cs_add.c \
+ cs_amd.c \
+ cs_chol.c \
+ cs_cholsol.c \
+ cs_compress.c \
+ cs_counts.c \
+ cs_cumsum.c \
+ cs_dfs.c \
+ cs_dmperm.c \
+ cs_droptol.c \
+ cs_dropzeros.c \
+ cs_dupl.c \
+ cs_entry.c \
+ cs_ereach.c \
+ cs_etree.c \
+ cs_fkeep.c \
+ cs_gaxpy.c \
+ cs_happly.c \
+ cs_house.c \
+ cs_ipvec.c \
+ cs_leaf.c \
+ cs_load.c \
+ cs_lsolve.c \
+ cs_ltsolve.c \
+ cs_lu.c \
+ cs_lusol.c \
+ cs_malloc.c \
+ cs_maxtrans.c \
+ cs_multiply.c \
+ cs_norm.c \
+ cs_permute.c \
+ cs_pinv.c \
+ cs_post.c \
+ cs_print.c \
+ cs_pvec.c \
+ cs_qr.c \
+ cs_qrsol.c \
+ cs_randperm.c \
+ cs_reach.c \
+ cs_scatter.c \
+ cs_scc.c \
+ cs_schol.c \
+ cs_spsolve.c \
+ cs_sqr.c \
+ cs_symperm.c \
+ cs_tdfs.c \
+ cs_transpose.c \
+ cs_updown.c \
+ cs_usolve.c \
+ cs_util.c \
+ cs_utsolve.c
+
+lib_LTLIBRARIES = libcsparse.la
+libcsparse_la_SOURCES = $(CSPARSESRC)
+libcsparse_la_LIBADD = -lm
+libcsparse_la_LDFLAGS = -no-undefined -version-info 4:4:2
diff --git a/configure.ac b/configure.ac
new file mode 100644
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,30 @@
+AC_PREREQ([2.65])
+AC_INIT([CSparse], [2.2.4], [davis@cise.ufl.edu])
+AC_CONFIG_SRCDIR([Source/cs_print.c])
+AC_CONFIG_HEADER([config.h])
+AM_INIT_AUTOMAKE([foreign])
+LT_INIT
+
+AC_PROG_INSTALL
+AC_PROG_CC
+
+LIBS_SAVED=$LIBS
+
+AC_CHECK_LIB([m], [sqrt])
+
+AC_CHECK_HEADERS([limits.h stdlib.h])
+
+AC_TYPE_SIZE_T
+
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([sqrt])
+
+LIBS=$LIBS_SAVED
+
+AC_CONFIG_FILES([
+ Makefile
+ Demo/Makefile
+ Matrix/Makefile
+ Source/Makefile])
+AC_OUTPUT

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
CSparse: CSparse (sparse matrix routines)
CSparse:
CSparse: CSparse is a small yet feature-rich sparse matrix package.
CSparse: Its purpose is to demonstrate a wide range of sparse matrix
CSparse: algorithms in as concise a code as possible.
CSparse:
CSparse:
CSparse:
CSparse:
CSparse:
CSparse: