* using fmt instead of ostringstream
misc cleanup
* missing external libs for clang tidy check
* added test for cprops ignore while stacking
door descriptor
* use contains instead of count, removed disabled ancient code
* pack/packonto simplification/speedup
instead of using ostream and convert to string, use format and directly
a string
* compile time optimization:
int with doubles and strings
doubles with ints and strings
strings with ints and doubles
* bool with other types, more unary ops, float branch optimizer
* more tests
fixed bool to dbl compare
* output cleanup
more tests
* optimize string values in if statements, optimize ternary operator
* optimize elvis, addes missing files, code cleanup
* use array to keep unoptimized if branch in funcexpr tests
* missing include
* better readable testdata
* removed file
* optimize while and dowhile loops if predicate is a compile time known
value
* cleaner variant of loop optimization?
* added ConstantPredicateLoop Node used by the optimizer for constant loop
predicates
optimize repeat until loop
change tests to run the loops more then once to be sure they work
correctly
* test break/continue with label for constant-loop
* docs
* implemented modulus operator % and %= for doubles
int%dbl=dbl
dbl%int=dbl
dbl%dbl=dbl
...
* added missing test for ins_set_member_id_consume_divideequal
* more tests
docs
* use std::to_chars for doubles
* fixed cmake errors when an escript error occurs
* macos 13 with clang15
* CI: macos new cache version
* guessing game
* guess no2
* test shipped clang with deloytarget env
* adapted testdata, lets see if all platforms behave the same
* explicit test if high precision double can get packed+unpacked
* log testclient receive buffer on error
* added docs
* Build on OSX
* Add macos-latest to build matrix
* Fix case sensitivity checks/tests
* On osx builds, cope with unpacking a double that might be followed by either an exponent or an error (as part of an array).
Also, remove static unpack(const char*) forms that were never called.
Co-authored-by: turleypol <turley@polserver.com>
Authors are not forced to use the clang-format setting, but should
atleast be inspired by the style.
The only thing which is now not allowed are tabs for ident/alignment!
- obj.isLesserThan() and obj.ieEqual() are now replaced by < and ==
- Removed obsolete isLT(), isLE(), isGT(), isGE()
- Also implemented comparison operators for BObjectImp
- These operators may now be fully overriden in child classes
- Default implementations are derived from == and < operators
- As a general rule (that fit into "undefined" behavior":
-- Objects are == if having the same address
-- Objects are < based on their type ID, except of Error and Uninit
that always are < everything else.
-- Objects are supposed to implement their own < and fall back to
base class. If not implemented, as a last fallback, the object's
address in memory is used to do the comparison
- Added test case for comparison operators