diff --git a/src/basic/,stubs_math/e30e.atn_FAC1.s b/src/basic/,stubs_math/e30e.atn_FAC1.s index 36e35274..5c5d53f3 100644 --- a/src/basic/,stubs_math/e30e.atn_FAC1.s +++ b/src/basic/,stubs_math/e30e.atn_FAC1.s @@ -16,3 +16,20 @@ atn_FAC1: +STUB_IMPLEMENTATION + +poly_atn: + + !byte $0B ; series length - 1 + + +PUT_CONST_POLY_ATN_1 + +PUT_CONST_POLY_ATN_2 + +PUT_CONST_POLY_ATN_3 + +PUT_CONST_POLY_ATN_4 + +PUT_CONST_POLY_ATN_5 + +PUT_CONST_POLY_ATN_6 + +PUT_CONST_POLY_ATN_7 + +PUT_CONST_POLY_ATN_8 + +PUT_CONST_POLY_ATN_9 + +PUT_CONST_POLY_ATN_10 + +PUT_CONST_POLY_ATN_11 + +PUT_CONST_POLY_ATN_12 diff --git a/strings/600B76B383BDD3791EF4A6F57B83FCB0107C0C1F67CA7CDE53CBC17D1464704C7DB7EA517A7D6330887E7E9244993A7E4CCC91C77FAAAAAA138100000000 b/strings/600B76B383BDD3791EF4A6F57B83FCB0107C0C1F67CA7CDE53CBC17D1464704C7DB7EA517A7D6330887E7E9244993A7E4CCC91C77FAAAAAA138100000000 new file mode 100644 index 00000000..06794878 --- /dev/null +++ b/strings/600B76B383BDD3791EF4A6F57B83FCB0107C0C1F67CA7CDE53CBC17D1464704C7DB7EA517A7D6330887E7E9244993A7E4CCC91C77FAAAAAA138100000000 @@ -0,0 +1 @@ +The polynomial for atn approximation. This is a well known polynomial taken from the book "Computer Approximations" by John Fraser Hart et al. (ISBN 0-88275-642-7) according to https://www.c64-wiki.com/wiki/POLY1 diff --git a/tools/generate_constants.cc b/tools/generate_constants.cc index e16e577a..712e6213 100644 --- a/tools/generate_constants.cc +++ b/tools/generate_constants.cc @@ -84,6 +84,20 @@ std::vector GLOBAL_constants = ConstEntry( "POLY_LOG_2", 0.57658454124 ), ConstEntry( "POLY_LOG_3", 0.96180075919 ), ConstEntry( "POLY_LOG_4", 2.8853900731 ), + + // Constants for atn approximation, source as for exp above + ConstEntry( "POLY_ATN_1", -6.8479391189e-4 ), + ConstEntry( "POLY_ATN_2", 4.8509421558e-3 ), + ConstEntry( "POLY_ATN_3", -1.6111701843e-2 ), + ConstEntry( "POLY_ATN_4", 3.4209638048e-2 ), + ConstEntry( "POLY_ATN_5", -5.4279132761e-2 ), + ConstEntry( "POLY_ATN_6", 7.2457196540e-2 ), + ConstEntry( "POLY_ATN_7", -8.9802395378e-2 ), + ConstEntry( "POLY_ATN_8", 0.11093241343 ), + ConstEntry( "POLY_ATN_9", -0.14283980767 ), + ConstEntry( "POLY_ATN_10", 0.19999912049 ), + ConstEntry( "POLY_ATN_11", -0.33333331568 ), + ConstEntry( "POLY_ATN_12", 1.0 ), }; //