# HG changeset patch # User John D # Date 1470613136 14400 # Node ID fc1bee8ff2d4170faa44e1025faefd8cfddfdcce # Parent cc549d1865cb85ff3c78c6bf99c9814930ba0791 of-sparsersb: update to v1.0.1 * src/librsb.mk: update version, checksum to rc4. * src/of-sparsersb.mk: update version, checksum to 1.0.1 * src/librsb-1-nobzero.patch: remove patch * src/of-sparsersb-1-cross-build.patch: remove patch * src/of-sparsersb-1-fixes.patch: new patch * dist-files.mk: add of-sparsersb-1-fixes.patch * build_packages.m: update sparsersb version diff -r cc549d1865cb -r fc1bee8ff2d4 build_packages.m --- a/build_packages.m Fri Aug 05 21:24:58 2016 -0400 +++ b/build_packages.m Sun Aug 07 19:38:56 2016 -0400 @@ -70,7 +70,7 @@ try_install ocs-0.1.5.tar.gz try_install mapping-1.2.1.tar.gz try_install tisean-0.2.3.tar.gz - try_install sparsersb-1.0.0.tar.gz + try_install sparsersb-1.0.1.tar.gz try_install video-1.2.2.tar.gz try_install zeromq-1.2.1.tar.gz diff -r cc549d1865cb -r fc1bee8ff2d4 dist-files.mk --- a/dist-files.mk Fri Aug 05 21:24:58 2016 -0400 +++ b/dist-files.mk Sun Aug 07 19:38:56 2016 -0400 @@ -493,6 +493,7 @@ of-signal.mk \ of-sockets-1-cross-fixes.patch \ of-sockets.mk \ + of-sparsersb-1-fixes.patch \ of-sparsersb.mk \ of-specfun.mk \ of-splines.mk \ diff -r cc549d1865cb -r fc1bee8ff2d4 src/librsb-1-nobzero.patch --- a/src/librsb-1-nobzero.patch Fri Aug 05 21:24:58 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- librsb-1.2.0-rc2/rsb_sys.h.orig 2015-11-08 08:20:56.737959489 -0500 -+++ librsb-1.2.0-rc2/rsb_sys.h 2015-11-08 08:24:46.712072656 -0500 -@@ -204,6 +204,8 @@ - - #ifdef RSB_HAVE_BZERO - #define RSB_BZERO bzero /**< we have the chance of using a custom bzero function in this way */ -+#elif RSB_HAVE_MEMSET -+#define RSB_BZERO(a,b) memset(a,0,b) - #else /* RSB_HAVE_BZERO */ - #error "missing a definition of RSB_BZERO!" - #endif /* RSB_HAVE_BZERO */ diff -r cc549d1865cb -r fc1bee8ff2d4 src/librsb.mk --- a/src/librsb.mk Fri Aug 05 21:24:58 2016 -0400 +++ b/src/librsb.mk Sun Aug 07 19:38:56 2016 -0400 @@ -3,8 +3,8 @@ PKG := librsb $(PKG)_IGNORE := -$(PKG)_VERSION := 1.2.0-rc2 -$(PKG)_CHECKSUM := 7ec074260f7d8af5817bd01b9c522216aa96c3dc +$(PKG)_VERSION := 1.2.0-rc4 +$(PKG)_CHECKSUM := 677731a1c2a814f5ae6be85f085c9bdc249bf658 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz $(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$($(PKG)_FILE) diff -r cc549d1865cb -r fc1bee8ff2d4 src/of-sparsersb-1-cross-build.patch --- a/src/of-sparsersb-1-cross-build.patch Fri Aug 05 21:24:58 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,313 +0,0 @@ -diff -ur sparsersb-1.0.0.orig/src/autogen.sh sparsersb-1.0.0/src/autogen.sh ---- sparsersb-1.0.0.orig/src/autogen.sh 2015-11-10 06:07:55.812398937 -0500 -+++ sparsersb-1.0.0/src/autogen.sh 2015-11-22 18:40:12.413271177 -0500 -@@ -16,6 +16,9 @@ - if test x"\$LIBRSB_LIBS" = x ; then - LIBRSB_LIBS="\`\$LIBRSB_CONFIG --ldflags | sed 's/ -static/ /g'\` -lgomp" - fi -+if test x"\$SPARSERSB_LIBS" = x ; then -+ SPARSERSB_LIBS="\`\$LIBRSB_CONFIG --extra_libs\`" -+fi - AC_OPENMP([]) - ## - STATUS_MSG=" -diff -ur sparsersb-1.0.0.orig/src/configure sparsersb-1.0.0/src/configure ---- sparsersb-1.0.0.orig/src/configure 2015-11-10 06:07:55.806398985 -0500 -+++ sparsersb-1.0.0/src/configure 2015-11-22 18:41:23.740687962 -0500 -@@ -616,6 +616,7 @@ - mpath - subver - ver -+OCTAVE_CONFIG - MKOCTFILE - OBJEXT - EXEEXT -@@ -2689,6 +2690,45 @@ - - test -z "$MKOCTFILE" && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no mkoctfile found on path" >&5 - $as_echo "$as_me: WARNING: no mkoctfile found on path" >&2;} -+# Extract the first word of "octave-config", so it can be a program name with args. -+set dummy octave-config; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_OCTAVE_CONFIG+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$OCTAVE_CONFIG"; then -+ ac_cv_prog_OCTAVE_CONFIG="$OCTAVE_CONFIG" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_OCTAVE_CONFIG="octave-config" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+OCTAVE_CONFIG=$ac_cv_prog_OCTAVE_CONFIG -+if test -n "$OCTAVE_CONFIG"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCTAVE_CONFIG" >&5 -+$as_echo "$OCTAVE_CONFIG" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+test -z "$OCTAVE_CONFIG" && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no octave-config found on path" >&5 -+$as_echo "$as_me: WARNING: no octave-config found on path" >&2;} - - - -@@ -2840,15 +2880,17 @@ - # add -fPIC or equivalent flags - FPICFLAG=`$MKOCTFILE -p FPICFLAG` - CPICFLAG=`$MKOCTFILE -p CPICFLAG` -+ - FFLAGS="$FFLAGS $FPICFLAG" - CFLAGS="$CFLAGS $CPICFLAG" - - - - -+ - RSBOI_CXXFLAGS="" - if test x$RSBOI_VERBOSE_CONFIG != x ; then -- RSBOI_CXXFLAGS="$RSBOI_CXXFLAGS -D''RSBOI_VERBOSE_CONFIG=$RSBOI_VERBOSE_CONFIG"; -+ RSBOI_CXXFLAGS="$RSBOI_CXXFLAGS -DRSBOI_VERBOSE_CONFIG=$RSBOI_VERBOSE_CONFIG"; - fi - - F77=`$MKOCTFILE -p F77` -@@ -2858,6 +2900,7 @@ - - - -+ - CXX=`$MKOCTFILE -p CXX` - CXXFLAGS=`$MKOCTFILE -p CXXFLAGS` - CXXPICFLAG=`$MKOCTFILE -p CXXPICFLAG` -@@ -2967,6 +3010,11 @@ - - - -+ -+ -+ -+ -+ - # Extract the first word of "octave", so it can be a program name with args. - set dummy octave; ac_word=$2 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -@@ -3004,25 +3052,25 @@ - fi - - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OCTAVE_VERSION in Octave" >&5 --$as_echo_n "checking for OCTAVE_VERSION in Octave... " >&6; } --OCTAVE_VERSION=`echo "disp(OCTAVE_VERSION)" | $OCTAVE -qf` -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VERSION in octave-config" >&5 -+$as_echo_n "checking for VERSION in octave-config... " >&6; } -+OCTAVE_VERSION=`$OCTAVE_CONFIG -p VERSION` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCTAVE_VERSION" >&5 - $as_echo "$OCTAVE_VERSION" >&6; } - - - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for octave_config_info('canonical_host_type') in Octave" >&5 --$as_echo_n "checking for octave_config_info('canonical_host_type') in Octave... " >&6; } --canonical_host_type=`echo "disp(octave_config_info('canonical_host_type'))" | $OCTAVE -qf` -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CANONICAL_HOST_TYPE in octave-config" >&5 -+$as_echo_n "checking for CANONICAL_HOST_TYPE in octave-config... " >&6; } -+canonical_host_type=`$OCTAVE_CONFIG -p CANONICAL_HOST_TYPE` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $canonical_host_type" >&5 - $as_echo "$canonical_host_type" >&6; } - - - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for octave_config_info('SHLEXT') in Octave" >&5 --$as_echo_n "checking for octave_config_info('SHLEXT') in Octave... " >&6; } --SHLEXT=`echo "disp(octave_config_info('SHLEXT'))" | $OCTAVE -qf` -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SHLEXT in octave-config" >&5 -+$as_echo_n "checking for SHLEXT in octave-config... " >&6; } -+SHLEXT=`$OCTAVE_CONFIG -p SHLEXT` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHLEXT" >&5 - $as_echo "$SHLEXT" >&6; } - -@@ -3188,16 +3236,16 @@ - - - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for octave_config_info('AR') in Octave" >&5 --$as_echo_n "checking for octave_config_info('AR') in Octave... " >&6; } --AR=`echo "disp(octave_config_info('AR'))" | $OCTAVE -qf` -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AR in mkoctfile" >&5 -+$as_echo_n "checking for AR in mkoctfile... " >&6; } -+AR=`$MKOCTFILE -p AR` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 - $as_echo "$AR" >&6; } - - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for octave_config_info('ARFLAGS') in Octave" >&5 --$as_echo_n "checking for octave_config_info('ARFLAGS') in Octave... " >&6; } --ARFLAGS=`echo "disp(octave_config_info('ARFLAGS'))" | $OCTAVE -qf` -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ARFLAGS in mkoctfile" >&5 -+$as_echo_n "checking for ARFLAGS in mkoctfile... " >&6; } -+ARFLAGS=`$MKOCTFILE -p ARFLAGS` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ARFLAGS" >&5 - $as_echo "$ARFLAGS" >&6; } - -@@ -3325,7 +3373,9 @@ - CXXFLAGS: $CXXFLAGS - octave: $OCTAVE (version $OCTAVE_VERSION) - mkoctfile: $MKOCTFILE for Octave $subver -+ octave-config: $OCTAVE_CONFIG for Octave $subver - swig: $SWIG" -+ - # Extract the first word of "librsb-config", so it can be a program name with args. - set dummy librsb-config; ac_word=$2 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -@@ -3372,6 +3422,9 @@ - if test x"$LIBRSB_LIBS" = x ; then - LIBRSB_LIBS="`$LIBRSB_CONFIG --ldflags | sed 's/ -static/ /g'` -lgomp" - fi -+if test x"$SPARSERSB_LIBS" = x ; then -+ SPARSERSB_LIBS="`$LIBRSB_CONFIG --extra_libs`" -+fi - - OPENMP_CFLAGS= - # Check whether --enable-openmp was given. -diff -ur sparsersb-1.0.0.orig/src/configure.base sparsersb-1.0.0/src/configure.base ---- sparsersb-1.0.0.orig/src/configure.base 2015-11-10 06:07:55.808398969 -0500 -+++ sparsersb-1.0.0/src/configure.base 2015-11-22 18:40:51.666950216 -0500 -@@ -54,6 +54,8 @@ - dnl Check for mkoctfile - AC_CHECK_PROG(MKOCTFILE,mkoctfile,mkoctfile) - test -z "$MKOCTFILE" && AC_MSG_WARN([no mkoctfile found on path]) -+AC_CHECK_PROG(OCTAVE_CONFIG,octave-config,octave-config) -+test -z "$OCTAVE_CONFIG" && AC_MSG_WARN([no octave-config found on path]) - - AC_SUBST(ver) - AC_SUBST(subver) -@@ -193,21 +195,24 @@ - # add -fPIC or equivalent flags - FPICFLAG=`$MKOCTFILE -p FPICFLAG` - CPICFLAG=`$MKOCTFILE -p CPICFLAG` -+ - FFLAGS="$FFLAGS $FPICFLAG" - CFLAGS="$CFLAGS $CPICFLAG" - AC_SUBST(CC) - AC_SUBST(CFLAGS) - AC_SUBST(CPPFLAGS) - AC_SUBST(CPICFLAG) -+ - RSBOI_CXXFLAGS="" - if test x$RSBOI_VERBOSE_CONFIG != x ; then -- RSBOI_CXXFLAGS="$RSBOI_CXXFLAGS -D''RSBOI_VERBOSE_CONFIG=$RSBOI_VERBOSE_CONFIG"; -+ RSBOI_CXXFLAGS="$RSBOI_CXXFLAGS -DRSBOI_VERBOSE_CONFIG=$RSBOI_VERBOSE_CONFIG"; - fi - - dnl Fortran compiler and flags - F77=`$MKOCTFILE -p F77` - FFLAGS=`$MKOCTFILE -p FFLAGS` - FPICFLAG=`$MKOCTFILE -p FPICFLAG` -+ - AC_SUBST(F77) - AC_SUBST(FFLAGS) - AC_SUBST(FPICFLAG) -@@ -304,6 +309,24 @@ - AC_SUBST($2) - ]) - -+dnl Use octave-config to get an octave setting -+dnl and set as an variable -+dnl -+AC_DEFUN(OCTAVE_CONFIG_EVAL, -+[AC_MSG_CHECKING([for $1 in octave-config]) -+$2=`$OCTAVE_CONFIG -p $1` -+AC_MSG_RESULT($$2) -+AC_SUBST($2) -+]) -+ -+AC_DEFUN(MKOCTFILE_EVAL, -+[AC_MSG_CHECKING([for $1 in mkoctfile]) -+$2=`$MKOCTFILE -p $1` -+AC_MSG_RESULT($$2) -+AC_SUBST($2) -+]) -+ -+ - dnl Check status of an octave variable - dnl - dnl OCTAVE_CHECK_EXIST(variable,action_if_true,action_if_false) -@@ -321,13 +344,16 @@ - - dnl should check that $(OCTAVE) --version matches $(MKOCTFILE) --version - AC_CHECK_PROG(OCTAVE,octave,octave) --OCTAVE_EVAL(OCTAVE_VERSION,OCTAVE_VERSION) -+dnl OCTAVE_EVAL(OCTAVE_VERSION,OCTAVE_VERSION) -+OCTAVE_CONFIG_EVAL(VERSION,OCTAVE_VERSION) - - dnl grab canonical host type so we can write system specific install stuff --OCTAVE_EVAL(octave_config_info('canonical_host_type'),canonical_host_type) -+dnl OCTAVE_EVAL(octave_config_info('canonical_host_type'),canonical_host_type) -+OCTAVE_CONFIG_EVAL(CANONICAL_HOST_TYPE,canonical_host_type) - - dnl grab SHLEXT from octave config --OCTAVE_EVAL(octave_config_info('SHLEXT'),SHLEXT) -+dnl OCTAVE_EVAL(octave_config_info('SHLEXT'),SHLEXT) -+OCTAVE_CONFIG_EVAL(SHLEXT,SHLEXT) - - AC_PROG_LN_S - -@@ -346,8 +372,10 @@ - OF_CHECK_LIB(m,sin,[OTHERLIBS=-lm]) - AC_SUBST(OTHERLIBS) - --OCTAVE_EVAL(octave_config_info('AR'),AR) --OCTAVE_EVAL(octave_config_info('ARFLAGS'),ARFLAGS) -+dnl OCTAVE_EVAL(octave_config_info('AR'),AR) -+dnl OCTAVE_EVAL(octave_config_info('ARFLAGS'),ARFLAGS) -+MKOCTFILE_EVAL(AR,AR) -+MKOCTFILE_EVAL(ARFLAGS,ARFLAGS) - - CPPFLAGS="$CPPFLAGS -DSTATIC_LINKED" - -@@ -402,4 +430,6 @@ - CXXFLAGS: $CXXFLAGS - octave: $OCTAVE (version $OCTAVE_VERSION) - mkoctfile: $MKOCTFILE for Octave $subver -+ octave-config: $OCTAVE_CONFIG for Octave $subver - swig: $SWIG" -+ -diff -ur sparsersb-1.0.0.orig/src/Makeconf.in sparsersb-1.0.0/src/Makeconf.in ---- sparsersb-1.0.0.orig/src/Makeconf.in 2015-11-10 06:07:55.808398969 -0500 -+++ sparsersb-1.0.0/src/Makeconf.in 2015-11-10 06:19:13.844014051 -0500 -@@ -61,6 +61,7 @@ - OCTAVE = @OCTAVE@ - OCTAVE_VERSION = @OCTAVE_VERSION@ - MKOCTFILE = @MKOCTFILE@ -DHAVE_OCTAVE_$(ver) -v -+OCTAVE_CONFIG = @OCTAVE_CONFIG@ - SHLEXT = @SHLEXT@ - - ver = @ver@ -diff -ur sparsersb-1.0.0.orig/src/Makefile sparsersb-1.0.0/src/Makefile ---- sparsersb-1.0.0.orig/src/Makefile 2015-11-10 06:07:55.811398945 -0500 -+++ sparsersb-1.0.0/src/Makefile 2015-11-10 06:21:58.401707659 -0500 -@@ -23,7 +23,7 @@ - #LIBRSB_LIBS=$(RSBLIBDIR)/librsb.a - - $(SPARSERSB_OCT): sparsersb.cc -- CXXFLAGS="$(CXXFLAGS)" $(MKOCTFILE) -D''RSB_SPARSERSB_LABEL=sparsersb $(RSBOI_CXXFLAGS) $(LIBRSB_CXXFLAGS) -o $@ $< $(LIBRSB_LIBS) $(SPARSERSB_LIBS) -+ CXXFLAGS="$(CXXFLAGS)" $(MKOCTFILE) -D'RSB_SPARSERSB_LABEL=sparsersb' $(RSBOI_CXXFLAGS) $(LIBRSB_CXXFLAGS) -o $@ $< $(LIBRSB_LIBS) $(SPARSERSB_LIBS) - - rtest: $(SPARSERSB_OCT) - $(OCTAVE) --silent ../inst/sparsersbtester.m diff -r cc549d1865cb -r fc1bee8ff2d4 src/of-sparsersb-1-fixes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/of-sparsersb-1-fixes.patch Sun Aug 07 19:38:56 2016 -0400 @@ -0,0 +1,339 @@ +diff -ur sparsersb-1.0.1.orig/src/sparsersb.cc sparsersb-1.0.1/src/sparsersb.cc +--- sparsersb-1.0.1.orig/src/sparsersb.cc 2016-08-07 18:22:30.539481175 -0400 ++++ sparsersb-1.0.1/src/sparsersb.cc 2016-08-07 19:29:31.945709584 -0400 +@@ -1239,7 +1239,7 @@ + + private: + public: +- DECLARE_OCTAVE_ALLOCATOR ++// DECLARE_OCTAVE_ALLOCATOR + DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA + };/* end of class octave_sparsersb_mtx definition */ + +@@ -1256,7 +1256,8 @@ + static octave_base_value * default_numeric_conversion_function (const octave_base_value& a) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_CONV_ARG (const octave_sparsersb_mtx&); ++ //CAST_CONV_ARG (const octave_sparsersb_mtx&); ++ const octave_sparsersb_mtx &v = dynamic_cast (a) + RSBOI_WARN(RSBOI_O_MISSIMPERRMSG); + RSBOI_WARN(RSBOI_0_UNFFEMSG); + if(v.is_real_type()) +@@ -1274,7 +1275,8 @@ + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + RSBOI_WARN(RSBOI_O_MISSIMPERRMSG); +- CAST_CONV_ARG (const octave_sparsersb_mtx &); ++ //CAST_CONV_ARG (const octave_sparsersb_mtx &); ++ const octave_sparsersb_mtx &v = dynamic_cast (a); + return new octave_sparse_matrix (v.matrix_value ()); + } + +@@ -1292,7 +1294,8 @@ + { + RSBOI_WARN(RSBOI_O_MISSIMPERRMSG); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_UNOP_ARG (const octave_sparsersb_mtx&); ++ // CAST_UNOP_ARG (const octave_sparsersb_mtx&); ++ const octave_sparsersb_mtx& v = dynamic_cast (a); + return new octave_sparsersb_mtx (v); + } + +@@ -1330,21 +1333,24 @@ + { + RSBOI_WARN(RSBOI_O_MISSIMPERRMSG); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_UNOP_ARG (const octave_sparsersb_mtx&); ++ //CAST_UNOP_ARG (const octave_sparsersb_mtx&); ++ const octave_sparsersb_mtx& v = dynamic_cast (a); + return v.cp_ubop(RSB_ELOPF_NEG); + } + + DEFUNOP (transpose, sparse_rsb_mtx) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_UNOP_ARG (const octave_sparsersb_mtx&); ++ //CAST_UNOP_ARG (const octave_sparsersb_mtx&); ++ const octave_sparsersb_mtx& v = dynamic_cast (a); + return v.rsboi_get_scaled_copy(rsboi_pone[0],RSB_TRANSPOSITION_T); + } + + DEFUNOP (htranspose, sparse_rsb_mtx) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_UNOP_ARG (const octave_sparsersb_mtx&); ++ //CAST_UNOP_ARG (const octave_sparsersb_mtx&); ++ const octave_sparsersb_mtx& v = dynamic_cast (a); + return v.rsboi_get_scaled_copy(rsboi_pone[0],RSB_TRANSPOSITION_C); + } + +@@ -1454,7 +1460,9 @@ + DEFBINOP(ldiv, sparse_rsb_mtx, matrix) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_matrix&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_matrix&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_matrix& v2 = dynamic_cast (a2); + + if(v1.is__triangular()) + return rsboi_spsm(v1,v2,RSB_TRANSPOSITION_N); +@@ -1469,7 +1477,9 @@ + DEFBINOP(trans_ldiv, sparse_rsb_mtx, matrix) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_matrix&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_matrix&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_matrix& v2 = dynamic_cast (a2); + + if(v1.is__triangular()) + return rsboi_spsm(v1,v2,RSB_TRANSPOSITION_T); +@@ -1485,7 +1495,9 @@ + DEFBINOP(c_ldiv, sparse_rsb_mtx, matrix) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_complex_matrix&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_complex_matrix&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_complex_matrix& v2 = dynamic_cast (a2); + + if(v1.is__triangular()) + return rsboi_spsm(v1,v2,RSB_TRANSPOSITION_N); +@@ -1500,7 +1512,9 @@ + DEFBINOP(trans_c_ldiv, sparse_rsb_mtx, matrix) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_complex_matrix&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_complex_matrix&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_complex_matrix& v2 = dynamic_cast (a2); + if(v1.is__triangular()) + return rsboi_spsm(v1,v2,RSB_TRANSPOSITION_T); + +@@ -1539,7 +1553,9 @@ + #if RSBOI_WANT_DOUBLE_COMPLEX + DEFBINOP(rsb_c_div, sparse_rsb_mtx, complex) + { +- CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_complex&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_complex&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_complex& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + return v1.rsboi_get_scaled_copy_inv(v2.complex_value()); + } +@@ -1547,14 +1563,18 @@ + + DEFBINOP(rsb_s_div, sparse_rsb_mtx, scalar) + { +- CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_scalar& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + return v1.rsboi_get_scaled_copy_inv(v2.scalar_value()); + } + + DEFBINOP(rsb_s_mul, sparse_rsb_mtx, scalar) + { +- CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_scalar& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + return v1.rsboi_get_scaled_copy(v2.scalar_value()); + } +@@ -1562,7 +1582,9 @@ + #if RSBOI_WANT_DOUBLE_COMPLEX + DEFBINOP(rsb_c_mul, sparse_rsb_mtx, complex) + { +- CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_complex&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_complex&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_complex& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + return v1.rsboi_get_scaled_copy(v2.complex_value()); + } +@@ -1581,7 +1603,9 @@ + { + rsb_err_t errval = RSB_ERR_NO_ERROR; + RSBOI_FIXME("I dunno how to trigger this!"); +- CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_sparsersb_mtx&); ++ //CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_sparsersb_mtx&); ++ octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_sparsersb_mtx& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + //rsb_assign(v1.mtxAp, v2.mtxAp); + errval = rsb_mtx_clone(&v1.mtxAp,RSB_NUMERICAL_TYPE_SAME_TYPE,RSB_TRANSPOSITION_N,NULL,v2.mtxAp,RSBOI_EXPF); +@@ -1590,7 +1614,9 @@ + + DEFASSIGNOP (assignm, sparse_rsb_mtx, matrix) + { +- CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_matrix&); ++ //CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_matrix&); ++ octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_matrix& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + RSBOI_DESTROY(v1.mtxAp); + octave_value retval; +@@ -1666,7 +1692,9 @@ + + DEFBINOP(rsb_el_mul_s, sparse_rsb_mtx, scalar) + { +- CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_scalar& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + return v1.rsboi_get_scaled_copy(v2.scalar_value()); + } +@@ -1674,7 +1702,9 @@ + #if RSBOI_WANT_DOUBLE_COMPLEX + DEFBINOP(rsb_el_mul_c, sparse_rsb_mtx, complex) + { +- CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_complex&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_complex&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_complex& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + return v1.rsboi_get_scaled_copy(v2.complex_value()); + } +@@ -1682,7 +1712,9 @@ + + DEFBINOP(rsb_el_div_s, sparse_rsb_mtx, scalar) + { +- CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_scalar& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + return v1.rsboi_get_scaled_copy_inv(v2.scalar_value()); + } +@@ -1690,7 +1722,9 @@ + #if RSBOI_WANT_DOUBLE_COMPLEX + DEFBINOP(rsb_el_div_c, sparse_rsb_mtx, complex) + { +- CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_complex&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_complex&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_complex& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + return v1.rsboi_get_scaled_copy_inv(v2.complex_value()); + } +@@ -1710,21 +1744,27 @@ + DEFASSIGNOP(rsb_op_el_mul_eq_sc, sparse_rsb_mtx, matrix) + { + rsb_err_t errval = RSB_ERR_NO_ERROR; +- CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_matrix&); ++ //CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_matrix&); ++ octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_matrix& v2 = dynamic_cast (a2); + return v1.scale_rows(v2,false); + } + + DEFASSIGNOP(rsb_op_el_div_eq_sc, sparse_rsb_mtx, matrix) + { + rsb_err_t errval = RSB_ERR_NO_ERROR; +- CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_matrix&); ++ //CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_matrix&); ++ octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_matrix& v2 = dynamic_cast (a2); + return v1.scale_rows(v2,true); + } + #endif /* RSBOI_WANT_DOUBLE_COMPLEX */ + + DEFBINOP(el_pow, sparse_rsb_mtx, scalar) + { +- CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx &, const octave_scalar&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_scalar& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + RSBOI_T alpha=v2.scalar_value(); + return v1.cp_ubop(RSB_ELOPF_POW,&alpha); +@@ -1733,7 +1773,9 @@ + #ifdef RSB_FULLY_IMPLEMENTED + DEFASSIGNOP (assigns, sparse_rsb_mtx, scalar) + { +- CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_scalar&); ++ //CAST_BINOP_ARGS (octave_sparsersb_mtx &, const octave_scalar&); ++ octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_scalar& v2 = dynamic_cast (a2); + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); + v1.assign(idx, v2.matrix_value()); + RSBOI_WARN(RSBOI_O_MISSIMPERRMSG); +@@ -1744,28 +1786,36 @@ + DEFBINOP(op_sub, sparse_rsb_mtx, sparse_rsb_mtx) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_sparsersb_mtx&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_sparsersb_mtx&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_sparsersb_mtx& v2 = dynamic_cast (a2); + return v1.rsboi_sppsp(&rsboi_mone[0],v2); + } + + DEFBINOP(op_add, sparse_rsb_mtx, sparse_rsb_mtx) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_sparsersb_mtx&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_sparsersb_mtx&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_sparsersb_mtx& v2 = dynamic_cast (a2); + return v1.rsboi_sppsp(&rsboi_pone[0],v2); + } + + DEFBINOP(op_spmul, sparse_rsb_mtx, sparse_rsb_mtx) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_sparsersb_mtx&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_sparsersb_mtx&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_sparsersb_mtx& v2 = dynamic_cast (a2); + return v1.rsboi_spmsp(v2); + } + + DEFBINOP(op_mul, sparse_rsb_mtx, matrix) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_matrix&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_matrix&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_matrix& v2 = dynamic_cast (a2); + return v1.rsboi_spmm(v2, false); + } + +@@ -1773,7 +1823,9 @@ + { + // ".'*" operator + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_matrix&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_matrix&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_matrix& v2 = dynamic_cast (a2); + return v1.rsboi_spmm(v2, true); + } + +@@ -1781,14 +1833,18 @@ + DEFBINOP(op_c_mul, sparse_rsb_mtx, matrix) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_complex_matrix&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_complex_matrix&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_complex_matrix& v2 = dynamic_cast (a2); + return v1.rsboi_spmm(v2, false); + } + + DEFBINOP(op_c_trans_mul, sparse_rsb_mtx, matrix) + { + RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); +- CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_complex_matrix&); ++ //CAST_BINOP_ARGS (const octave_sparsersb_mtx&, const octave_complex_matrix&); ++ const octave_sparsersb_mtx& v1 = dynamic_cast (a1); ++ const octave_complex_matrix& v2 = dynamic_cast (a2); + return v1.rsboi_spmm(v2, true); + } + #endif /* RSBOI_WANT_DOUBLE_COMPLEX */ +Only in sparsersb-1.0.1/src: .sparsersb.cc.swp diff -r cc549d1865cb -r fc1bee8ff2d4 src/of-sparsersb.mk --- a/src/of-sparsersb.mk Fri Aug 05 21:24:58 2016 -0400 +++ b/src/of-sparsersb.mk Sun Aug 07 19:38:56 2016 -0400 @@ -3,8 +3,8 @@ PKG := of-sparsersb $(PKG)_IGNORE := -$(PKG)_VERSION := 1.0.0 -$(PKG)_CHECKSUM := +$(PKG)_VERSION := 1.0.1 +$(PKG)_CHECKSUM := 49bfbd55d3fbbf264dba6d96b117492b20b6978d $(PKG)_REMOTE_SUBDIR := $(PKG)_SUBDIR := sparsersb-$($(PKG)_VERSION) $(PKG)_FILE := sparsersb-$($(PKG)_VERSION).tar.gz