Mercurial > octave
view test/Makefile.am @ 31107:bbb59cc6698c stable
factor.m: Performance tweak to avoid division in certain cases
factor.m: For large numbers where only one factor lies outside the fast
first round of divisions, check if it is prime before calling primes ()
trying to factorize it. This is up to 8000X faster for such numbers,
and for an "average" input it gives a 22% to 40% speedup over a large
number of trials.
author | Arun Giridhar <arungiridhar@gmail.com> |
---|---|
date | Sat, 25 Jun 2022 16:40:36 -0400 |
parents | 30e2a7ca6729 |
children | f125ddb46055 |
line wrap: on
line source
BUILT_SOURCES = DIRSTAMP_FILES = EXTRA_DIST = CLEANFILES = DISTCLEANFILES = MAINTAINERCLEANFILES = TEST_FILES = noinst_TEST_FILES = octave_dirstamp = $(am__leading_dot)octave-dirstamp DIRSTAMP_FILES += $(octave_dirstamp) $(DIRSTAMP_FILES): $(AM_V_GEN)$(MKDIR_P) $(@D) && \ : > $@ TEST_FILES += \ fntests.m \ args.tst \ bug-31371.tst \ bug-40117.tst \ bug-45969.tst \ bug-45972.tst \ bug-46330.tst \ bug-49904.tst \ bug-53579.tst \ bug-53599.tst \ bug-54490.tst \ bug-55308.tst \ bug-55321.tst \ bug-55322.tst \ bug-59950.tst \ bug-61201.tst \ colormaps.tst \ command.tst \ complex.tst \ deprecate-props.tst \ diag-perm.tst \ error.tst \ eval-catch.tst \ eval-command.tst \ for.tst \ func.tst \ global.tst \ if.tst \ index.tst \ inline-fcn.tst \ integer.tst \ io.tst \ leftdiv.tst \ line-continue.tst \ logical-index.tst \ null-assign.tst \ parser.tst \ prefer.tst \ range.tst \ recursion.tst \ return.tst \ single-index.tst \ slice.tst \ sparse-assign.tst \ struct.tst \ switch.tst \ system.tst \ transpose.tst \ try.tst \ unwind.tst \ while.tst include bug-35448/module.mk include bug-35881/module.mk include bug-36025/module.mk include bug-38236/module.mk include bug-38691/module.mk include bug-41723/module.mk include bug-44940/module.mk include bug-45351/module.mk include bug-46660/module.mk include bug-47680/module.mk include bug-49379/module.mk include bug-50014/module.mk include bug-50035/module.mk include bug-50716/module.mk include bug-50831/module.mk include bug-51192/module.mk include bug-51532/module.mk include bug-51534/module.mk include bug-51599/module.mk include bug-52075/module.mk include bug-52722/module.mk include bug-52851/module.mk include bug-53027/module.mk include bug-53468/module.mk include bug-53956/module.mk include bug-54995/module.mk include bug-55758/module.mk include bug-56068/module.mk include bug-58572/module.mk include bug-58593/module.mk include bug-59451/module.mk include bug-59617/module.mk include bug-59661/module.mk include bug-59704/module.mk include bug-59937/module.mk include bug-60237/module.mk include bug-60882/module.mk include bug-61105/module.mk include bug-61191/module.mk include class-concat/module.mk include classdef/module.mk include classdef-multiple-inheritance/module.mk include classes/module.mk include colon-op/module.mk include ctor-vs-method/module.mk include fcn-handle/module.mk include json/module.mk include jupyter-notebook/module.mk include local-functions/module.mk include mex/module.mk include nest/module.mk include private-functions/module.mk include publish/module.mk include pkg/module.mk define run-octave-tests ( $(SHELL) ../run-octave $(RUN_OCTAVE_OPTIONS) $(1) --no-init-file --silent --no-history -p $(abs_top_builddir)/test/mex $(abs_top_srcdir)/test/fntests.m $(abs_top_srcdir)/test ) && \ if $(AM_V_P); then \ echo ""; \ if [ -f fntests.log ]; then \ echo "Contents of test/fntests.log:"; \ echo ""; \ $(AWK) -f $(srcdir)/show-failures.awk fntests.log; \ else \ echo "fntests.log is missing!"; \ fi; \ fi endef check-local: $(GENERATED_TEST_FILES) $(MEX_TEST_FUNCTIONS) | $(OCTAVE_INTERPRETER_TARGETS) $(octave_dirstamp) $(AM_V_at)$(call run-octave-tests) COVERAGE_DIR = coverage COVERAGE_INFO = $(COVERAGE_DIR)/$(PACKAGE).info ## FIXME: To get something useful out of 'make coverage', you should use gcc ## and configure with compiler flags set to '-g --coverage'. Adding the ## --coverage option to either WARN_CXXFLAGS or XTRA_CXXFLAGS resulted in ## link errors, so some work still needed to get a '--enable-coverage-flags' ## option working. coverage: all lcov --directory . --zerocounters $(MAKE) $(AM_MAKEFLAGS) check $(MKDIR_P) $(COVERAGE_DIR) lcov --directory . --capture --output-file $(COVERAGE_INFO) genhtml --output-directory $(COVERAGE_DIR) $(COVERAGE_INFO) @echo "" @echo "Code coverage report successfully built. Open the file" @echo "" @echo " $(abs_top_builddir)/$(COVERAGE_DIR)/index.html" @echo "" @echo "in a web browser to view the results." @echo "" .PHONY: coverage conv.tst: mk-conv-tst.sh | $(octave_dirstamp) $(AM_V_GEN)rm -f $@-t $@ && \ $(SHELL) $(srcdir)/mk-conv-tst.sh > $@-t && \ mv $@-t $@ sparse.tst: mk-sparse-tst.sh | $(octave_dirstamp) $(AM_V_GEN)rm -f $@-t $@ && \ $(SHELL) $(srcdir)/mk-sparse-tst.sh > $@-t && \ mv $@-t $@ GENERATED_BC_OVERLOADS_DIRS := \ $(shell $(SHELL) $(srcdir)/mk-bc-overloads-tst.sh $(abs_top_builddir)/test --list-dirs) GENERATED_BC_OVERLOADS_FILES := \ $(shell $(SHELL) $(srcdir)/mk-bc-overloads-tst.sh $(abs_top_builddir)/test --list-files) $(GENERATED_BC_OVERLOADS_FILES): mk-bc-overloads-tst-stamp .bc-overload-tests-stamp: mk-bc-overloads-tst.sh bc-overloads-expected | $(octave_dirstamp) $(AM_V_GEN)rm -f $@ && \ $(SHELL) $(srcdir)/mk-bc-overloads-tst.sh $(abs_top_builddir)/test $(srcdir)/bc-overloads-expected && \ touch $@ GENERATED_TEST_FILES = \ conv.tst \ sparse.tst \ .bc-overload-tests-stamp fixedtestsdir := $(octtestsdir)/fixed TEST_INST_FILES = \ conv.tst \ sparse.tst \ $(GENERATED_BC_OVERLOADS_FILES) \ $(filter-out fntests.m, $(TEST_FILES)) install-data-local: install-test-files uninstall-local: uninstall-test-files install-test-files: for f in $(TEST_INST_FILES); do \ if test -f "$$f"; then d=; else d="$(srcdir)/"; fi; \ $(MKDIR_P) $(DESTDIR)$(fixedtestsdir)/`echo $$f | $(SED) 's,/*[^/]*$$,,'`; \ $(INSTALL_DATA) $$d$$f $(DESTDIR)$(fixedtestsdir)/$$f; \ done .PHONY: install-test-files uninstall-test-files: for f in $(TEST_INST_FILES); do \ rm -f $(DESTDIR)$(fixedtestsdir)/$$f; \ done .PHONY: uninstall-test-files BUILT_SOURCES += \ $(GENERATED_TEST_FILES) \ $(DIRSTAMP_FILES) EXTRA_DIST += \ bc-overloads-expected \ mk-bc-overloads-tst.sh \ mk-conv-tst.sh \ mk-sparse-tst.sh \ mk_bc_overloads_expected.m \ show-failures.awk \ $(addprefix $(srcdir)/, $(TEST_FILES)) \ $(addprefix $(srcdir)/, $(noinst_TEST_FILES)) \ $(MEX_TEST_SRC) CLEANFILES += \ $(GENERATED_BC_OVERLOADS_FILES) \ $(GENERATED_TEST_FILES) DISTCLEANFILES += \ fntests.log clean-local: test-clean test-clean: rm -f $(CLEANFILES) rm -rf $(GENERATED_BC_OVERLOADS_DIRS) rm -rf $(COVERAGE_DIR) rm -rf $(MEX_TEST_FUNCTIONS) test-distclean: test-clean rm -f $(DISTCLEANFILES) test-maintainer-clean: test-distclean rm -f $(MAINTAINERCLEANFILES)