diff options
| author | Robin Haberkorn <rhaberkorn@fmsbw.de> | 2026-10-31 13:46:11 +0100 |
|---|---|---|
| committer | Robin Haberkorn <rhaberkorn@fmsbw.de> | 2026-10-31 21:13:19 +0100 |
| commit | 4aa2b717f9e050783b567540d9bb0193d692e3e9 (patch) | |
| tree | 39b3734c464655e6d1c21390945209a66f952654 /configure.ac | |
| parent | e0bf13622b0922252439e3fa8b43df9877678d75 (diff) | |
support floating point numbers
* Extends the SciTECO type system. A number on the expression stack
or in a Q-register can be either an integer or a float.
* Floating point constants begin with a digit (like all other
numbers), are followed by a `.` and an optional fractional part.
Exponents cannot currently be written.
E.g. `1.` == `1.0`. But `.0` would still be `.,0`.
(!) To push an integer followed by dot, you must now write e.g. `1,.` or `1 .`.
* All of the basic arithmetic operators operate like this:
If both operands are integers, the result is also an integer (integer arithmetics).
If at least one of the operands is a float, the result is also a float (float arithmetics).
* All of the binary operators (AND, OR, XOR) always cast all
operands to integer and the result is always an integer as well.
* You can "cast" integers to float by `*1.` or `/1.`.
You can "cast" floats to integers using `#0`.
* Most commands still accept only integers. Floats are implicitly casted to integers.
Float-aware commands are: =, \, ^W, Qq, Uq, %q and the conditionals.
* `%q` will not change the current type of register q.
* Numeric part of "lexer.font" is now a float (in points).
* You cannot currently print octal and hexadecimal floats.
`==` and `===` are identical to `=` on floats.
* `===` is now printing hex integers in lower case.
This is because SciTECO's coding style for hex constants is also lower case.
* `--with-teco-integer` renamed to `--with-teco-number`.
Diffstat (limited to 'configure.ac')
| -rw-r--r-- | configure.ac | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac index 03b06ba..23da438 100644 --- a/configure.ac +++ b/configure.ac @@ -447,12 +447,12 @@ esac AM_CONDITIONAL(INTERFACE_GTK, [test x$INTERFACE = xgtk]) -AC_ARG_WITH(teco-integer, - AS_HELP_STRING([--with-teco-integer=SIZE], - [Storage size of TECO integers in bits [default=64]]), - [TECO_INTEGER=$withval], [TECO_INTEGER=64]) -AC_SUBST(TECO_INTEGER) -AC_DEFINE_UNQUOTED(TECO_INTEGER, $TECO_INTEGER, [Storage size of TECO integers]) +AC_ARG_WITH(teco-number, + AS_HELP_STRING([--with-teco-number=SIZE], + [Storage size of TECO numbers in bits [default=64]]), + [TECO_NUMBER=$withval], [TECO_NUMBER=64]) +AC_SUBST(TECO_NUMBER) +AC_DEFINE_UNQUOTED(TECO_NUMBER, $TECO_NUMBER, [Storage size of TECO numbers]) AC_ARG_ENABLE(html-docs, AS_HELP_STRING([--enable-html-docs], |
