hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

commit ed5de1c89cfc1407726c131842e40ebc5512c48a
parent c3503b40480e891485edbcb0343e733e1ad7f4b6
Author: Sebastian <sebastian@sebsite.pw>
Date:   Sat,  5 Aug 2023 20:26:20 -0400

Stop using unary +

Signed-off-by: Sebastian <sebastian@sebsite.pw>

Diffstat:
Mencoding/utf8/decodetable.ha | 64++++++++++++++++++++++++++++++++--------------------------------
Mmath/complex/+test.ha | 234++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mmath/trig.ha | 10+++++-----
Mtime/chrono/timescale.ha | 10+++++-----
Mtime/date/daydate.ha | 3+--
Mtime/date/reckon.ha | 16++++++++--------
6 files changed, 168 insertions(+), 169 deletions(-)

diff --git a/encoding/utf8/decodetable.ha b/encoding/utf8/decodetable.ha @@ -1,20 +1,20 @@ let table: [8][256]i8 = [ - [+0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, - +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, - +3, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +4, +2, +2, - +5, +6, +6, +6, +7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], + -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, + 5, 6, 6, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -23,10 +23,10 @@ let table: [8][256]i8 = [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, - +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -39,10 +39,10 @@ let table: [8][256]i8 = [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, - +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, - +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, - +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -57,8 +57,8 @@ let table: [8][256]i8 = [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, - +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -71,8 +71,8 @@ let table: [8][256]i8 = [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, - +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, +1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -88,9 +88,9 @@ let table: [8][256]i8 = [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, - +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, - +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -103,10 +103,10 @@ let table: [8][256]i8 = [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, - +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, - +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, - +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -119,7 +119,7 @@ let table: [8][256]i8 = [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, +2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, diff --git a/math/complex/+test.ha b/math/complex/+test.ha @@ -47,29 +47,29 @@ use math; // The higher-precision values in VC26 were used to derive the // input arguments VC. For reference only (do not delete). const VC26: []c128 = [ - (4.97901192488367350108546816, +7.73887247457810456552351752), + (4.97901192488367350108546816, 7.73887247457810456552351752), (7.73887247457810456552351752, -0.27688005719200159404635997), (-0.27688005719200159404635997, -5.01060361827107492160848778), - (-5.01060361827107492160848778, +9.63629370719841737980004837), - (9.63629370719841737980004837, +2.92637723924396464525443662), - (2.92637723924396464525443662, +5.22908343145930665230025625), - (5.22908343145930665230025625, +2.72793991043601025126008608), - (2.72793991043601025126008608, +1.82530809168085506044576505), + (-5.01060361827107492160848778, 9.63629370719841737980004837), + (9.63629370719841737980004837, 2.92637723924396464525443662), + (2.92637723924396464525443662, 5.22908343145930665230025625), + (5.22908343145930665230025625, 2.72793991043601025126008608), + (2.72793991043601025126008608, 1.82530809168085506044576505), (1.82530809168085506044576505, -8.68592476857560136238589621), - (-8.68592476857560136238589621, +4.97901192488367350108546816), + (-8.68592476857560136238589621, 4.97901192488367350108546816), ]; const VC: []c128 = [ - (4.9790119248836735e+00, +7.7388724745781045e+00), + (4.9790119248836735e+00, 7.7388724745781045e+00), (7.7388724745781045e+00, -2.7688005719200159e-01), (-2.7688005719200159e-01, -5.0106036182710749e+00), - (-5.0106036182710749e+00, +9.6362937071984173e+00), - (9.6362937071984173e+00, +2.9263772392439646e+00), - (2.9263772392439646e+00, +5.2290834314593066e+00), - (5.2290834314593066e+00, +2.7279399104360102e+00), - (2.7279399104360102e+00, +1.8253080916808550e+00), + (-5.0106036182710749e+00, 9.6362937071984173e+00), + (9.6362937071984173e+00, 2.9263772392439646e+00), + (2.9263772392439646e+00, 5.2290834314593066e+00), + (5.2290834314593066e+00, 2.7279399104360102e+00), + (2.7279399104360102e+00, 1.8253080916808550e+00), (1.8253080916808550e+00, -8.6859247685756013e+00), - (-8.6859247685756013e+00, +4.9790119248836735e+00), + (-8.6859247685756013e+00, 4.9790119248836735e+00), ]; // The expected results below were computed by the high precision calculators @@ -93,158 +93,158 @@ const TEST_ABS: []f64 = [ const TEST_ACOS: []c128 = [ (1.0017679804707456328694569, -2.9138232718554953784519807), - (0.03606427612041407369636057, +2.7358584434576260925091256), - (1.6249365462333796703711823, +2.3159537454335901187730929), + (0.03606427612041407369636057, 2.7358584434576260925091256), + (1.6249365462333796703711823, 2.3159537454335901187730929), (2.0485650849650740120660391, -3.0795576791204117911123886), (0.29621132089073067282488147, -3.0007392508200622519398814), (1.0664555914934156601503632, -2.4872865024796011364747111), (0.48681307452231387690013905, -2.463655912283054555225301), (0.6116977071277574248407752, -1.8734458851737055262693056), - (1.3649311280370181331184214, +2.8793528632328795424123832), + (1.3649311280370181331184214, 2.8793528632328795424123832), (2.6189310485682988308904501, -2.9956543302898767795858704), ]; const TEST_ACOSH: []c128 = [ - (2.9138232718554953784519807, +1.0017679804707456328694569), + (2.9138232718554953784519807, 1.0017679804707456328694569), (2.7358584434576260925091256, -0.03606427612041407369636057), (2.3159537454335901187730929, -1.6249365462333796703711823), - (3.0795576791204117911123886, +2.0485650849650740120660391), - (3.0007392508200622519398814, +0.29621132089073067282488147), - (2.4872865024796011364747111, +1.0664555914934156601503632), - (2.463655912283054555225301, +0.48681307452231387690013905), - (1.8734458851737055262693056, +0.6116977071277574248407752), + (3.0795576791204117911123886, 2.0485650849650740120660391), + (3.0007392508200622519398814, 0.29621132089073067282488147), + (2.4872865024796011364747111, 1.0664555914934156601503632), + (2.463655912283054555225301, 0.48681307452231387690013905), + (1.8734458851737055262693056, 0.6116977071277574248407752), (2.8793528632328795424123832, -1.3649311280370181331184214), - (2.9956543302898767795858704, +2.6189310485682988308904501), + (2.9956543302898767795858704, 2.6189310485682988308904501), ]; const TEST_ASIN: []c128 = [ - (0.56902834632415098636186476, +2.9138232718554953784519807), + (0.56902834632415098636186476, 2.9138232718554953784519807), (1.5347320506744825455349611, -2.7358584434576260925091256), (-0.054140219438483051139860579, -2.3159537454335901187730929), - (-0.47776875817017739283471738, +3.0795576791204117911123886), - (1.2745850059041659464064402, +3.0007392508200622519398814), - (0.50434073530148095908095852, +2.4872865024796011364747111), - (1.0839832522725827423311826, +2.463655912283054555225301), - (0.9590986196671391943905465, +1.8734458851737055262693056), + (-0.47776875817017739283471738, 3.0795576791204117911123886), + (1.2745850059041659464064402, 3.0007392508200622519398814), + (0.50434073530148095908095852, 2.4872865024796011364747111), + (1.0839832522725827423311826, 2.463655912283054555225301), + (0.9590986196671391943905465, 1.8734458851737055262693056), (0.20586519875787848611290031, -2.8793528632328795424123832), - (-1.0481347217734022116591284, +2.9956543302898767795858704), + (-1.0481347217734022116591284, 2.9956543302898767795858704), ]; const TEST_ASINH: []c128 = [ - (2.9113760469415295679342185, +0.99639459545704326759805893), + (2.9113760469415295679342185, 0.99639459545704326759805893), (2.7441755423994259061579029, -0.035468308789000500601119392), (-2.2962136462520690506126678, -1.5144663565690151885726707), - (-3.0771233459295725965402455, +1.0895577967194013849422294), - (3.0048366100923647417557027, +0.29346979169819220036454168), - (2.4800059370795363157364643, +1.0545868606049165710424232), - (2.4718773838309585611141821, +0.47502344364250803363708842), - (1.8910743588080159144378396, +0.56882925572563602341139174), + (-3.0771233459295725965402455, 1.0895577967194013849422294), + (3.0048366100923647417557027, 0.29346979169819220036454168), + (2.4800059370795363157364643, 1.0545868606049165710424232), + (2.4718773838309585611141821, 0.47502344364250803363708842), + (1.8910743588080159144378396, 0.56882925572563602341139174), (2.8735426423367341878069406, -1.362376149648891420997548), - (-2.9981750586172477217567878, +0.5183571985225367505624207), + (-2.9981750586172477217567878, 0.5183571985225367505624207), ]; const TEST_ATAN: []c128 = [ - (1.5115747079332741358607654, +0.091324403603954494382276776), + (1.5115747079332741358607654, 0.091324403603954494382276776), (1.4424504323482602560806727, -0.0045416132642803911503770933), (-1.5593488703630532674484026, -0.20163295409248362456446431), - (-1.5280619472445889867794105, +0.081721556230672003746956324), - (1.4759909163240799678221039, +0.028602969320691644358773586), - (1.4877353772046548932715555, +0.14566877153207281663773599), - (1.4206983927779191889826, +0.076830486127880702249439993), - (1.3162236060498933364869556, +0.16031313000467530644933363), + (-1.5280619472445889867794105, 0.081721556230672003746956324), + (1.4759909163240799678221039, 0.028602969320691644358773586), + (1.4877353772046548932715555, 0.14566877153207281663773599), + (1.4206983927779191889826, 0.076830486127880702249439993), + (1.3162236060498933364869556, 0.16031313000467530644933363), (1.5473450684303703578810093, -0.11064907507939082484935782), - (-1.4841462340185253987375812, +0.049341850305024399493142411), + (-1.4841462340185253987375812, 0.049341850305024399493142411), ]; const TEST_ATANH: []c128 = [ - (0.058375027938968509064640438, +1.4793488495105334458167782), + (0.058375027938968509064640438, 1.4793488495105334458167782), (0.12977343497790381229915667, -1.5661009410463561327262499), (-0.010576456067347252072200088, -1.3743698658402284549750563), - (-0.042218595678688358882784918, +1.4891433968166405606692604), - (0.095218997991316722061828397, +1.5416884098777110330499698), - (0.079965459366890323857556487, +1.4252510353873192700350435), - (0.15051245471980726221708301, +1.4907432533016303804884461), - (0.25082072933993987714470373, +1.392057665392187516442986), + (-0.042218595678688358882784918, 1.4891433968166405606692604), + (0.095218997991316722061828397, 1.5416884098777110330499698), + (0.079965459366890323857556487, 1.4252510353873192700350435), + (0.15051245471980726221708301, 1.4907432533016303804884461), + (0.25082072933993987714470373, 1.392057665392187516442986), (0.022896108815797135846276662, -1.4609224989282864208963021), - (-0.08665624101841876130537396, +1.5207902036935093480142159), + (-0.08665624101841876130537396, 1.5207902036935093480142159), ]; const TEST_CONJ: []c128 = [ (4.9790119248836735e+00, -7.7388724745781045e+00), - (7.7388724745781045e+00, +2.7688005719200159e-01), - (-2.7688005719200159e-01, +5.0106036182710749e+00), + (7.7388724745781045e+00, 2.7688005719200159e-01), + (-2.7688005719200159e-01, 5.0106036182710749e+00), (-5.0106036182710749e+00, -9.6362937071984173e+00), (9.6362937071984173e+00, -2.9263772392439646e+00), (2.9263772392439646e+00, -5.2290834314593066e+00), (5.2290834314593066e+00, -2.7279399104360102e+00), (2.7279399104360102e+00, -1.8253080916808550e+00), - (1.8253080916808550e+00, +8.6859247685756013e+00), + (1.8253080916808550e+00, 8.6859247685756013e+00), (-8.6859247685756013e+00, -4.9790119248836735e+00), ]; const TEST_COS: []c128 = [ - (3.024540920601483938336569e+02, +1.1073797572517071650045357e+03), - (1.192858682649064973252758e-01, +2.7857554122333065540970207e-01), + (3.024540920601483938336569e+02, 1.1073797572517071650045357e+03), + (1.192858682649064973252758e-01, 2.7857554122333065540970207e-01), (7.2144394304528306603857962e+01, -2.0500129667076044169954205e+01), (2.24921952538403984190541e+03, -7.317363745602773587049329e+03), - (-9.148222970032421760015498e+00, +1.953124661113563541862227e+00), + (-9.148222970032421760015498e+00, 1.953124661113563541862227e+00), (-9.116081175857732248227078e+01, -1.992669213569952232487371e+01), - (3.795639179042704640002918e+00, +6.623513350981458399309662e+00), + (3.795639179042704640002918e+00, 6.623513350981458399309662e+00), (-2.9144840732498869560679084e+00, -1.214620271628002917638748e+00), - (-7.45123482501299743872481e+02, +2.8641692314488080814066734e+03), - (-5.371977967039319076416747e+01, +4.893348341339375830564624e+01), + (-7.45123482501299743872481e+02, 2.8641692314488080814066734e+03), + (-5.371977967039319076416747e+01, 4.893348341339375830564624e+01), ]; const TEST_COSH: []c128 = [ - (8.34638383523018249366948e+00, +7.2181057886425846415112064e+01), + (8.34638383523018249366948e+00, 7.2181057886425846415112064e+01), (1.10421967379919366952251e+03, -3.1379638689277575379469861e+02), (3.051485206773701584738512e-01, -2.6805384730105297848044485e-01), - (-7.33294728684187933370938e+01, +1.574445942284918251038144e+01), - (-7.478643293945957535757355e+03, +1.6348382209913353929473321e+03), + (-7.33294728684187933370938e+01, 1.574445942284918251038144e+01), + (-7.478643293945957535757355e+03, 1.6348382209913353929473321e+03), (4.622316522966235701630926e+00, -8.088695185566375256093098e+00), - (-8.544333183278877406197712e+01, +3.7505836120128166455231717e+01), - (-1.934457815021493925115198e+00, +7.3725859611767228178358673e+00), + (-8.544333183278877406197712e+01, 3.7505836120128166455231717e+01), + (-1.934457815021493925115198e+00, 7.3725859611767228178358673e+00), (-2.352958770061749348353548e+00, -2.034982010440878358915409e+00), - (7.79756457532134748165069e+02, +2.8549350716819176560377717e+03), + (7.79756457532134748165069e+02, 2.8549350716819176560377717e+03), ]; const TEST_EXP: []c128 = [ - (1.669197736864670815125146e+01, +1.4436895109507663689174096e+02), + (1.669197736864670815125146e+01, 1.4436895109507663689174096e+02), (2.2084389286252583447276212e+03, -6.2759289284909211238261917e+02), - (2.227538273122775173434327e-01, +7.2468284028334191250470034e-01), + (2.227538273122775173434327e-01, 7.2468284028334191250470034e-01), (-6.5182985958153548997881627e-03, -1.39965837915193860879044e-03), - (-1.4957286524084015746110777e+04, +3.269676455931135688988042e+03), + (-1.4957286524084015746110777e+04, 3.269676455931135688988042e+03), (9.218158701983105935659273e+00, -1.6223985291084956009304582e+01), - (-1.7088175716853040841444505e+02, +7.501382609870410713795546e+01), - (-3.852461315830959613132505e+00, +1.4808420423156073221970892e+01), + (-1.7088175716853040841444505e+02, 7.501382609870410713795546e+01), + (-3.852461315830959613132505e+00, 1.4808420423156073221970892e+01), (-4.586775503301407379786695e+00, -4.178501081246873415144744e+00), (4.451337963005453491095747e-05, -1.62977574205442915935263e-04), ]; const TEST_LOG: []c128 = [ - (2.2194438972179194425697051e+00, +9.9909115046919291062461269e-01), + (2.2194438972179194425697051e+00, 9.9909115046919291062461269e-01), (2.0468956191154167256337289e+00, -3.5762575021856971295156489e-02), (1.6130808329853860438751244e+00, -1.6259990074019058442232221e+00), - (2.3851910394823008710032651e+00, +2.0502936359659111755031062e+00), - (2.3096442270679923004800651e+00, +2.9483213155446756211881774e-01), - (1.7904660933974656106951860e+00, +1.0605860367252556281902109e+00), - (1.7745926939841751666177512e+00, +4.8084556083358307819310911e-01), - (1.1885403350045342425648780e+00, +5.8969634164776659423195222e-01), + (2.3851910394823008710032651e+00, 2.0502936359659111755031062e+00), + (2.3096442270679923004800651e+00, 2.9483213155446756211881774e-01), + (1.7904660933974656106951860e+00, 1.0605860367252556281902109e+00), + (1.7745926939841751666177512e+00, 4.8084556083358307819310911e-01), + (1.1885403350045342425648780e+00, 5.8969634164776659423195222e-01), (2.1833107837679082586772505e+00, -1.3636647724582455028314573e+00), - (2.3037629487273259170991671e+00, +2.6210913895386013290915234e+00), + (2.3037629487273259170991671e+00, 2.6210913895386013290915234e+00), ]; const TEST_LOG10: []c128 = [ - (9.6389223745559042474184943e-01, +4.338997735671419492599631e-01), + (9.6389223745559042474184943e-01, 4.338997735671419492599631e-01), (8.8895547241376579493490892e-01, -1.5531488990643548254864806e-02), (7.0055210462945412305244578e-01, -7.0616239649481243222248404e-01), - (1.0358753067322445311676952e+00, +8.9043121238134980156490909e-01), - (1.003065742975330237172029e+00, +1.2804396782187887479857811e-01), - (7.7758954439739162532085157e-01, +4.6060666333341810869055108e-01), - (7.7069581462315327037689152e-01, +2.0882857371769952195512475e-01), - (5.1617650901191156135137239e-01, +2.5610186717615977620363299e-01), + (1.0358753067322445311676952e+00, 8.9043121238134980156490909e-01), + (1.003065742975330237172029e+00, 1.2804396782187887479857811e-01), + (7.7758954439739162532085157e-01, 4.6060666333341810869055108e-01), + (7.7069581462315327037689152e-01, 2.0882857371769952195512475e-01), + (5.1617650901191156135137239e-01, 2.5610186717615977620363299e-01), (9.4819982567026639742663212e-01, -5.9223208584446952284914289e-01), - (1.0005115362454417135973429e+00, +1.1383255270407412817250921e+00), + (1.0005115362454417135973429e+00, 1.1383255270407412817250921e+00), ]; const TEST_POLAR: []c128 = [ @@ -261,80 +261,80 @@ const TEST_POLAR: []c128 = [ ]; const TEST_POW: []c128 = [ - (-2.499956739197529585028819e+00, +1.759751724335650228957144e+00), + (-2.499956739197529585028819e+00, 1.759751724335650228957144e+00), (7.357094338218116311191939e+04, -5.089973412479151648145882e+04), (1.320777296067768517259592e+01, -3.165621914333901498921986e+01), (-3.123287828297300934072149e-07, -1.9849567521490553032502223e-7), (8.0622651468477229614813e+04, -7.80028727944573092944363e+04), (-1.0268824572103165858577141e+00, -4.716844738244989776610672e-01), - (-4.35953819012244175753187e+01, +2.2036445974645306917648585e+02), + (-4.35953819012244175753187e+01, 2.2036445974645306917648585e+02), (8.3556092283250594950239e-01, -1.2261571947167240272593282e+01), - (1.582292972120769306069625e+03, +1.273564263524278244782512e+04), - (6.592208301642122149025369e-08, +2.584887236651661903526389e-08), + (1.582292972120769306069625e+03, 1.273564263524278244782512e+04), + (6.592208301642122149025369e-08, 2.584887236651661903526389e-08), ]; const TEST_SIN: []c128 = [ - (-1.1073801774240233539648544e+03, +3.024539773002502192425231e+02), + (-1.1073801774240233539648544e+03, 3.024539773002502192425231e+02), (1.0317037521400759359744682e+00, -3.2208979799929570242818e-02), (-2.0501952097271429804261058e+01, -7.2137981348240798841800967e+01), - (7.3173638080346338642193078e+03, +2.249219506193664342566248e+03), + (7.3173638080346338642193078e+03, 2.249219506193664342566248e+03), (-1.964375633631808177565226e+00, -9.0958264713870404464159683e+00), (1.992783647158514838337674e+01, -9.11555769410191350416942e+01), - (-6.680335650741921444300349e+00, +3.763353833142432513086117e+00), + (-6.680335650741921444300349e+00, 3.763353833142432513086117e+00), (1.2794028166657459148245993e+00, -2.7669092099795781155109602e+00), - (2.8641693949535259594188879e+03, +7.451234399649871202841615e+02), + (2.8641693949535259594188879e+03, 7.451234399649871202841615e+02), (-4.893811726244659135553033e+01, -5.371469305562194635957655e+01), ]; const TEST_SINH: []c128 = [ - (8.34559353341652565758198e+00, +7.2187893208650790476628899e+01), + (8.34559353341652565758198e+00, 7.2187893208650790476628899e+01), (1.1042192548260646752051112e+03, -3.1379650595631635858792056e+02), - (-8.239469336509264113041849e-02, +9.9273668758439489098514519e-01), + (-8.239469336509264113041849e-02, 9.9273668758439489098514519e-01), (7.332295456982297798219401e+01, -1.574585908122833444899023e+01), - (-7.4786432301380582103534216e+03, +1.63483823493980029604071e+03), + (-7.4786432301380582103534216e+03, 1.63483823493980029604071e+03), (4.595842179016870234028347e+00, -8.135290105518580753211484e+00), - (-8.543842533574163435246793e+01, +3.750798997857594068272375e+01), - (-1.918003500809465688017307e+00, +7.4358344619793504041350251e+00), + (-8.543842533574163435246793e+01, 3.750798997857594068272375e+01), + (-1.918003500809465688017307e+00, 7.4358344619793504041350251e+00), (-2.233816733239658031433147e+00, -2.143519070805995056229335e+00), (-7.797564130187551181105341e+02, -2.8549352346594918614806877e+03), ]; const TEST_SQRT: []c128 = [ - (2.6628203086086130543813948e+00, +1.4531345674282185229796902e+00), + (2.6628203086086130543813948e+00, 1.4531345674282185229796902e+00), (2.7823278427251986247149295e+00, -4.9756907317005224529115567e-02), (1.5397025302089642757361015e+00, -1.6271336573016637535695727e+00), - (1.7103411581506875260277898e+00, +2.8170677122737589676157029e+00), - (3.1390392472953103383607947e+00, +4.6612625849858653248980849e-01), - (2.1117080764822417640789287e+00, +1.2381170223514273234967850e+00), - (2.3587032281672256703926939e+00, +5.7827111903257349935720172e-01), - (1.7335262588873410476661577e+00, +5.2647258220721269141550382e-01), + (1.7103411581506875260277898e+00, 2.8170677122737589676157029e+00), + (3.1390392472953103383607947e+00, 4.6612625849858653248980849e-01), + (2.1117080764822417640789287e+00, 1.2381170223514273234967850e+00), + (2.3587032281672256703926939e+00, 5.7827111903257349935720172e-01), + (1.7335262588873410476661577e+00, 5.2647258220721269141550382e-01), (2.3131094974708716531499282e+00, -1.8775429304303785570775490e+00), - (8.1420535745048086240947359e-01, +3.0575897587277248522656113e+00), + (8.1420535745048086240947359e-01, 3.0575897587277248522656113e+00), ]; const TEST_TAN: []c128 = [ - (-1.928757919086441129134525e-07, +1.0000003267499169073251826e+00), + (-1.928757919086441129134525e-07, 1.0000003267499169073251826e+00), (1.242412685364183792138948e+00, -3.17149693883133370106696e+00), (-4.6745126251587795225571826e-05, -9.9992439225263959286114298e-01), - (4.792363401193648192887116e-09, +1.0000000070589333451557723e+00), - (2.345740824080089140287315e-03, +9.947733046570988661022763e-01), - (-2.396030789494815566088809e-05, +9.9994781345418591429826779e-01), - (-7.370204836644931340905303e-03, +1.0043553413417138987717748e+00), - (-3.691803847992048527007457e-02, +9.6475071993469548066328894e-01), + (4.792363401193648192887116e-09, 1.0000000070589333451557723e+00), + (2.345740824080089140287315e-03, 9.947733046570988661022763e-01), + (-2.396030789494815566088809e-05, 9.9994781345418591429826779e-01), + (-7.370204836644931340905303e-03, 1.0043553413417138987717748e+00), + (-3.691803847992048527007457e-02, 9.6475071993469548066328894e-01), (-2.781955256713729368401878e-08, -1.000000049848910609006646e+00), - (9.4281590064030478879791249e-05, +9.9999119340863718183758545e-01), + (9.4281590064030478879791249e-05, 9.9999119340863718183758545e-01), ]; const TEST_TANH: []c128 = [ - (1.0000921981225144748819918e+00, +2.160986245871518020231507e-05), + (1.0000921981225144748819918e+00, 2.160986245871518020231507e-05), (9.9999967727531993209562591e-01, -1.9953763222959658873657676e-07), - (-1.765485739548037260789686e+00, +1.7024216325552852445168471e+00), - (-9.999189442732736452807108e-01, +3.64906070494473701938098e-05), + (-1.765485739548037260789686e+00, 1.7024216325552852445168471e+00), + (-9.999189442732736452807108e-01, 3.64906070494473701938098e-05), (9.9999999224622333738729767e-01, -3.560088949517914774813046e-09), (1.0029324933367326862499343e+00, -4.948790309797102353137528e-03), (9.9996113064788012488693567e-01, -4.226995742097032481451259e-05), (1.0074784189316340029873945e+00, -4.194050814891697808029407e-03), - (9.9385534229718327109131502e-01, +5.144217985914355502713437e-02), + (9.9385534229718327109131502e-01, 5.144217985914355502713437e-02), (-1.0000000491604982429364892e+00, -2.901873195374433112227349e-08), ]; diff --git a/math/trig.ha b/math/trig.ha @@ -500,11 +500,11 @@ fn xatan(x: f64) f64 = { const P2 = -7.500855792314704667340e+01; const P3 = -1.228866684490136173410e+02; const P4 = -6.485021904942025371773e+01; - const Q0 = +2.485846490142306297962e+01; - const Q1 = +1.650270098316988542046e+02; - const Q2 = +4.328810604912902668951e+02; - const Q3 = +4.853903996359136964868e+02; - const Q4 = +1.945506571482613964425e+02; + const Q0 = 2.485846490142306297962e+01; + const Q1 = 1.650270098316988542046e+02; + const Q2 = 4.328810604912902668951e+02; + const Q3 = 4.853903996359136964868e+02; + const Q4 = 1.945506571482613964425e+02; let z = x * x; z = z * ((((P0 * z + P1) * z + P2) * z + P3) * z + P4) / (((((z + Q0) * z + Q1) * z + Q2) * z + Q3) * z + Q4); diff --git a/time/chrono/timescale.ha b/time/chrono/timescale.ha @@ -249,7 +249,7 @@ fn gps_convfrom(ts: *timescale, i: time::instant) ([]time::instant | void) = { case &gps => return [i]; case &tai => - return [time::add(i, +GPS_OFFSET)]; + return [time::add(i, GPS_OFFSET)]; case => void; }; @@ -289,7 +289,7 @@ fn tt_convfrom(ts: *timescale, i: time::instant) ([]time::instant | void) = { case &tt => return [i]; case &tai => - return [time::add(i, +TT_OFFSET)]; + return [time::add(i, TT_OFFSET)]; case => void; }; @@ -340,13 +340,13 @@ fn mtc_convto(ts: *timescale, i: time::instant) ([]time::instant | void) = { // Slightly adjust epoch for the actual Martian midnight. // Earth's midnight occurred before Mars'. - i = time::add(i, +DELTA_JANSIX_ADJUSTMENT); + i = time::add(i, DELTA_JANSIX_ADJUSTMENT); // Scale from Mars-time to Earth-time. i = time::mult(i, FACTOR_TERRESTRIAL_MARTIAN); // Change epoch to the Unix epoch 1970 Jan 1st (Terrestrial Time). - i = time::add(i, +DELTA_UNIXEPOCH_JANSIX); + i = time::add(i, DELTA_UNIXEPOCH_JANSIX); // Get the TAI time. // assertion since TT and TAI are continuous. @@ -380,7 +380,7 @@ fn mtc_convfrom(ts: *timescale, i: time::instant) ([]time::instant | void) = { i = time::add(i, -DELTA_JANSIX_ADJUSTMENT); // Change epoch to that of the Mars Sol Date. - i = time::add(i, +DELTA_MARSEPOCH_JANSIX); + i = time::add(i, DELTA_MARSEPOCH_JANSIX); return [i]; case => diff --git a/time/date/daydate.ha b/time/date/daydate.ha @@ -54,8 +54,7 @@ fn calc_year_daycnt(y: int) int = { fn calc_janfirstweekday(y: int) int = { const y = (y % 400) + 400; // keep year > 0 (using Gregorian cycle) // Gauss' algorithm - const wd = ( - + 5 * ((y - 1) % 4) + const wd = (5 * ((y - 1) % 4) + 4 * ((y - 1) % 100) + 6 * ((y - 1) % 400) ) % 7; diff --git a/time/date/reckon.ha b/time/date/reckon.ha @@ -391,14 +391,14 @@ fn reckon_nanoseconds(r: *virtual, nsecs: i64, calc: calculus) void = { let a = new(chrono::UTC, 0, 2000, 12, 31)!; let ps = [ - period { years = +1, months = +1, days = +1, ... }, + period { years = 1, months = 1, days = 1, ... }, period { years = -1, months = -1, days = -1, ... }, period { years = -1, months = -1, days = -1, ... }, - period { years = +1, months = +1, days = +1, ... }, - period { hours = +1, minutes = +1, seconds = +1, ... }, + period { years = 1, months = 1, days = 1, ... }, + period { hours = 1, minutes = 1, seconds = 1, ... }, period { hours = -1, minutes = -1, seconds = -1, ... }, period { hours = -1, minutes = -1, seconds = -1, ... }, - period { hours = +1, minutes = +1, seconds = +1, ... }, + period { hours = 1, minutes = 1, seconds = 1, ... }, ]; let r = reckon(a, 0, ps[..1]...); @@ -437,14 +437,14 @@ fn reckon_nanoseconds(r: *virtual, nsecs: i64, calc: calculus) void = { let a = new(chrono::UTC, 0, 2000, 12, 31)!; let ps = [ - period { years = +1, months = +1, days = +1, ... }, + period { years = 1, months = 1, days = 1, ... }, period { years = -1, months = -1, days = -1, ... }, period { years = -1, months = -1, days = -1, ... }, - period { years = +1, months = +1, days = +1, ... }, - period { hours = +1, minutes = +1, seconds = +1, ... }, + period { years = 1, months = 1, days = 1, ... }, + period { hours = 1, minutes = 1, seconds = 1, ... }, period { hours = -1, minutes = -1, seconds = -1, ... }, period { hours = -1, minutes = -1, seconds = -1, ... }, - period { hours = +1, minutes = +1, seconds = +1, ... }, + period { hours = 1, minutes = 1, seconds = 1, ... }, ]; let r = reckon(a, calculus::REVSIG, ps[..1]...);