Commit Graph

27 Commits

Author SHA1 Message Date
Philip Eisenlohr dab5ba1e60 call polynomials_selfTest in DAMASK_test 2023-09-28 07:07:49 +02:00
Martin Diehl 8489658cb4 avoid use of unitialized variable (x_ref)
further polishing for better readability
2023-09-27 20:56:49 +02:00
Philip Eisenlohr 836ddb4ba5 easier to understand (and maybe failsafe against empty coef) 2023-09-26 22:27:28 +00:00
Martin Diehl c619bed975 let the compiler do the work
compilers are aware of the FMA instruction and use it
2023-09-24 06:31:36 +02:00
Martin Diehl 0324e7ece1 parameters should be spelled in capitals 2023-06-04 13:52:31 +02:00
Martin Diehl ca1c22874b consistent and short 2023-06-04 13:51:05 +02:00
Martin Diehl d0b832e6f1 consistent with naming in HDF5_utilities 2023-06-03 17:06:32 +02:00
Martin Diehl aaae8a701b Fortran style adjustments 2022-12-07 17:29:03 +00:00
Daniel Otto de Mentock 3fb0b5d099 removed superfluous asDict specification for polynomials arguments 2022-11-22 14:20:19 +01:00
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