Commit Graph

18 Commits

Author SHA1 Message Date
Martin Diehl df5487e1a9 Re-written YAML types
Strict typing for YAML

New access pattern requires to specify the expected type, i.e. 'scalar', 'list', or 'dict'. This ensures that the node offers the expected functionality instead of polluting 'tNode' with dummy functions which throw error messages if not overwritten.

The restructuring of the code allows to hierarchically construct methods without much code duplication.

Some aspects of the error messaging system have been improved.
2022-10-25 16:09:36 +00:00
Martin Diehl b8c3d75700 [skip sc] enforce interfaces (quick fix: declare as external) 2022-06-21 22:59:01 +02:00
Martin Diehl 78838c2f75 consistent variants including space 2022-06-08 23:27:09 +02:00
Martin Diehl 53796fce7a trustworthy reference 2022-05-08 20:10:12 +02:00
Martin Diehl b376b10b7a classic Intel gives FPE 2022-05-08 17:47:20 +02:00
Martin Diehl 10d8a63cb6 not used
and current code is not good (not using Horner scheme)
2022-05-08 17:18:15 +02:00
Martin Diehl d713026f7e fast evaluation for (most common) case of constant 2022-05-08 16:49:30 +02:00
Martin Diehl b2052cb3c7 less strict tolerances
values can be in the order of 1e5, so 1e-6 precision is not too bad
2022-05-08 16:41:19 +02:00
Martin Diehl 8f9fbb30e5 use fused multiply-add where possible
only possible for Intel compiler
2022-05-08 15:48:13 +02:00
Martin Diehl 240426402c using (faster) Horner evaluation
https://rosettacode.org/wiki/Horner%27s_rule_for_polynomial_evaluation
2022-05-08 13:32:14 +02:00
Martin Diehl 72c29f744c better tests 2022-05-08 12:49:29 +02:00
Martin Diehl ec184cb8fe need to relax absolute tolerance
absolute values for quartic become quite high
2022-05-08 08:30:58 +02:00
Martin Diehl 9605a5c2de polynomial expansion up to order 4 2022-05-07 23:04:06 +02:00
Martin Diehl 71e4fa222c generic code for variable order 2022-05-07 22:53:31 +02:00
Martin Diehl 70b9943920 allow to specify only quadratic term in Dict 2022-05-07 22:47:13 +02:00
Martin Diehl 7cf3bcb9c9 easier to read 2022-05-07 22:01:47 +02:00
Martin Diehl 8fead8e306 relaxed tolerances
for optimized code, the last digit might differ
2022-02-02 13:48:04 +01:00
Martin Diehl 39aa243695 Polynomial Class 2022-01-31 14:05:15 +00:00