From 5bb11d36948f9ccc243711d4e9caf4b19b3c384b Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@fe.uni-lj.si>
Date: Thu, 07 Jun 2012 14:34:51 +0000
Subject: [PATCH] Starting tests. Doing tests of co coefficients.

---
 src/Makefile.am  |    3 
 test/Makefile    |  137 ++++++++++-
 src/sh.h         |    2 
 test/Makefile.in |  137 ++++++++++-
 config.log       |   72 ++++++
 src/general.h    |    1 
 src/co_test.c    |   29 ++
 src/Makefile.in  |   95 ++++++-
 src/sh.c         |   17 
 test/Makefile.am |    3 
 test/co.for      |   28 ++
 src/Makefile     |   95 ++++++-
 12 files changed, 529 insertions(+), 90 deletions(-)

diff --git a/config.log b/config.log
index 4fe4bef..e443083 100644
--- a/config.log
+++ b/config.log
@@ -469,3 +469,75 @@
 #define HAVE_STRNDUP 1
 
 configure: exit 0
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by FULL-PACKAGE-NAME config.status VERSION, which was
+generated by GNU Autoconf 2.68.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status test/Makefile depfiles
+
+on natalie
+
+config.status:873: creating test/Makefile
+config.status:1102: executing depfiles commands
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by FULL-PACKAGE-NAME config.status VERSION, which was
+generated by GNU Autoconf 2.68.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status test/Makefile depfiles
+
+on natalie
+
+config.status:873: creating test/Makefile
+config.status:1102: executing depfiles commands
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by FULL-PACKAGE-NAME config.status VERSION, which was
+generated by GNU Autoconf 2.68.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status test/Makefile depfiles
+
+on natalie
+
+config.status:873: creating test/Makefile
+config.status:1102: executing depfiles commands
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by FULL-PACKAGE-NAME config.status VERSION, which was
+generated by GNU Autoconf 2.68.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status src/Makefile depfiles
+
+on natalie
+
+config.status:873: creating src/Makefile
+config.status:1102: executing depfiles commands
diff --git a/src/Makefile b/src/Makefile
index e407d93..4e02395 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -34,6 +34,7 @@
 POST_UNINSTALL = :
 trisurf_PROGRAMS = trisurf$(EXEEXT)
 shdiscover_PROGRAMS = shdiscover$(EXEEXT)
+co_test_PROGRAMS = co_test$(EXEEXT)
 subdir = src
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -44,9 +45,16 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(shdiscoverdir)" \
-	"$(DESTDIR)$(trisurfdir)"
-PROGRAMS = $(shdiscover_PROGRAMS) $(trisurf_PROGRAMS)
+am__installdirs = "$(DESTDIR)$(co_testdir)" \
+	"$(DESTDIR)$(shdiscoverdir)" "$(DESTDIR)$(trisurfdir)"
+PROGRAMS = $(co_test_PROGRAMS) $(shdiscover_PROGRAMS) \
+	$(trisurf_PROGRAMS)
+am_co_test_OBJECTS = general.$(OBJEXT) vertex.$(OBJEXT) bond.$(OBJEXT) \
+	triangle.$(OBJEXT) cell.$(OBJEXT) vesicle.$(OBJEXT) \
+	initial_distribution.$(OBJEXT) io.$(OBJEXT) energy.$(OBJEXT) \
+	sh.$(OBJEXT) co_test.$(OBJEXT)
+co_test_OBJECTS = $(am_co_test_OBJECTS)
+co_test_LDADD = $(LDADD)
 am_shdiscover_OBJECTS = general.$(OBJEXT) vertex.$(OBJEXT) \
 	bond.$(OBJEXT) triangle.$(OBJEXT) cell.$(OBJEXT) \
 	vesicle.$(OBJEXT) initial_distribution.$(OBJEXT) io.$(OBJEXT) \
@@ -68,8 +76,9 @@
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(shdiscover_SOURCES) $(trisurf_SOURCES)
-DIST_SOURCES = $(shdiscover_SOURCES) $(trisurf_SOURCES)
+SOURCES = $(co_test_SOURCES) $(shdiscover_SOURCES) $(trisurf_SOURCES)
+DIST_SOURCES = $(co_test_SOURCES) $(shdiscover_SOURCES) \
+	$(trisurf_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -165,6 +174,8 @@
 shdiscoverdir = ../
 shdiscover_SOURCES = general.c vertex.c bond.c triangle.c cell.c vesicle.c initial_distribution.c io.c energy.c sh.c shdiscover.c
 AM_CFLAGS = -Wall -Werror
+co_testdir = ../
+co_test_SOURCES = general.c vertex.c bond.c triangle.c cell.c vesicle.c initial_distribution.c io.c energy.c sh.c co_test.c
 all: all-am
 
 .SUFFIXES:
@@ -199,6 +210,43 @@
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+install-co_testPROGRAMS: $(co_test_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(co_testdir)" || $(MKDIR_P) "$(DESTDIR)$(co_testdir)"
+	@list='$(co_test_PROGRAMS)'; test -n "$(co_testdir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(co_testdir)$$dir'"; \
+	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(co_testdir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-co_testPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(co_test_PROGRAMS)'; test -n "$(co_testdir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(co_testdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(co_testdir)" && rm -f $$files
+
+clean-co_testPROGRAMS:
+	-test -z "$(co_test_PROGRAMS)" || rm -f $(co_test_PROGRAMS)
 install-shdiscoverPROGRAMS: $(shdiscover_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(shdiscoverdir)" || $(MKDIR_P) "$(DESTDIR)$(shdiscoverdir)"
@@ -273,6 +321,9 @@
 
 clean-trisurfPROGRAMS:
 	-test -z "$(trisurf_PROGRAMS)" || rm -f $(trisurf_PROGRAMS)
+co_test$(EXEEXT): $(co_test_OBJECTS) $(co_test_DEPENDENCIES) $(EXTRA_co_test_DEPENDENCIES) 
+	@rm -f co_test$(EXEEXT)
+	$(LINK) $(co_test_OBJECTS) $(co_test_LDADD) $(LIBS)
 shdiscover$(EXEEXT): $(shdiscover_OBJECTS) $(shdiscover_DEPENDENCIES) $(EXTRA_shdiscover_DEPENDENCIES) 
 	@rm -f shdiscover$(EXEEXT)
 	$(LINK) $(shdiscover_OBJECTS) $(shdiscover_LDADD) $(LIBS)
@@ -288,6 +339,7 @@
 
 include ./$(DEPDIR)/bond.Po
 include ./$(DEPDIR)/cell.Po
+include ./$(DEPDIR)/co_test.Po
 include ./$(DEPDIR)/energy.Po
 include ./$(DEPDIR)/frame.Po
 include ./$(DEPDIR)/general.Po
@@ -402,7 +454,7 @@
 check: check-am
 all-am: Makefile $(PROGRAMS)
 installdirs:
-	for dir in "$(DESTDIR)$(shdiscoverdir)" "$(DESTDIR)$(trisurfdir)"; do \
+	for dir in "$(DESTDIR)$(co_testdir)" "$(DESTDIR)$(shdiscoverdir)" "$(DESTDIR)$(trisurfdir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -437,8 +489,8 @@
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-generic clean-shdiscoverPROGRAMS clean-trisurfPROGRAMS \
-	mostlyclean-am
+clean-am: clean-co_testPROGRAMS clean-generic clean-shdiscoverPROGRAMS \
+	clean-trisurfPROGRAMS mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -458,7 +510,8 @@
 
 info-am:
 
-install-data-am: install-shdiscoverPROGRAMS install-trisurfPROGRAMS
+install-data-am: install-co_testPROGRAMS install-shdiscoverPROGRAMS \
+	install-trisurfPROGRAMS
 
 install-dvi: install-dvi-am
 
@@ -503,23 +556,25 @@
 
 ps-am:
 
-uninstall-am: uninstall-shdiscoverPROGRAMS uninstall-trisurfPROGRAMS
+uninstall-am: uninstall-co_testPROGRAMS uninstall-shdiscoverPROGRAMS \
+	uninstall-trisurfPROGRAMS
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-shdiscoverPROGRAMS clean-trisurfPROGRAMS ctags distclean \
-	distclean-compile distclean-generic distclean-tags distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-data install-data-am install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-man install-pdf \
-	install-pdf-am install-ps install-ps-am \
-	install-shdiscoverPROGRAMS install-strip \
+.PHONY: CTAGS GTAGS all all-am check check-am clean \
+	clean-co_testPROGRAMS clean-generic clean-shdiscoverPROGRAMS \
+	clean-trisurfPROGRAMS ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am \
+	install-co_testPROGRAMS install-data install-data-am \
+	install-dvi install-dvi-am install-exec install-exec-am \
+	install-html install-html-am install-info install-info-am \
+	install-man install-pdf install-pdf-am install-ps \
+	install-ps-am install-shdiscoverPROGRAMS install-strip \
 	install-trisurfPROGRAMS installcheck installcheck-am \
 	installdirs maintainer-clean maintainer-clean-generic \
 	mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
-	ps ps-am tags uninstall uninstall-am \
+	ps ps-am tags uninstall uninstall-am uninstall-co_testPROGRAMS \
 	uninstall-shdiscoverPROGRAMS uninstall-trisurfPROGRAMS
 
 
diff --git a/src/Makefile.am b/src/Makefile.am
index 66eec22..f9bc3e2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -6,3 +6,6 @@
 shdiscover_PROGRAMS= shdiscover
 shdiscover_SOURCES= general.c vertex.c bond.c triangle.c cell.c vesicle.c initial_distribution.c io.c energy.c sh.c shdiscover.c
 AM_CFLAGS = -Wall -Werror
+co_testdir=../
+co_test_PROGRAMS=co_test
+co_test_SOURCES= general.c vertex.c bond.c triangle.c cell.c vesicle.c initial_distribution.c io.c energy.c sh.c co_test.c
diff --git a/src/Makefile.in b/src/Makefile.in
index 5e2b142..d556203 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -34,6 +34,7 @@
 POST_UNINSTALL = :
 trisurf_PROGRAMS = trisurf$(EXEEXT)
 shdiscover_PROGRAMS = shdiscover$(EXEEXT)
+co_test_PROGRAMS = co_test$(EXEEXT)
 subdir = src
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -44,9 +45,16 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(shdiscoverdir)" \
-	"$(DESTDIR)$(trisurfdir)"
-PROGRAMS = $(shdiscover_PROGRAMS) $(trisurf_PROGRAMS)
+am__installdirs = "$(DESTDIR)$(co_testdir)" \
+	"$(DESTDIR)$(shdiscoverdir)" "$(DESTDIR)$(trisurfdir)"
+PROGRAMS = $(co_test_PROGRAMS) $(shdiscover_PROGRAMS) \
+	$(trisurf_PROGRAMS)
+am_co_test_OBJECTS = general.$(OBJEXT) vertex.$(OBJEXT) bond.$(OBJEXT) \
+	triangle.$(OBJEXT) cell.$(OBJEXT) vesicle.$(OBJEXT) \
+	initial_distribution.$(OBJEXT) io.$(OBJEXT) energy.$(OBJEXT) \
+	sh.$(OBJEXT) co_test.$(OBJEXT)
+co_test_OBJECTS = $(am_co_test_OBJECTS)
+co_test_LDADD = $(LDADD)
 am_shdiscover_OBJECTS = general.$(OBJEXT) vertex.$(OBJEXT) \
 	bond.$(OBJEXT) triangle.$(OBJEXT) cell.$(OBJEXT) \
 	vesicle.$(OBJEXT) initial_distribution.$(OBJEXT) io.$(OBJEXT) \
@@ -68,8 +76,9 @@
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(shdiscover_SOURCES) $(trisurf_SOURCES)
-DIST_SOURCES = $(shdiscover_SOURCES) $(trisurf_SOURCES)
+SOURCES = $(co_test_SOURCES) $(shdiscover_SOURCES) $(trisurf_SOURCES)
+DIST_SOURCES = $(co_test_SOURCES) $(shdiscover_SOURCES) \
+	$(trisurf_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -165,6 +174,8 @@
 shdiscoverdir = ../
 shdiscover_SOURCES = general.c vertex.c bond.c triangle.c cell.c vesicle.c initial_distribution.c io.c energy.c sh.c shdiscover.c
 AM_CFLAGS = -Wall -Werror
+co_testdir = ../
+co_test_SOURCES = general.c vertex.c bond.c triangle.c cell.c vesicle.c initial_distribution.c io.c energy.c sh.c co_test.c
 all: all-am
 
 .SUFFIXES:
@@ -199,6 +210,43 @@
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+install-co_testPROGRAMS: $(co_test_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(co_testdir)" || $(MKDIR_P) "$(DESTDIR)$(co_testdir)"
+	@list='$(co_test_PROGRAMS)'; test -n "$(co_testdir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(co_testdir)$$dir'"; \
+	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(co_testdir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-co_testPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(co_test_PROGRAMS)'; test -n "$(co_testdir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(co_testdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(co_testdir)" && rm -f $$files
+
+clean-co_testPROGRAMS:
+	-test -z "$(co_test_PROGRAMS)" || rm -f $(co_test_PROGRAMS)
 install-shdiscoverPROGRAMS: $(shdiscover_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(shdiscoverdir)" || $(MKDIR_P) "$(DESTDIR)$(shdiscoverdir)"
@@ -273,6 +321,9 @@
 
 clean-trisurfPROGRAMS:
 	-test -z "$(trisurf_PROGRAMS)" || rm -f $(trisurf_PROGRAMS)
+co_test$(EXEEXT): $(co_test_OBJECTS) $(co_test_DEPENDENCIES) $(EXTRA_co_test_DEPENDENCIES) 
+	@rm -f co_test$(EXEEXT)
+	$(LINK) $(co_test_OBJECTS) $(co_test_LDADD) $(LIBS)
 shdiscover$(EXEEXT): $(shdiscover_OBJECTS) $(shdiscover_DEPENDENCIES) $(EXTRA_shdiscover_DEPENDENCIES) 
 	@rm -f shdiscover$(EXEEXT)
 	$(LINK) $(shdiscover_OBJECTS) $(shdiscover_LDADD) $(LIBS)
@@ -288,6 +339,7 @@
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bond.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cell.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/co_test.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/energy.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frame.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/general.Po@am__quote@
@@ -402,7 +454,7 @@
 check: check-am
 all-am: Makefile $(PROGRAMS)
 installdirs:
-	for dir in "$(DESTDIR)$(shdiscoverdir)" "$(DESTDIR)$(trisurfdir)"; do \
+	for dir in "$(DESTDIR)$(co_testdir)" "$(DESTDIR)$(shdiscoverdir)" "$(DESTDIR)$(trisurfdir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -437,8 +489,8 @@
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-generic clean-shdiscoverPROGRAMS clean-trisurfPROGRAMS \
-	mostlyclean-am
+clean-am: clean-co_testPROGRAMS clean-generic clean-shdiscoverPROGRAMS \
+	clean-trisurfPROGRAMS mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -458,7 +510,8 @@
 
 info-am:
 
-install-data-am: install-shdiscoverPROGRAMS install-trisurfPROGRAMS
+install-data-am: install-co_testPROGRAMS install-shdiscoverPROGRAMS \
+	install-trisurfPROGRAMS
 
 install-dvi: install-dvi-am
 
@@ -503,23 +556,25 @@
 
 ps-am:
 
-uninstall-am: uninstall-shdiscoverPROGRAMS uninstall-trisurfPROGRAMS
+uninstall-am: uninstall-co_testPROGRAMS uninstall-shdiscoverPROGRAMS \
+	uninstall-trisurfPROGRAMS
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-shdiscoverPROGRAMS clean-trisurfPROGRAMS ctags distclean \
-	distclean-compile distclean-generic distclean-tags distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-data install-data-am install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-man install-pdf \
-	install-pdf-am install-ps install-ps-am \
-	install-shdiscoverPROGRAMS install-strip \
+.PHONY: CTAGS GTAGS all all-am check check-am clean \
+	clean-co_testPROGRAMS clean-generic clean-shdiscoverPROGRAMS \
+	clean-trisurfPROGRAMS ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am \
+	install-co_testPROGRAMS install-data install-data-am \
+	install-dvi install-dvi-am install-exec install-exec-am \
+	install-html install-html-am install-info install-info-am \
+	install-man install-pdf install-pdf-am install-ps \
+	install-ps-am install-shdiscoverPROGRAMS install-strip \
 	install-trisurfPROGRAMS installcheck installcheck-am \
 	installdirs maintainer-clean maintainer-clean-generic \
 	mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
-	ps ps-am tags uninstall uninstall-am \
+	ps ps-am tags uninstall uninstall-am uninstall-co_testPROGRAMS \
 	uninstall-shdiscoverPROGRAMS uninstall-trisurfPROGRAMS
 
 
diff --git a/src/co_test.c b/src/co_test.c
new file mode 100644
index 0000000..cf08f6f
--- /dev/null
+++ b/src/co_test.c
@@ -0,0 +1,29 @@
+#include "general.h"
+#include "sh.h"
+#include "vesicle.h"
+#include "initial_distribution.h"
+
+int main(){
+ts_vesicle *vesicle=initial_distribution_dipyramid(4,60,60,60,0.15);
+//parsetape(vesicle,&i);
+
+//these four must come from parsetype!
+vesicle->dmax=1.67*1.67;
+vesicle->stepsize=0.15;
+vesicle->clist->max_occupancy=8;
+vesicle->bending_rigidity=25.0;
+fprintf(stderr,"xk=%f\n",vesicle->bending_rigidity);
+
+vesicle->sphHarmonics=sph_init(vesicle->vlist, 10);
+int i,j;
+for(i=0;i<vesicle->sphHarmonics->l;i++){
+    for(j=0;j<2*i+1;j++){
+    fprintf(stderr,"co(%d,%d)=%f\n",i,j,vesicle->sphHarmonics->co[i][j]);
+    }
+}
+
+
+sph_free(vesicle->sphHarmonics);
+//vesicle_free(vesicle);
+return 0;
+}
diff --git a/src/general.h b/src/general.h
index 0c1526b..1a90e97 100644
--- a/src/general.h
+++ b/src/general.h
@@ -215,7 +215,6 @@
 
 typedef struct {
     ts_uint l;
-    ts_uint i;
     ts_double **ulm;
     ts_double **co;
     ts_double ***Ylmi;
diff --git a/src/sh.c b/src/sh.c
index 7cbb04f..2d03105 100644
--- a/src/sh.c
+++ b/src/sh.c
@@ -9,11 +9,12 @@
     ts_uint j,i;
     ts_spharm *sph=(ts_spharm *)malloc(sizeof(ts_spharm));
 
+    
     /* lets initialize Ylm for each vertex. */
     sph->Ylmi=(ts_double ***)calloc(l,sizeof(ts_double **));
-    for(i=0;i<vlist->n;i++){
-            sph->Ylmi[i]=(ts_double **)calloc(2*l+1,sizeof(ts_double *));
-            for(j=0;j<l;j++){
+    for(i=0;i<l;i++){
+            sph->Ylmi[i]=(ts_double **)calloc(2*i+1,sizeof(ts_double *));
+            for(j=0;j<(2*i+1);j++){
                 sph->Ylmi[i][j]=(ts_double *)calloc(vlist->n,sizeof(ts_double));
             }
     }
@@ -30,10 +31,12 @@
     for(j=0;j<l;j++){
         sph->co[j]=(ts_double *)calloc(2*j+1,sizeof(ts_double));
     }
-   
-    /* Calculate coefficients that will remain constant during all the simulation */ 
-    precomputeShCoeff(sph);
 
+    sph->l=l;   
+
+    /* Calculate coefficients that will remain constant during all the simulation */ 
+   precomputeShCoeff(sph);
+    
     return sph;
 }
 
@@ -50,7 +53,7 @@
         if(sph->Ylmi!=NULL) {
             for(i=0;i<sph->l;i++){
                 if(sph->Ylmi[i]!=NULL){
-                    for(j=0;j<sph->l*2+1;j++){
+                    for(j=0;j<i*2+1;j++){
                         if(sph->Ylmi[i][j]!=NULL) free (sph->Ylmi[i][j]);
                     }
                     free(sph->Ylmi[i]);
diff --git a/src/sh.h b/src/sh.h
index e667b3e..5b8a10c 100644
--- a/src/sh.h
+++ b/src/sh.h
@@ -7,5 +7,7 @@
 
 
 ts_bool precomputeShCoeff(ts_spharm *sph);
+ts_spharm *sph_init(ts_vertex_list *vlist, ts_uint l);
+ts_bool sph_free(ts_spharm *sph);
 
 #endif
diff --git a/test/Makefile b/test/Makefile
index a4c9da0..ea2d565 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -35,6 +35,7 @@
 doxygentest_PROGRAMS = doxygentest$(EXEEXT)
 float3cmp_PROGRAMS = float3cmp$(EXEEXT)
 confusetest_PROGRAMS = confusetest$(EXEEXT)
+co_PROGRAMS = co$(EXEEXT)
 subdir = test
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -45,10 +46,14 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(confusetestdir)" \
+am__installdirs = "$(DESTDIR)$(codir)" "$(DESTDIR)$(confusetestdir)" \
 	"$(DESTDIR)$(doxygentestdir)" "$(DESTDIR)$(float3cmpdir)"
-PROGRAMS = $(confusetest_PROGRAMS) $(doxygentest_PROGRAMS) \
-	$(float3cmp_PROGRAMS)
+PROGRAMS = $(co_PROGRAMS) $(confusetest_PROGRAMS) \
+	$(doxygentest_PROGRAMS) $(float3cmp_PROGRAMS)
+am_co_OBJECTS = co.$(OBJEXT) sh.$(OBJEXT) general.$(OBJEXT) \
+	vesicle.$(OBJEXT)
+co_OBJECTS = $(am_co_OBJECTS)
+co_LDADD = $(LDADD)
 am_confusetest_OBJECTS = confusetest.$(OBJEXT)
 confusetest_OBJECTS = $(am_confusetest_OBJECTS)
 confusetest_LDADD = $(LDADD)
@@ -68,10 +73,10 @@
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(confusetest_SOURCES) $(doxygentest_SOURCES) \
+SOURCES = $(co_SOURCES) $(confusetest_SOURCES) $(doxygentest_SOURCES) \
 	$(float3cmp_SOURCES)
-DIST_SOURCES = $(confusetest_SOURCES) $(doxygentest_SOURCES) \
-	$(float3cmp_SOURCES)
+DIST_SOURCES = $(co_SOURCES) $(confusetest_SOURCES) \
+	$(doxygentest_SOURCES) $(float3cmp_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -164,10 +169,12 @@
 doxygentestdir = ../
 float3cmpdir = ../
 confusetestdir = ../
+codir = ../
 doxygentest_SOURCES = doxygentest.c
 float3cmp_SOURCES = float3cmp.c
 confusetest_SOURCES = confusetest.c
 confusetest_LDFLAGS = -lconfuse
+co_SOURCES = co.c ../src/sh.c ../src/general.c ../src/vesicle.c
 all: all-am
 
 .SUFFIXES:
@@ -202,6 +209,43 @@
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+install-coPROGRAMS: $(co_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(codir)" || $(MKDIR_P) "$(DESTDIR)$(codir)"
+	@list='$(co_PROGRAMS)'; test -n "$(codir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(codir)$$dir'"; \
+	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(codir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-coPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(co_PROGRAMS)'; test -n "$(codir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(codir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(codir)" && rm -f $$files
+
+clean-coPROGRAMS:
+	-test -z "$(co_PROGRAMS)" || rm -f $(co_PROGRAMS)
 install-confusetestPROGRAMS: $(confusetest_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(confusetestdir)" || $(MKDIR_P) "$(DESTDIR)$(confusetestdir)"
@@ -313,6 +357,9 @@
 
 clean-float3cmpPROGRAMS:
 	-test -z "$(float3cmp_PROGRAMS)" || rm -f $(float3cmp_PROGRAMS)
+co$(EXEEXT): $(co_OBJECTS) $(co_DEPENDENCIES) $(EXTRA_co_DEPENDENCIES) 
+	@rm -f co$(EXEEXT)
+	$(LINK) $(co_OBJECTS) $(co_LDADD) $(LIBS)
 confusetest$(EXEEXT): $(confusetest_OBJECTS) $(confusetest_DEPENDENCIES) $(EXTRA_confusetest_DEPENDENCIES) 
 	@rm -f confusetest$(EXEEXT)
 	$(confusetest_LINK) $(confusetest_OBJECTS) $(confusetest_LDADD) $(LIBS)
@@ -329,9 +376,13 @@
 distclean-compile:
 	-rm -f *.tab.c
 
+include ./$(DEPDIR)/co.Po
 include ./$(DEPDIR)/confusetest.Po
 include ./$(DEPDIR)/doxygentest.Po
 include ./$(DEPDIR)/float3cmp.Po
+include ./$(DEPDIR)/general.Po
+include ./$(DEPDIR)/sh.Po
+include ./$(DEPDIR)/vesicle.Po
 
 .c.o:
 	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -346,6 +397,48 @@
 #	source='$<' object='$@' libtool=no \
 #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
 #	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+sh.o: ../src/sh.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sh.o -MD -MP -MF $(DEPDIR)/sh.Tpo -c -o sh.o `test -f '../src/sh.c' || echo '$(srcdir)/'`../src/sh.c
+	$(am__mv) $(DEPDIR)/sh.Tpo $(DEPDIR)/sh.Po
+#	source='../src/sh.c' object='sh.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sh.o `test -f '../src/sh.c' || echo '$(srcdir)/'`../src/sh.c
+
+sh.obj: ../src/sh.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sh.obj -MD -MP -MF $(DEPDIR)/sh.Tpo -c -o sh.obj `if test -f '../src/sh.c'; then $(CYGPATH_W) '../src/sh.c'; else $(CYGPATH_W) '$(srcdir)/../src/sh.c'; fi`
+	$(am__mv) $(DEPDIR)/sh.Tpo $(DEPDIR)/sh.Po
+#	source='../src/sh.c' object='sh.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sh.obj `if test -f '../src/sh.c'; then $(CYGPATH_W) '../src/sh.c'; else $(CYGPATH_W) '$(srcdir)/../src/sh.c'; fi`
+
+general.o: ../src/general.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT general.o -MD -MP -MF $(DEPDIR)/general.Tpo -c -o general.o `test -f '../src/general.c' || echo '$(srcdir)/'`../src/general.c
+	$(am__mv) $(DEPDIR)/general.Tpo $(DEPDIR)/general.Po
+#	source='../src/general.c' object='general.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o general.o `test -f '../src/general.c' || echo '$(srcdir)/'`../src/general.c
+
+general.obj: ../src/general.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT general.obj -MD -MP -MF $(DEPDIR)/general.Tpo -c -o general.obj `if test -f '../src/general.c'; then $(CYGPATH_W) '../src/general.c'; else $(CYGPATH_W) '$(srcdir)/../src/general.c'; fi`
+	$(am__mv) $(DEPDIR)/general.Tpo $(DEPDIR)/general.Po
+#	source='../src/general.c' object='general.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o general.obj `if test -f '../src/general.c'; then $(CYGPATH_W) '../src/general.c'; else $(CYGPATH_W) '$(srcdir)/../src/general.c'; fi`
+
+vesicle.o: ../src/vesicle.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vesicle.o -MD -MP -MF $(DEPDIR)/vesicle.Tpo -c -o vesicle.o `test -f '../src/vesicle.c' || echo '$(srcdir)/'`../src/vesicle.c
+	$(am__mv) $(DEPDIR)/vesicle.Tpo $(DEPDIR)/vesicle.Po
+#	source='../src/vesicle.c' object='vesicle.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vesicle.o `test -f '../src/vesicle.c' || echo '$(srcdir)/'`../src/vesicle.c
+
+vesicle.obj: ../src/vesicle.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vesicle.obj -MD -MP -MF $(DEPDIR)/vesicle.Tpo -c -o vesicle.obj `if test -f '../src/vesicle.c'; then $(CYGPATH_W) '../src/vesicle.c'; else $(CYGPATH_W) '$(srcdir)/../src/vesicle.c'; fi`
+	$(am__mv) $(DEPDIR)/vesicle.Tpo $(DEPDIR)/vesicle.Po
+#	source='../src/vesicle.c' object='vesicle.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vesicle.obj `if test -f '../src/vesicle.c'; then $(CYGPATH_W) '../src/vesicle.c'; else $(CYGPATH_W) '$(srcdir)/../src/vesicle.c'; fi`
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -433,7 +526,7 @@
 check: check-am
 all-am: Makefile $(PROGRAMS)
 installdirs:
-	for dir in "$(DESTDIR)$(confusetestdir)" "$(DESTDIR)$(doxygentestdir)" "$(DESTDIR)$(float3cmpdir)"; do \
+	for dir in "$(DESTDIR)$(codir)" "$(DESTDIR)$(confusetestdir)" "$(DESTDIR)$(doxygentestdir)" "$(DESTDIR)$(float3cmpdir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -468,8 +561,9 @@
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-confusetestPROGRAMS clean-doxygentestPROGRAMS \
-	clean-float3cmpPROGRAMS clean-generic mostlyclean-am
+clean-am: clean-coPROGRAMS clean-confusetestPROGRAMS \
+	clean-doxygentestPROGRAMS clean-float3cmpPROGRAMS \
+	clean-generic mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -489,7 +583,7 @@
 
 info-am:
 
-install-data-am: install-confusetestPROGRAMS \
+install-data-am: install-coPROGRAMS install-confusetestPROGRAMS \
 	install-doxygentestPROGRAMS install-float3cmpPROGRAMS
 
 install-dvi: install-dvi-am
@@ -535,25 +629,26 @@
 
 ps-am:
 
-uninstall-am: uninstall-confusetestPROGRAMS \
+uninstall-am: uninstall-coPROGRAMS uninstall-confusetestPROGRAMS \
 	uninstall-doxygentestPROGRAMS uninstall-float3cmpPROGRAMS
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean \
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-coPROGRAMS \
 	clean-confusetestPROGRAMS clean-doxygentestPROGRAMS \
 	clean-float3cmpPROGRAMS clean-generic ctags distclean \
 	distclean-compile distclean-generic distclean-tags distdir dvi \
 	dvi-am html html-am info info-am install install-am \
-	install-confusetestPROGRAMS install-data install-data-am \
-	install-doxygentestPROGRAMS install-dvi install-dvi-am \
-	install-exec install-exec-am install-float3cmpPROGRAMS \
-	install-html install-html-am install-info install-info-am \
-	install-man install-pdf install-pdf-am install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
-	ps ps-am tags uninstall uninstall-am \
+	install-coPROGRAMS install-confusetestPROGRAMS install-data \
+	install-data-am install-doxygentestPROGRAMS install-dvi \
+	install-dvi-am install-exec install-exec-am \
+	install-float3cmpPROGRAMS install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-coPROGRAMS \
 	uninstall-confusetestPROGRAMS uninstall-doxygentestPROGRAMS \
 	uninstall-float3cmpPROGRAMS
 
diff --git a/test/Makefile.am b/test/Makefile.am
index 6d26359..7442980 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,6 +1,7 @@
 doxygentestdir=../
 float3cmpdir=../
 confusetestdir=../
+codir=../
 doxygentest_PROGRAMS=doxygentest 
 doxygentest_SOURCES=doxygentest.c
 float3cmp_PROGRAMS=float3cmp
@@ -8,3 +9,5 @@
 confusetest_PROGRAMS=confusetest
 confusetest_SOURCES=confusetest.c
 confusetest_LDFLAGS=-lconfuse
+co_PROGRAMS=co
+co_SOURCES=co.c ../src/sh.c ../src/general.c ../src/vesicle.c
diff --git a/test/Makefile.in b/test/Makefile.in
index dcb7c0a..2c88880 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -35,6 +35,7 @@
 doxygentest_PROGRAMS = doxygentest$(EXEEXT)
 float3cmp_PROGRAMS = float3cmp$(EXEEXT)
 confusetest_PROGRAMS = confusetest$(EXEEXT)
+co_PROGRAMS = co$(EXEEXT)
 subdir = test
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -45,10 +46,14 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(confusetestdir)" \
+am__installdirs = "$(DESTDIR)$(codir)" "$(DESTDIR)$(confusetestdir)" \
 	"$(DESTDIR)$(doxygentestdir)" "$(DESTDIR)$(float3cmpdir)"
-PROGRAMS = $(confusetest_PROGRAMS) $(doxygentest_PROGRAMS) \
-	$(float3cmp_PROGRAMS)
+PROGRAMS = $(co_PROGRAMS) $(confusetest_PROGRAMS) \
+	$(doxygentest_PROGRAMS) $(float3cmp_PROGRAMS)
+am_co_OBJECTS = co.$(OBJEXT) sh.$(OBJEXT) general.$(OBJEXT) \
+	vesicle.$(OBJEXT)
+co_OBJECTS = $(am_co_OBJECTS)
+co_LDADD = $(LDADD)
 am_confusetest_OBJECTS = confusetest.$(OBJEXT)
 confusetest_OBJECTS = $(am_confusetest_OBJECTS)
 confusetest_LDADD = $(LDADD)
@@ -68,10 +73,10 @@
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(confusetest_SOURCES) $(doxygentest_SOURCES) \
+SOURCES = $(co_SOURCES) $(confusetest_SOURCES) $(doxygentest_SOURCES) \
 	$(float3cmp_SOURCES)
-DIST_SOURCES = $(confusetest_SOURCES) $(doxygentest_SOURCES) \
-	$(float3cmp_SOURCES)
+DIST_SOURCES = $(co_SOURCES) $(confusetest_SOURCES) \
+	$(doxygentest_SOURCES) $(float3cmp_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -164,10 +169,12 @@
 doxygentestdir = ../
 float3cmpdir = ../
 confusetestdir = ../
+codir = ../
 doxygentest_SOURCES = doxygentest.c
 float3cmp_SOURCES = float3cmp.c
 confusetest_SOURCES = confusetest.c
 confusetest_LDFLAGS = -lconfuse
+co_SOURCES = co.c ../src/sh.c ../src/general.c ../src/vesicle.c
 all: all-am
 
 .SUFFIXES:
@@ -202,6 +209,43 @@
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+install-coPROGRAMS: $(co_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(codir)" || $(MKDIR_P) "$(DESTDIR)$(codir)"
+	@list='$(co_PROGRAMS)'; test -n "$(codir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	      echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(codir)$$dir'"; \
+	      $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(codir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-coPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(co_PROGRAMS)'; test -n "$(codir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(codir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(codir)" && rm -f $$files
+
+clean-coPROGRAMS:
+	-test -z "$(co_PROGRAMS)" || rm -f $(co_PROGRAMS)
 install-confusetestPROGRAMS: $(confusetest_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(confusetestdir)" || $(MKDIR_P) "$(DESTDIR)$(confusetestdir)"
@@ -313,6 +357,9 @@
 
 clean-float3cmpPROGRAMS:
 	-test -z "$(float3cmp_PROGRAMS)" || rm -f $(float3cmp_PROGRAMS)
+co$(EXEEXT): $(co_OBJECTS) $(co_DEPENDENCIES) $(EXTRA_co_DEPENDENCIES) 
+	@rm -f co$(EXEEXT)
+	$(LINK) $(co_OBJECTS) $(co_LDADD) $(LIBS)
 confusetest$(EXEEXT): $(confusetest_OBJECTS) $(confusetest_DEPENDENCIES) $(EXTRA_confusetest_DEPENDENCIES) 
 	@rm -f confusetest$(EXEEXT)
 	$(confusetest_LINK) $(confusetest_OBJECTS) $(confusetest_LDADD) $(LIBS)
@@ -329,9 +376,13 @@
 distclean-compile:
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/co.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/confusetest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/doxygentest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/float3cmp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/general.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vesicle.Po@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -346,6 +397,48 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+sh.o: ../src/sh.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sh.o -MD -MP -MF $(DEPDIR)/sh.Tpo -c -o sh.o `test -f '../src/sh.c' || echo '$(srcdir)/'`../src/sh.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/sh.Tpo $(DEPDIR)/sh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../src/sh.c' object='sh.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sh.o `test -f '../src/sh.c' || echo '$(srcdir)/'`../src/sh.c
+
+sh.obj: ../src/sh.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sh.obj -MD -MP -MF $(DEPDIR)/sh.Tpo -c -o sh.obj `if test -f '../src/sh.c'; then $(CYGPATH_W) '../src/sh.c'; else $(CYGPATH_W) '$(srcdir)/../src/sh.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/sh.Tpo $(DEPDIR)/sh.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../src/sh.c' object='sh.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sh.obj `if test -f '../src/sh.c'; then $(CYGPATH_W) '../src/sh.c'; else $(CYGPATH_W) '$(srcdir)/../src/sh.c'; fi`
+
+general.o: ../src/general.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT general.o -MD -MP -MF $(DEPDIR)/general.Tpo -c -o general.o `test -f '../src/general.c' || echo '$(srcdir)/'`../src/general.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/general.Tpo $(DEPDIR)/general.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../src/general.c' object='general.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o general.o `test -f '../src/general.c' || echo '$(srcdir)/'`../src/general.c
+
+general.obj: ../src/general.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT general.obj -MD -MP -MF $(DEPDIR)/general.Tpo -c -o general.obj `if test -f '../src/general.c'; then $(CYGPATH_W) '../src/general.c'; else $(CYGPATH_W) '$(srcdir)/../src/general.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/general.Tpo $(DEPDIR)/general.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../src/general.c' object='general.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o general.obj `if test -f '../src/general.c'; then $(CYGPATH_W) '../src/general.c'; else $(CYGPATH_W) '$(srcdir)/../src/general.c'; fi`
+
+vesicle.o: ../src/vesicle.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vesicle.o -MD -MP -MF $(DEPDIR)/vesicle.Tpo -c -o vesicle.o `test -f '../src/vesicle.c' || echo '$(srcdir)/'`../src/vesicle.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/vesicle.Tpo $(DEPDIR)/vesicle.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../src/vesicle.c' object='vesicle.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vesicle.o `test -f '../src/vesicle.c' || echo '$(srcdir)/'`../src/vesicle.c
+
+vesicle.obj: ../src/vesicle.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vesicle.obj -MD -MP -MF $(DEPDIR)/vesicle.Tpo -c -o vesicle.obj `if test -f '../src/vesicle.c'; then $(CYGPATH_W) '../src/vesicle.c'; else $(CYGPATH_W) '$(srcdir)/../src/vesicle.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/vesicle.Tpo $(DEPDIR)/vesicle.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='../src/vesicle.c' object='vesicle.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vesicle.obj `if test -f '../src/vesicle.c'; then $(CYGPATH_W) '../src/vesicle.c'; else $(CYGPATH_W) '$(srcdir)/../src/vesicle.c'; fi`
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -433,7 +526,7 @@
 check: check-am
 all-am: Makefile $(PROGRAMS)
 installdirs:
-	for dir in "$(DESTDIR)$(confusetestdir)" "$(DESTDIR)$(doxygentestdir)" "$(DESTDIR)$(float3cmpdir)"; do \
+	for dir in "$(DESTDIR)$(codir)" "$(DESTDIR)$(confusetestdir)" "$(DESTDIR)$(doxygentestdir)" "$(DESTDIR)$(float3cmpdir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -468,8 +561,9 @@
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-confusetestPROGRAMS clean-doxygentestPROGRAMS \
-	clean-float3cmpPROGRAMS clean-generic mostlyclean-am
+clean-am: clean-coPROGRAMS clean-confusetestPROGRAMS \
+	clean-doxygentestPROGRAMS clean-float3cmpPROGRAMS \
+	clean-generic mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -489,7 +583,7 @@
 
 info-am:
 
-install-data-am: install-confusetestPROGRAMS \
+install-data-am: install-coPROGRAMS install-confusetestPROGRAMS \
 	install-doxygentestPROGRAMS install-float3cmpPROGRAMS
 
 install-dvi: install-dvi-am
@@ -535,25 +629,26 @@
 
 ps-am:
 
-uninstall-am: uninstall-confusetestPROGRAMS \
+uninstall-am: uninstall-coPROGRAMS uninstall-confusetestPROGRAMS \
 	uninstall-doxygentestPROGRAMS uninstall-float3cmpPROGRAMS
 
 .MAKE: install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean \
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-coPROGRAMS \
 	clean-confusetestPROGRAMS clean-doxygentestPROGRAMS \
 	clean-float3cmpPROGRAMS clean-generic ctags distclean \
 	distclean-compile distclean-generic distclean-tags distdir dvi \
 	dvi-am html html-am info info-am install install-am \
-	install-confusetestPROGRAMS install-data install-data-am \
-	install-doxygentestPROGRAMS install-dvi install-dvi-am \
-	install-exec install-exec-am install-float3cmpPROGRAMS \
-	install-html install-html-am install-info install-info-am \
-	install-man install-pdf install-pdf-am install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
-	ps ps-am tags uninstall uninstall-am \
+	install-coPROGRAMS install-confusetestPROGRAMS install-data \
+	install-data-am install-doxygentestPROGRAMS install-dvi \
+	install-dvi-am install-exec install-exec-am \
+	install-float3cmpPROGRAMS install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-coPROGRAMS \
 	uninstall-confusetestPROGRAMS uninstall-doxygentestPROGRAMS \
 	uninstall-float3cmpPROGRAMS
 
diff --git a/test/co.for b/test/co.for
new file mode 100644
index 0000000..abce64d
--- /dev/null
+++ b/test/co.for
@@ -0,0 +1,28 @@
+        program cod
+        double precision  co(10,21),pi
+        integer lmax,l,al, am, m
+
+        pi=4.*datan(1.d0)
+
+        lmax=10
+        do 10 l=1,lmax
+            al=l
+            co(l,l+1)=dsqrt((2.*al+1.)/2./pi)
+            do 20 m=1,l-1
+                am=m
+                co(l,l+1+m)=co(l,l+m)*dsqrt(1.d0/(al-am+1)/(al+am))
+                co(l,l+1-m)=co(l,l+1+m)
+20          continue
+            co(l,2*l+1)=co(l,2*l)*dsqrt(1.d0/(2.*al))
+            co(l,1)=co(l,2*l+1)
+            co(l,l+1)=dsqrt((2.*al+1.)/4./pi)
+10      continue
+
+        do 30 l=1,lmax
+            do 40 m=1,2*l+1
+                print *, 'co(',l,',',m,')=',co(l,m)
+40          continue
+30      continue
+
+        end program cod
+

--
Gitblit v1.9.3