Mercurial > octave-dspies
view libinterp/dldfcn/config-module.awk @ 19010:3fb030666878 draft default tip dspies
Added special-case logical-indexing function
* logical-index.h (New file) : Logical-indexing function. May be called on
octave_value types via call_bool_index
* nz-iterators.h : Add base-class nz_iterator for iterator types. Array has
template bool for whether to internally store row-col or compute on the fly
Add skip_ahead method which skips forward to the next nonzero after its
argument
Add flat_index for computing octave_idx_type index of current position (with
assertion failure in the case of overflow)
Move is_zero to separate file
* ov-base-diag.cc, ov-base-mat.cc, ov-base-sparse.cc, ov-perm.cc
(do_index_op): Add call to call_bool_index in logical-index.h
* Array.h : Move forward-declaration for array_iterator to separate header file
* dim-vector.cc (dim_max): Refers to idx-bounds.h (max_idx)
* array-iter-decl.h (New file): Header file for forward declaration of
array-iterator
* direction.h : Add constants fdirc and bdirc to avoid having to reconstruct
them
* dv-utils.h, dv-utils.cc (New files) :
Utility functions for querying and constructing dim-vectors
* idx-bounds.h (New file) :
Utility constants and functions for determining whether things will overflow
the maximum allowed bounds
* interp-idx.h (New function : to_flat_idx) : Converts row-col pair to linear
index of octave_idx_type
* is-zero.h (New file) : Function for determining whether an element is zero
* logical-index.tst : Add tests for correct return-value dimensions and large
sparse matrix behavior
author | David Spies <dnspies@gmail.com> |
---|---|
date | Fri, 25 Jul 2014 13:39:31 -0600 |
parents | 501cb6a90f0f |
children |
line wrap: on
line source
BEGIN { FS = "|"; nfiles = 0; print "## DO NOT EDIT -- generated from module-files by config-module.awk"; print "" print "EXTRA_DIST += \\" print " dldfcn/config-module.sh \\" print " dldfcn/config-module.awk \\" print " dldfcn/module-files \\" print " dldfcn/oct-qhull.h" print "" } /^#.*/ { next; } { nfiles++; files[nfiles] = $1; cppflags[nfiles] = $2; ldflags[nfiles] = $3; libraries[nfiles] = $4; } END { sep = " \\\n"; print "DLDFCN_SRC = \\"; for (i = 1; i <= nfiles; i++) { if (i == nfiles) sep = "\n"; printf (" dldfcn/%s%s", files[i], sep); } print ""; sep = " \\\n"; print "DLDFCN_LIBS = $(DLDFCN_SRC:.cc=.la)"; print ""; print "if AMCOND_ENABLE_DYNAMIC_LINKING"; print ""; print "octlib_LTLIBRARIES += $(DLDFCN_LIBS)"; print ""; print "## Use stamp files to avoid problems with checking timestamps"; print "## of symbolic links"; print ""; for (i = 1; i <= nfiles; i++) { basename = files[i]; sub (/\.cc$/, "", basename); printf ("dldfcn/$(am__leading_dot)%s.oct-stamp: dldfcn/%s.la\n", basename, basename); print "\trm -f $(<:.la=.oct)"; print "\tla=$(<F) && \\"; print "\t of=$(<F:.la=.oct) && \\"; print "\t cd dldfcn && \\"; print "\t $(LN_S) .libs/`$(SED) -n -e \"s/dlname='\\([^']*\\)'/\\1/p\" < $$la` $$of && \\"; print "\t touch $(@F)"; print ""; } print "else"; print ""; print "noinst_LTLIBRARIES += $(DLDFCN_LIBS)"; print ""; print "endif"; for (i = 1; i <= nfiles; i++) { basename = files[i]; sub (/\.cc$/, "", basename); print ""; printf ("dldfcn_%s_la_SOURCES = dldfcn/%s\n", basename, files[i]); if (cppflags[i]) { printf ("dldfcn/%s.df: CPPFLAGS += %s\n", basename, cppflags[i]); printf ("dldfcn_%s_la_CPPFLAGS = %s $(AM_CPPFLAGS)\n", basename, cppflags[i]); } printf ("dldfcn_%s_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED_LDFLAG) %s $(OCT_LINK_OPTS)\n", basename, ldflags[i]); printf ("dldfcn_%s_la_LIBADD = $(DLD_LIBOCTINTERP_LIBADD) ../liboctave/liboctave.la %s $(OCT_LINK_DEPS)\n", basename, libraries[i]); } }