Mercurial > octave
view .hgignore @ 28588:ee9b1081471f
allow integer constants > flintmax to be represented exactly (bug #45945)
* ov-magic-int.h, ov-magic-int.cc: New files to provide "magic"
integer data type that can store integer constants larger than
flintmax but that behaves like a double constant in nearly all cases.
The primary exception is when the value is processed by the int64 and
uint64 functions.
* libinterp/octave-value/module.mk: Update.
* op-mi.cc: New file. Provide unary + and - operators for magic
integers so that explicit positive or negative magic integers will
work as expected.
* libinterp/operators/module.mk: Update.
* ov-base.h (octave_base_value::is_magic_int): New virtual function.
* ov.h, ov.cc (octave_value::is_magic_int): New function.
(octave_value::storable_value, octave_value::make_storable_value):
Also handle magic integer values.
(octave_value::install_types): Install octave_magic_int and
octave_magic_uint types.
* lex.ll (flintmax): New static function.
(base_lexer::handle_number<10>): Create magic integers from constants
that contain only digits and have values in the range flintmax to
std::numeric_limits<uint64_t>::max().
* pt-eval.cc (tree_evaluator::bind_ans): Display stored value.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 20 Jul 2020 17:43:16 -0400 |
parents | 3c6a91ee72c2 |
children | 6b2e5f8f306b |
line wrap: on
line source
syntax: regexp ## The recurrent (^|/) idiom in the regexps below should be understood ## to mean "at any directory" while the ^ idiom means "from the ## project's top-level directory". ## gnulib related files (^|/)gnulib$ # This directory gets created by gnulib during the build. (^|/)libgnu$ # gnulib makes these silly backup files. .~$ ## m4 related files # This directory mostly contains cruft during build time, but it does # contain some Octave code, so be more careful about what we ignore here. ^m4/(?!ax_).+\.m4$ ## Autoconf, Automake automatically generated files ^aclocal\.m4$ ^autom4te\.cache$ ^config\.in\.h$ ^configure$ (^|/)config.cache$ (^|/)config.h$ (^|/)config.log$ (^|/)config.status$ ^Makefile\.in$ ^INSTALL$ ## CMake associated files # Octave doesn't use CMake, but some IDEs use this index file to indicate # what files are part of a project (e.g., CLion). Ignore it (bug #55901). ^CMakeLists.txt$ ## Emacs associated files (^|/)TAGS$ (^|/)semantic.cache$ ## Scripts associated with building Octave ^build-aux/config\.(guess|rpath|sub)$ (^|/)build-aux/check-subst-vars\.sh$ ^build-aux/depcomp$ ^build-aux/install-sh$ ^build-aux/ltmain\.sh$ ^build-aux/mdate-sh$ ^build-aux/missing$ ^build-aux/move-if-change$ (^|/)build-aux/subst-config-vals\.sh$ (^|/)build-aux/subst-cross-config-vals\.sh$ (^|/)build-aux/subst-script-vals\.sh$ ^build-aux/texinfo\.tex$ ^build-aux/ylwrap$ ## Mercurial associated files (^|/)HG-ID$ ## Timestamp files used in build process .*/\.dirstamp$ .*/\.octave-dirstamp$ ## Intermediate compilation results for libraries \.la$ .*/\.libs/ \.Plo$ \.Po$ ## DLDFCN associated files ^libinterp/dldfcn/module\.mk$ (^|/)libinterp/dldfcn/PKG_ADD$ (^|/)libinterp/dldfcn/.*\.oct$ ## liboctave/ directory associated patterns # E.g., liboctave/operators/smx-op-inc.mk ^liboctave/operators/\w+-op-\w+\.mk$ ## scripts/ directory associated patterns # Package files (^|/)scripts/.*/PKG_ADD$ # Java files (^|/)scripts/java/octave\.jar$ (^|/)scripts/java/org/octave/.*\.class$ ## libgui/ directory associated patterns # Files generated by moc tool (^|/)libgui/.*/moc-.*\.(cc|h)$ (^|/)libgui/languages/.*\.qm$ ## Ignore patterns associated with documentation # Info generated files # E.g., doc/faq/OctaveFAQ.info, doc/interpreter/octave.info-4 ^doc/\w+/\w+\.info(-\d+)?$ # Texinfo created temporary directories (^|/)doc/(interpreter|liboctave)/(octave|liboctave)\.t2(d|p)/ # Texinfo created files (^|/)doc/interpreter/.*\.texi$ # DOCSTRINGS files built in the source tree (^|/)(libinterp|scripts)/DOCSTRINGS$ # Generated HTML directories (^|/)doc/interpreter/octave\.html/ (^|/)doc/liboctave/liboctave\.html/ # Miscellaneous auto-generated files (^|/)doc/interpreter/octave\.dvi$ (^|/)doc/interpreter/octave\.ps$ (^|/)doc/interpreter/doc-cache$ (^|/)doc/interpreter/octave_interpreter\.q(ch|hc)$ # Images and scripts for documentation ^doc/interpreter/images\.mk$ (^|/)doc/interpreter/.*\.eps$ (^|/)doc/interpreter/.*\.pdf$ (^|/)doc/interpreter/.*\.png$ (^|/)doc/interpreter/.*\.txt$ # timestamps for doc directory ^doc/\w+/stamp-(vti|\d+)$ ^doc/\w+/version-\w+\.texi$ ## Test associated patterns -tst$