-
-
Notifications
You must be signed in to change notification settings - Fork 95
Description
Is this a request for a feature or a bug report?
Feature
What is the current behavior?
The "lazy evaluation of multiplication" may cause inconsistent or unexpected results (apart from the documented f(x) case), and there is no way to disable it.
Examples:
1E-2 evaluates to -2+E
N(1E-2) evaluates to 0.71828
(E is evaluated to Euler's number, 1E is evaluated as 1*E)
1e-2 evaluates to -2+e
N(1e-2) evaluates to -2.0+e
(e is evaluated as a variable (ok, case sensitive), 1e is evaluated as 1*e)
1.0E-2 evaluates to 0.01
1.0e-2 evaluates to 0.01
(e or E is evaluated as the usual scientific notation)
0x1 is evaluated as 1 (hex 1)
0y1 is evaluated as 0 (0 * y * 1)
Having the option to require the explicit "*", and throwing an error when it's not present would produce consistent and less typing-error-prone results.
What is the expected or desired behavior?
Having a setting, like for relaxedSyntax, for explicitMultiplication, turning off the "lazy evaluation of multiplication"
Please provide use cases for changing the current behavior:
When feeding user input to Symja, most (if not all) calculator users expect the scientific notation, 1e-10 for example, to work as expected (yes, it is possible to "sanitize" the input too, but disabling the feature in Symja would be ideal)
Please describe your development environment (OS, browser, etc.):
Linux, Android Studio 3.0.1
Symja is awesome, Thanks!