diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/netlist/core/netlist_state.h | 22 | ||||
-rw-r--r-- | src/lib/netlist/devices/nlid_proxy.cpp | 16 | ||||
-rw-r--r-- | src/lib/netlist/generated/static_solvers.cpp | 3039 | ||||
-rw-r--r-- | src/lib/netlist/nl_base.cpp | 1 | ||||
-rw-r--r-- | src/lib/netlist/nl_errstr.h | 11 | ||||
-rw-r--r-- | src/lib/netlist/nl_setup.cpp | 2 | ||||
-rw-r--r-- | src/lib/netlist/prg/nltool.cpp | 4 | ||||
-rw-r--r-- | src/lib/netlist/solver/nld_ms_gcr.h | 5 | ||||
-rw-r--r-- | src/lib/netlist/solver/nld_solver.cpp | 49 | ||||
-rw-r--r-- | src/lib/util/avhuff.cpp | 23 | ||||
-rw-r--r-- | src/lib/util/avhuff.h | 64 | ||||
-rw-r--r-- | src/lib/util/aviio.cpp | 16 | ||||
-rw-r--r-- | src/lib/util/bitmap.cpp | 19 | ||||
-rw-r--r-- | src/lib/util/bitmap.h | 79 | ||||
-rw-r--r-- | src/lib/util/chdcodec.cpp | 2 | ||||
-rw-r--r-- | src/lib/util/png.cpp | 18 |
16 files changed, 1420 insertions, 1950 deletions
diff --git a/src/lib/netlist/core/netlist_state.h b/src/lib/netlist/core/netlist_state.h index 8f24fb09d94..dc9888579f5 100644 --- a/src/lib/netlist/core/netlist_state.h +++ b/src/lib/netlist/core/netlist_state.h @@ -217,24 +217,6 @@ namespace netlist device_arena &pool() noexcept { return m_pool; } const device_arena &pool() const noexcept { return m_pool; } - /// \brief set extended validation mode. - /// - /// The extended validation mode is not intended for running. - /// The intention is to identify power pins which are not properly - /// connected. The downside is that this mode creates a netlist which - /// is different (and not able to run). - /// - /// Extended validation is supported by nltool validate option. - /// - /// \param val Boolean value enabling/disabling extended validation mode - void set_extended_validation(bool val) { m_extended_validation = val; } - - /// \brief State of extended validation mode. - /// - /// \returns boolean value indicating if extended validation mode is - /// turned on. - bool is_extended_validation() const { return m_extended_validation; } - struct stats_info { const detail::queue_t &m_queue;// performance @@ -263,7 +245,7 @@ namespace netlist plib::state_manager_t m_state; log_type m_log; - // FIXME: should only be available during device construcion + // FIXME: should only be available during device construction host_arena::unique_ptr<setup_t> m_setup; nets_collection_type m_nets; @@ -271,8 +253,6 @@ namespace netlist devices_collection_type m_devices; // sole use is to manage lifetime of family objects family_collection_type m_family_cache; - bool m_extended_validation; - // dummy version int m_dummy_version; }; diff --git a/src/lib/netlist/devices/nlid_proxy.cpp b/src/lib/netlist/devices/nlid_proxy.cpp index fb93d642a79..e8cc27fc987 100644 --- a/src/lib/netlist/devices/nlid_proxy.cpp +++ b/src/lib/netlist/devices/nlid_proxy.cpp @@ -124,19 +124,9 @@ namespace netlist { register_subalias("Q", "RN.1"); - log().verbose("D/A Proxy: Found power terminals on device {1}", out_proxied->device().name()); - if (anetlist.is_extended_validation()) - { - // During validation, don't connect to terminals found - // This will cause terminals not connected to a rail net to - // fail connection stage. - connect(m_RN.N(), m_RP.P()); - } - else - { - connect(m_RN.N(), *m_tn); - connect(m_RP.P(), *m_tp); - } + connect(m_RN.N(), *m_tn); + connect(m_RP.P(), *m_tp); + connect(m_RN.P(), m_RP.N()); } diff --git a/src/lib/netlist/generated/static_solvers.cpp b/src/lib/netlist/generated/static_solvers.cpp index f945088b84c..3dfe1def465 100644 --- a/src/lib/netlist/generated/static_solvers.cpp +++ b/src/lib/netlist/generated/static_solvers.cpp @@ -393,6 +393,1021 @@ static void nl_gcr_1250f340dea396ae_22_double_double(double * __restrict V, cons V[0] = (RHS0 - tmp0) / m_A0; } +// astrob +static void nl_gcr_13833bf8c127deaa_154_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + plib::unused_var(cnV); + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + double m_A104(0.0); + double m_A105(0.0); + double m_A106(0.0); + double m_A107(0.0); + double m_A108(0.0); + double m_A109(0.0); + double m_A110(0.0); + double m_A111(0.0); + double m_A112(0.0); + double m_A113(0.0); + double m_A114(0.0); + double m_A115(0.0); + double m_A116(0.0); + double m_A117(0.0); + double m_A118(0.0); + double m_A119(0.0); + double m_A120(0.0); + double m_A121(0.0); + double m_A122(0.0); + double m_A123(0.0); + double m_A124(0.0); + double m_A125(0.0); + double m_A126(0.0); + double m_A127(0.0); + double m_A128(0.0); + double m_A129(0.0); + double m_A130(0.0); + double m_A131(0.0); + double m_A132(0.0); + double m_A133(0.0); + double m_A134(0.0); + double m_A135(0.0); + double m_A136(0.0); + double m_A137(0.0); + double m_A138(0.0); + double m_A139(0.0); + double m_A140(0.0); + double m_A141(0.0); + double m_A142(0.0); + double m_A143(0.0); + double m_A144(0.0); + double m_A145(0.0); + double m_A146(0.0); + double m_A147(0.0); + double m_A148(0.0); + double m_A149(0.0); + double m_A150(0.0); + double m_A151(0.0); + double m_A152(0.0); + double m_A153(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 -= go[3] * *cnV[3]; + m_A4 += gt[4]; + m_A4 += gt[5]; + m_A5 += go[4]; + double RHS2 = Idr[4]; + RHS2 += Idr[5]; + RHS2 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A7 += go[6]; + double RHS3 = Idr[6]; + RHS3 += Idr[7]; + RHS3 -= go[7] * *cnV[7]; + m_A8 += gt[8]; + m_A8 += gt[9]; + m_A9 += go[8]; + m_A10 += go[9]; + double RHS4 = Idr[8]; + RHS4 += Idr[9]; + m_A11 += gt[10]; + m_A11 += gt[11]; + m_A11 += gt[12]; + m_A12 += go[10]; + double RHS5 = Idr[10]; + RHS5 += Idr[11]; + RHS5 += Idr[12]; + RHS5 -= go[11] * *cnV[11]; + RHS5 -= go[12] * *cnV[12]; + m_A13 += gt[13]; + m_A13 += gt[14]; + m_A13 += gt[15]; + m_A13 += gt[16]; + m_A14 += go[13]; + m_A14 += go[14]; + m_A15 += go[15]; + double RHS6 = Idr[13]; + RHS6 += Idr[14]; + RHS6 += Idr[15]; + RHS6 += Idr[16]; + RHS6 -= go[16] * *cnV[16]; + m_A16 += gt[17]; + m_A16 += gt[18]; + m_A16 += gt[19]; + m_A16 += gt[20]; + m_A16 += gt[21]; + m_A16 += gt[22]; + m_A18 += go[17]; + m_A17 += go[18]; + double RHS7 = Idr[17]; + RHS7 += Idr[18]; + RHS7 += Idr[19]; + RHS7 += Idr[20]; + RHS7 += Idr[21]; + RHS7 += Idr[22]; + RHS7 -= go[19] * *cnV[19]; + RHS7 -= go[20] * *cnV[20]; + RHS7 -= go[21] * *cnV[21]; + RHS7 -= go[22] * *cnV[22]; + m_A19 += gt[23]; + m_A19 += gt[24]; + m_A19 += gt[25]; + m_A20 += go[23]; + double RHS8 = Idr[23]; + RHS8 += Idr[24]; + RHS8 += Idr[25]; + RHS8 -= go[24] * *cnV[24]; + RHS8 -= go[25] * *cnV[25]; + m_A21 += gt[26]; + m_A21 += gt[27]; + m_A21 += gt[28]; + m_A22 += go[26]; + double RHS9 = Idr[26]; + RHS9 += Idr[27]; + RHS9 += Idr[28]; + RHS9 -= go[27] * *cnV[27]; + RHS9 -= go[28] * *cnV[28]; + m_A23 += gt[29]; + m_A23 += gt[30]; + m_A23 += gt[31]; + m_A24 += go[29]; + double RHS10 = Idr[29]; + RHS10 += Idr[30]; + RHS10 += Idr[31]; + RHS10 -= go[30] * *cnV[30]; + RHS10 -= go[31] * *cnV[31]; + m_A25 += gt[32]; + m_A25 += gt[33]; + m_A25 += gt[34]; + m_A26 += go[32]; + double RHS11 = Idr[32]; + RHS11 += Idr[33]; + RHS11 += Idr[34]; + RHS11 -= go[33] * *cnV[33]; + RHS11 -= go[34] * *cnV[34]; + m_A27 += gt[35]; + m_A27 += gt[36]; + m_A27 += gt[37]; + m_A28 += go[35]; + double RHS12 = Idr[35]; + RHS12 += Idr[36]; + RHS12 += Idr[37]; + RHS12 -= go[36] * *cnV[36]; + RHS12 -= go[37] * *cnV[37]; + m_A29 += gt[38]; + m_A29 += gt[39]; + m_A30 += go[38]; + double RHS13 = Idr[38]; + RHS13 += Idr[39]; + RHS13 -= go[39] * *cnV[39]; + m_A31 += gt[40]; + m_A31 += gt[41]; + m_A31 += gt[42]; + m_A32 += go[40]; + double RHS14 = Idr[40]; + RHS14 += Idr[41]; + RHS14 += Idr[42]; + RHS14 -= go[41] * *cnV[41]; + RHS14 -= go[42] * *cnV[42]; + m_A33 += gt[43]; + m_A33 += gt[44]; + m_A34 += go[43]; + double RHS15 = Idr[43]; + RHS15 += Idr[44]; + RHS15 -= go[44] * *cnV[44]; + m_A35 += gt[45]; + m_A35 += gt[46]; + m_A36 += go[45]; + double RHS16 = Idr[45]; + RHS16 += Idr[46]; + RHS16 -= go[46] * *cnV[46]; + m_A37 += gt[47]; + m_A37 += gt[48]; + m_A38 += go[47]; + double RHS17 = Idr[47]; + RHS17 += Idr[48]; + RHS17 -= go[48] * *cnV[48]; + m_A39 += gt[49]; + m_A39 += gt[50]; + m_A40 += go[49]; + double RHS18 = Idr[49]; + RHS18 += Idr[50]; + RHS18 -= go[50] * *cnV[50]; + m_A41 += gt[51]; + m_A41 += gt[52]; + m_A42 += go[51]; + double RHS19 = Idr[51]; + RHS19 += Idr[52]; + RHS19 -= go[52] * *cnV[52]; + m_A43 += gt[53]; + m_A43 += gt[54]; + m_A44 += go[53]; + double RHS20 = Idr[53]; + RHS20 += Idr[54]; + RHS20 -= go[54] * *cnV[54]; + m_A45 += gt[55]; + m_A45 += gt[56]; + m_A45 += gt[57]; + m_A45 += gt[58]; + m_A45 += gt[59]; + m_A46 += go[55]; + m_A48 += go[56]; + m_A47 += go[57]; + double RHS21 = Idr[55]; + RHS21 += Idr[56]; + RHS21 += Idr[57]; + RHS21 += Idr[58]; + RHS21 += Idr[59]; + RHS21 -= go[58] * *cnV[58]; + RHS21 -= go[59] * *cnV[59]; + m_A49 += gt[60]; + m_A49 += gt[61]; + m_A49 += gt[62]; + m_A50 += go[60]; + double RHS22 = Idr[60]; + RHS22 += Idr[61]; + RHS22 += Idr[62]; + RHS22 -= go[61] * *cnV[61]; + RHS22 -= go[62] * *cnV[62]; + m_A51 += gt[63]; + m_A51 += gt[64]; + m_A52 += go[63]; + double RHS23 = Idr[63]; + RHS23 += Idr[64]; + RHS23 -= go[64] * *cnV[64]; + m_A55 += gt[65]; + m_A55 += gt[66]; + m_A55 += gt[67]; + m_A55 += gt[68]; + m_A54 += go[65]; + m_A53 += go[66]; + double RHS24 = Idr[65]; + RHS24 += Idr[66]; + RHS24 += Idr[67]; + RHS24 += Idr[68]; + RHS24 -= go[67] * *cnV[67]; + RHS24 -= go[68] * *cnV[68]; + m_A57 += gt[69]; + m_A57 += gt[70]; + m_A58 += go[69]; + double RHS25 = Idr[69]; + RHS25 += Idr[70]; + RHS25 -= go[70] * *cnV[70]; + m_A59 += gt[71]; + m_A59 += gt[72]; + m_A59 += gt[73]; + m_A60 += go[71]; + double RHS26 = Idr[71]; + RHS26 += Idr[72]; + RHS26 += Idr[73]; + RHS26 -= go[72] * *cnV[72]; + RHS26 -= go[73] * *cnV[73]; + m_A61 += gt[74]; + m_A61 += gt[75]; + m_A61 += gt[76]; + m_A62 += go[74]; + double RHS27 = Idr[74]; + RHS27 += Idr[75]; + RHS27 += Idr[76]; + RHS27 -= go[75] * *cnV[75]; + RHS27 -= go[76] * *cnV[76]; + m_A63 += gt[77]; + m_A63 += gt[78]; + m_A63 += gt[79]; + m_A64 += go[77]; + double RHS28 = Idr[77]; + RHS28 += Idr[78]; + RHS28 += Idr[79]; + RHS28 -= go[78] * *cnV[78]; + RHS28 -= go[79] * *cnV[79]; + m_A65 += gt[80]; + m_A65 += gt[81]; + m_A67 += go[80]; + m_A66 += go[81]; + double RHS29 = Idr[80]; + RHS29 += Idr[81]; + m_A68 += gt[82]; + m_A68 += gt[83]; + m_A70 += go[82]; + m_A69 += go[83]; + double RHS30 = Idr[82]; + RHS30 += Idr[83]; + m_A71 += gt[84]; + m_A71 += gt[85]; + m_A73 += go[84]; + m_A72 += go[85]; + double RHS31 = Idr[84]; + RHS31 += Idr[85]; + m_A77 += gt[86]; + m_A77 += gt[87]; + m_A77 += gt[88]; + m_A77 += gt[89]; + m_A77 += gt[90]; + m_A77 += gt[91]; + m_A77 += gt[92]; + m_A74 += go[86]; + m_A75 += go[87]; + m_A75 += go[88]; + m_A78 += go[89]; + m_A78 += go[90]; + double RHS32 = Idr[86]; + RHS32 += Idr[87]; + RHS32 += Idr[88]; + RHS32 += Idr[89]; + RHS32 += Idr[90]; + RHS32 += Idr[91]; + RHS32 += Idr[92]; + RHS32 -= go[91] * *cnV[91]; + RHS32 -= go[92] * *cnV[92]; + m_A83 += gt[93]; + m_A83 += gt[94]; + m_A83 += gt[95]; + m_A83 += gt[96]; + m_A83 += gt[97]; + m_A83 += gt[98]; + m_A83 += gt[99]; + m_A83 += gt[100]; + m_A83 += gt[101]; + m_A85 += go[93]; + m_A85 += go[94]; + m_A84 += go[95]; + m_A84 += go[96]; + m_A82 += go[97]; + m_A81 += go[98]; + m_A80 += go[99]; + m_A79 += go[100]; + double RHS33 = Idr[93]; + RHS33 += Idr[94]; + RHS33 += Idr[95]; + RHS33 += Idr[96]; + RHS33 += Idr[97]; + RHS33 += Idr[98]; + RHS33 += Idr[99]; + RHS33 += Idr[100]; + RHS33 += Idr[101]; + RHS33 -= go[101] * *cnV[101]; + m_A92 += gt[102]; + m_A92 += gt[103]; + m_A92 += gt[104]; + m_A92 += gt[105]; + m_A92 += gt[106]; + m_A92 += gt[107]; + m_A91 += go[102]; + m_A90 += go[103]; + m_A89 += go[104]; + m_A88 += go[105]; + m_A87 += go[106]; + m_A86 += go[107]; + double RHS34 = Idr[102]; + RHS34 += Idr[103]; + RHS34 += Idr[104]; + RHS34 += Idr[105]; + RHS34 += Idr[106]; + RHS34 += Idr[107]; + m_A95 += gt[108]; + m_A95 += gt[109]; + m_A95 += gt[110]; + m_A95 += gt[111]; + m_A95 += gt[112]; + m_A95 += gt[113]; + m_A95 += gt[114]; + m_A97 += go[108]; + m_A94 += go[109]; + double RHS35 = Idr[108]; + RHS35 += Idr[109]; + RHS35 += Idr[110]; + RHS35 += Idr[111]; + RHS35 += Idr[112]; + RHS35 += Idr[113]; + RHS35 += Idr[114]; + RHS35 -= go[110] * *cnV[110]; + RHS35 -= go[111] * *cnV[111]; + RHS35 -= go[112] * *cnV[112]; + RHS35 -= go[113] * *cnV[113]; + RHS35 -= go[114] * *cnV[114]; + m_A99 += gt[115]; + m_A99 += gt[116]; + m_A98 += go[115]; + m_A100 += go[116]; + double RHS36 = Idr[115]; + RHS36 += Idr[116]; + m_A107 += gt[117]; + m_A107 += gt[118]; + m_A107 += gt[119]; + m_A107 += gt[120]; + m_A107 += gt[121]; + m_A107 += gt[122]; + m_A106 += go[117]; + m_A105 += go[118]; + m_A104 += go[119]; + m_A103 += go[120]; + m_A102 += go[121]; + m_A101 += go[122]; + double RHS37 = Idr[117]; + RHS37 += Idr[118]; + RHS37 += Idr[119]; + RHS37 += Idr[120]; + RHS37 += Idr[121]; + RHS37 += Idr[122]; + m_A112 += gt[123]; + m_A112 += gt[124]; + m_A112 += gt[125]; + m_A112 += gt[126]; + m_A112 += gt[127]; + m_A111 += go[123]; + m_A110 += go[124]; + m_A109 += go[125]; + double RHS38 = Idr[123]; + RHS38 += Idr[124]; + RHS38 += Idr[125]; + RHS38 += Idr[126]; + RHS38 += Idr[127]; + RHS38 -= go[126] * *cnV[126]; + RHS38 -= go[127] * *cnV[127]; + m_A118 += gt[128]; + m_A118 += gt[129]; + m_A118 += gt[130]; + m_A118 += gt[131]; + m_A118 += gt[132]; + m_A118 += gt[133]; + m_A118 += gt[134]; + m_A118 += gt[135]; + m_A118 += gt[136]; + m_A119 += go[128]; + m_A115 += go[129]; + m_A114 += go[130]; + m_A116 += go[131]; + m_A116 += go[132]; + m_A117 += go[133]; + m_A117 += go[134]; + double RHS39 = Idr[128]; + RHS39 += Idr[129]; + RHS39 += Idr[130]; + RHS39 += Idr[131]; + RHS39 += Idr[132]; + RHS39 += Idr[133]; + RHS39 += Idr[134]; + RHS39 += Idr[135]; + RHS39 += Idr[136]; + RHS39 -= go[135] * *cnV[135]; + RHS39 -= go[136] * *cnV[136]; + m_A121 += gt[137]; + m_A121 += gt[138]; + m_A120 += go[137]; + m_A122 += go[138]; + double RHS40 = Idr[137]; + RHS40 += Idr[138]; + m_A127 += gt[139]; + m_A127 += gt[140]; + m_A127 += gt[141]; + m_A127 += gt[142]; + m_A127 += gt[143]; + m_A126 += go[139]; + m_A125 += go[140]; + m_A124 += go[141]; + m_A123 += go[142]; + m_A128 += go[143]; + double RHS41 = Idr[139]; + RHS41 += Idr[140]; + RHS41 += Idr[141]; + RHS41 += Idr[142]; + RHS41 += Idr[143]; + m_A134 += gt[144]; + m_A134 += gt[145]; + m_A134 += gt[146]; + m_A134 += gt[147]; + m_A134 += gt[148]; + m_A134 += gt[149]; + m_A130 += go[144]; + m_A129 += go[145]; + m_A133 += go[146]; + m_A131 += go[147]; + m_A131 += go[148]; + double RHS42 = Idr[144]; + RHS42 += Idr[145]; + RHS42 += Idr[146]; + RHS42 += Idr[147]; + RHS42 += Idr[148]; + RHS42 += Idr[149]; + RHS42 -= go[149] * *cnV[149]; + m_A137 += gt[150]; + m_A137 += gt[151]; + m_A136 += go[150]; + m_A138 += go[151]; + double RHS43 = Idr[150]; + RHS43 += Idr[151]; + m_A153 += gt[152]; + m_A153 += gt[153]; + m_A153 += gt[154]; + m_A153 += gt[155]; + m_A153 += gt[156]; + m_A153 += gt[157]; + m_A153 += gt[158]; + m_A153 += gt[159]; + m_A152 += go[152]; + m_A140 += go[153]; + m_A141 += go[154]; + m_A142 += go[155]; + m_A149 += go[156]; + m_A145 += go[157]; + m_A150 += go[158]; + m_A139 += go[159]; + double RHS44 = Idr[152]; + RHS44 += Idr[153]; + RHS44 += Idr[154]; + RHS44 += Idr[155]; + RHS44 += Idr[156]; + RHS44 += Idr[157]; + RHS44 += Idr[158]; + RHS44 += Idr[159]; + const double f0 = 1.0 / m_A0; + const double f0_33 = -f0 * m_A79; + m_A83 += m_A1 * f0_33; + RHS33 += f0_33 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_33 = -f1 * m_A80; + m_A83 += m_A3 * f1_33; + RHS33 += f1_33 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_33 = -f2 * m_A81; + m_A83 += m_A5 * f2_33; + RHS33 += f2_33 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_33 = -f3 * m_A82; + m_A83 += m_A7 * f3_33; + RHS33 += f3_33 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_24 = -f4 * m_A53; + m_A55 += m_A9 * f4_24; + m_A56 += m_A10 * f4_24; + RHS24 += f4_24 * RHS4; + const double f4_32 = -f4 * m_A74; + m_A76 += m_A9 * f4_32; + m_A77 += m_A10 * f4_32; + RHS32 += f4_32 * RHS4; + const double f5 = 1.0 / m_A11; + const double f5_24 = -f5 * m_A54; + m_A55 += m_A12 * f5_24; + RHS24 += f5_24 * RHS5; + const double f6 = 1.0 / m_A13; + const double f6_32 = -f6 * m_A75; + m_A77 += m_A14 * f6_32; + m_A78 += m_A15 * f6_32; + RHS32 += f6_32 * RHS6; + const double f6_39 = -f6 * m_A114; + m_A116 += m_A14 * f6_39; + m_A118 += m_A15 * f6_39; + RHS39 += f6_39 * RHS6; + const double f7 = 1.0 / m_A16; + const double f7_35 = -f7 * m_A94; + m_A96 += m_A17 * f7_35; + m_A97 += m_A18 * f7_35; + RHS35 += f7_35 * RHS7; + const double f7_39 = -f7 * m_A115; + m_A118 += m_A17 * f7_39; + m_A119 += m_A18 * f7_39; + RHS39 += f7_39 * RHS7; + const double f7_42 = -f7 * m_A129; + m_A133 += m_A17 * f7_42; + m_A134 += m_A18 * f7_42; + RHS42 += f7_42 * RHS7; + const double f8 = 1.0 / m_A19; + const double f8_37 = -f8 * m_A101; + m_A107 += m_A20 * f8_37; + RHS37 += f8_37 * RHS8; + const double f9 = 1.0 / m_A21; + const double f9_37 = -f9 * m_A102; + m_A107 += m_A22 * f9_37; + RHS37 += f9_37 * RHS9; + const double f10 = 1.0 / m_A23; + const double f10_37 = -f10 * m_A103; + m_A107 += m_A24 * f10_37; + RHS37 += f10_37 * RHS10; + const double f11 = 1.0 / m_A25; + const double f11_37 = -f11 * m_A104; + m_A107 += m_A26 * f11_37; + RHS37 += f11_37 * RHS11; + const double f12 = 1.0 / m_A27; + const double f12_37 = -f12 * m_A105; + m_A107 += m_A28 * f12_37; + RHS37 += f12_37 * RHS12; + const double f13 = 1.0 / m_A29; + const double f13_38 = -f13 * m_A109; + m_A112 += m_A30 * f13_38; + RHS38 += f13_38 * RHS13; + const double f14 = 1.0 / m_A31; + const double f14_34 = -f14 * m_A86; + m_A92 += m_A32 * f14_34; + RHS34 += f14_34 * RHS14; + const double f15 = 1.0 / m_A33; + const double f15_41 = -f15 * m_A123; + m_A127 += m_A34 * f15_41; + RHS41 += f15_41 * RHS15; + const double f16 = 1.0 / m_A35; + const double f16_36 = -f16 * m_A98; + m_A99 += m_A36 * f16_36; + RHS36 += f16_36 * RHS16; + const double f17 = 1.0 / m_A37; + const double f17_40 = -f17 * m_A120; + m_A121 += m_A38 * f17_40; + RHS40 += f17_40 * RHS17; + const double f18 = 1.0 / m_A39; + const double f18_41 = -f18 * m_A124; + m_A127 += m_A40 * f18_41; + RHS41 += f18_41 * RHS18; + const double f19 = 1.0 / m_A41; + const double f19_41 = -f19 * m_A125; + m_A127 += m_A42 * f19_41; + RHS41 += f19_41 * RHS19; + const double f20 = 1.0 / m_A43; + const double f20_41 = -f20 * m_A126; + m_A127 += m_A44 * f20_41; + RHS41 += f20_41 * RHS20; + const double f21 = 1.0 / m_A45; + const double f21_42 = -f21 * m_A130; + m_A132 += m_A46 * f21_42; + m_A134 += m_A47 * f21_42; + m_A135 += m_A48 * f21_42; + RHS42 += f21_42 * RHS21; + const double f21_44 = -f21 * m_A139; + m_A144 += m_A46 * f21_44; + m_A151 += m_A47 * f21_44; + m_A153 += m_A48 * f21_44; + RHS44 += f21_44 * RHS21; + const double f22 = 1.0 / m_A49; + const double f22_34 = -f22 * m_A87; + m_A92 += m_A50 * f22_34; + RHS34 += f22_34 * RHS22; + const double f23 = 1.0 / m_A51; + const double f23_43 = -f23 * m_A136; + m_A137 += m_A52 * f23_43; + RHS43 += f23_43 * RHS23; + const double f24 = 1.0 / m_A55; + const double f24_32 = -f24 * m_A76; + m_A77 += m_A56 * f24_32; + RHS32 += f24_32 * RHS24; + const double f25 = 1.0 / m_A57; + const double f25_38 = -f25 * m_A110; + m_A112 += m_A58 * f25_38; + RHS38 += f25_38 * RHS25; + const double f26 = 1.0 / m_A59; + const double f26_34 = -f26 * m_A88; + m_A92 += m_A60 * f26_34; + RHS34 += f26_34 * RHS26; + const double f27 = 1.0 / m_A61; + const double f27_34 = -f27 * m_A89; + m_A92 += m_A62 * f27_34; + RHS34 += f27_34 * RHS27; + const double f28 = 1.0 / m_A63; + const double f28_34 = -f28 * m_A90; + m_A92 += m_A64 * f28_34; + RHS34 += f28_34 * RHS28; + const double f29 = 1.0 / m_A65; + const double f29_34 = -f29 * m_A91; + m_A92 += m_A66 * f29_34; + m_A93 += m_A67 * f29_34; + RHS34 += f29_34 * RHS29; + const double f29_44 = -f29 * m_A140; + m_A143 += m_A66 * f29_44; + m_A153 += m_A67 * f29_44; + RHS44 += f29_44 * RHS29; + const double f30 = 1.0 / m_A68; + const double f30_37 = -f30 * m_A106; + m_A107 += m_A69 * f30_37; + m_A108 += m_A70 * f30_37; + RHS37 += f30_37 * RHS30; + const double f30_44 = -f30 * m_A141; + m_A146 += m_A69 * f30_44; + m_A153 += m_A70 * f30_44; + RHS44 += f30_44 * RHS30; + const double f31 = 1.0 / m_A71; + const double f31_38 = -f31 * m_A111; + m_A112 += m_A72 * f31_38; + m_A113 += m_A73 * f31_38; + RHS38 += f31_38 * RHS31; + const double f31_44 = -f31 * m_A142; + m_A147 += m_A72 * f31_44; + m_A153 += m_A73 * f31_44; + RHS44 += f31_44 * RHS31; + const double f32 = 1.0 / m_A77; + const double f32_39 = -f32 * m_A116; + m_A118 += m_A78 * f32_39; + RHS39 += f32_39 * RHS32; + const double f33 = 1.0 / m_A83; + const double f33_39 = -f33 * m_A117; + m_A118 += m_A84 * f33_39; + m_A119 += m_A85 * f33_39; + RHS39 += f33_39 * RHS33; + const double f33_42 = -f33 * m_A131; + m_A133 += m_A84 * f33_42; + m_A134 += m_A85 * f33_42; + RHS42 += f33_42 * RHS33; + const double f34 = 1.0 / m_A92; + const double f34_44 = -f34 * m_A143; + m_A153 += m_A93 * f34_44; + RHS44 += f34_44 * RHS34; + const double f35 = 1.0 / m_A95; + const double f35_42 = -f35 * m_A132; + m_A133 += m_A96 * f35_42; + m_A134 += m_A97 * f35_42; + RHS42 += f35_42 * RHS35; + const double f35_44 = -f35 * m_A144; + m_A148 += m_A96 * f35_44; + m_A151 += m_A97 * f35_44; + RHS44 += f35_44 * RHS35; + const double f36 = 1.0 / m_A99; + const double f36_44 = -f36 * m_A145; + m_A153 += m_A100 * f36_44; + RHS44 += f36_44 * RHS36; + const double f37 = 1.0 / m_A107; + const double f37_44 = -f37 * m_A146; + m_A153 += m_A108 * f37_44; + RHS44 += f37_44 * RHS37; + const double f38 = 1.0 / m_A112; + const double f38_44 = -f38 * m_A147; + m_A153 += m_A113 * f38_44; + RHS44 += f38_44 * RHS38; + const double f39 = 1.0 / m_A118; + const double f39_42 = -f39 * m_A133; + m_A134 += m_A119 * f39_42; + RHS42 += f39_42 * RHS39; + const double f39_44 = -f39 * m_A148; + m_A151 += m_A119 * f39_44; + RHS44 += f39_44 * RHS39; + const double f40 = 1.0 / m_A121; + const double f40_44 = -f40 * m_A149; + m_A153 += m_A122 * f40_44; + RHS44 += f40_44 * RHS40; + const double f41 = 1.0 / m_A127; + const double f41_44 = -f41 * m_A150; + m_A153 += m_A128 * f41_44; + RHS44 += f41_44 * RHS41; + const double f42 = 1.0 / m_A134; + const double f42_44 = -f42 * m_A151; + m_A153 += m_A135 * f42_44; + RHS44 += f42_44 * RHS42; + const double f43 = 1.0 / m_A137; + const double f43_44 = -f43 * m_A152; + m_A153 += m_A138 * f43_44; + RHS44 += f43_44 * RHS43; + V[44] = RHS44 / m_A153; + double tmp43 = 0.0; + tmp43 += m_A138 * V[44]; + V[43] = (RHS43 - tmp43) / m_A137; + double tmp42 = 0.0; + tmp42 += m_A135 * V[44]; + V[42] = (RHS42 - tmp42) / m_A134; + double tmp41 = 0.0; + tmp41 += m_A128 * V[44]; + V[41] = (RHS41 - tmp41) / m_A127; + double tmp40 = 0.0; + tmp40 += m_A122 * V[44]; + V[40] = (RHS40 - tmp40) / m_A121; + double tmp39 = 0.0; + tmp39 += m_A119 * V[42]; + V[39] = (RHS39 - tmp39) / m_A118; + double tmp38 = 0.0; + tmp38 += m_A113 * V[44]; + V[38] = (RHS38 - tmp38) / m_A112; + double tmp37 = 0.0; + tmp37 += m_A108 * V[44]; + V[37] = (RHS37 - tmp37) / m_A107; + double tmp36 = 0.0; + tmp36 += m_A100 * V[44]; + V[36] = (RHS36 - tmp36) / m_A99; + double tmp35 = 0.0; + tmp35 += m_A96 * V[39]; + tmp35 += m_A97 * V[42]; + V[35] = (RHS35 - tmp35) / m_A95; + double tmp34 = 0.0; + tmp34 += m_A93 * V[44]; + V[34] = (RHS34 - tmp34) / m_A92; + double tmp33 = 0.0; + tmp33 += m_A84 * V[39]; + tmp33 += m_A85 * V[42]; + V[33] = (RHS33 - tmp33) / m_A83; + double tmp32 = 0.0; + tmp32 += m_A78 * V[39]; + V[32] = (RHS32 - tmp32) / m_A77; + double tmp31 = 0.0; + tmp31 += m_A72 * V[38]; + tmp31 += m_A73 * V[44]; + V[31] = (RHS31 - tmp31) / m_A71; + double tmp30 = 0.0; + tmp30 += m_A69 * V[37]; + tmp30 += m_A70 * V[44]; + V[30] = (RHS30 - tmp30) / m_A68; + double tmp29 = 0.0; + tmp29 += m_A66 * V[34]; + tmp29 += m_A67 * V[44]; + V[29] = (RHS29 - tmp29) / m_A65; + double tmp28 = 0.0; + tmp28 += m_A64 * V[34]; + V[28] = (RHS28 - tmp28) / m_A63; + double tmp27 = 0.0; + tmp27 += m_A62 * V[34]; + V[27] = (RHS27 - tmp27) / m_A61; + double tmp26 = 0.0; + tmp26 += m_A60 * V[34]; + V[26] = (RHS26 - tmp26) / m_A59; + double tmp25 = 0.0; + tmp25 += m_A58 * V[38]; + V[25] = (RHS25 - tmp25) / m_A57; + double tmp24 = 0.0; + tmp24 += m_A56 * V[32]; + V[24] = (RHS24 - tmp24) / m_A55; + double tmp23 = 0.0; + tmp23 += m_A52 * V[43]; + V[23] = (RHS23 - tmp23) / m_A51; + double tmp22 = 0.0; + tmp22 += m_A50 * V[34]; + V[22] = (RHS22 - tmp22) / m_A49; + double tmp21 = 0.0; + tmp21 += m_A46 * V[35]; + tmp21 += m_A47 * V[42]; + tmp21 += m_A48 * V[44]; + V[21] = (RHS21 - tmp21) / m_A45; + double tmp20 = 0.0; + tmp20 += m_A44 * V[41]; + V[20] = (RHS20 - tmp20) / m_A43; + double tmp19 = 0.0; + tmp19 += m_A42 * V[41]; + V[19] = (RHS19 - tmp19) / m_A41; + double tmp18 = 0.0; + tmp18 += m_A40 * V[41]; + V[18] = (RHS18 - tmp18) / m_A39; + double tmp17 = 0.0; + tmp17 += m_A38 * V[40]; + V[17] = (RHS17 - tmp17) / m_A37; + double tmp16 = 0.0; + tmp16 += m_A36 * V[36]; + V[16] = (RHS16 - tmp16) / m_A35; + double tmp15 = 0.0; + tmp15 += m_A34 * V[41]; + V[15] = (RHS15 - tmp15) / m_A33; + double tmp14 = 0.0; + tmp14 += m_A32 * V[34]; + V[14] = (RHS14 - tmp14) / m_A31; + double tmp13 = 0.0; + tmp13 += m_A30 * V[38]; + V[13] = (RHS13 - tmp13) / m_A29; + double tmp12 = 0.0; + tmp12 += m_A28 * V[37]; + V[12] = (RHS12 - tmp12) / m_A27; + double tmp11 = 0.0; + tmp11 += m_A26 * V[37]; + V[11] = (RHS11 - tmp11) / m_A25; + double tmp10 = 0.0; + tmp10 += m_A24 * V[37]; + V[10] = (RHS10 - tmp10) / m_A23; + double tmp9 = 0.0; + tmp9 += m_A22 * V[37]; + V[9] = (RHS9 - tmp9) / m_A21; + double tmp8 = 0.0; + tmp8 += m_A20 * V[37]; + V[8] = (RHS8 - tmp8) / m_A19; + double tmp7 = 0.0; + tmp7 += m_A17 * V[39]; + tmp7 += m_A18 * V[42]; + V[7] = (RHS7 - tmp7) / m_A16; + double tmp6 = 0.0; + tmp6 += m_A14 * V[32]; + tmp6 += m_A15 * V[39]; + V[6] = (RHS6 - tmp6) / m_A13; + double tmp5 = 0.0; + tmp5 += m_A12 * V[24]; + V[5] = (RHS5 - tmp5) / m_A11; + double tmp4 = 0.0; + tmp4 += m_A9 * V[24]; + tmp4 += m_A10 * V[32]; + V[4] = (RHS4 - tmp4) / m_A8; + double tmp3 = 0.0; + tmp3 += m_A7 * V[33]; + V[3] = (RHS3 - tmp3) / m_A6; + double tmp2 = 0.0; + tmp2 += m_A5 * V[33]; + V[2] = (RHS2 - tmp2) / m_A4; + double tmp1 = 0.0; + tmp1 += m_A3 * V[33]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[33]; + V[0] = (RHS0 - tmp0) / m_A0; +} + // pongf static void nl_gcr_13e7b5ac1a260dbf_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) @@ -1176,218 +2191,6 @@ static void nl_gcr_144ed14e6bafdb_119_double_double(double * __restrict V, const V[0] = (RHS0 - tmp0) / m_A0; } -// astrob -static void nl_gcr_15b7648945a58fb_27_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) - -{ - - plib::unused_var(cnV); - double m_A0(0.0); - double m_A1(0.0); - double m_A2(0.0); - double m_A3(0.0); - double m_A4(0.0); - double m_A5(0.0); - double m_A6(0.0); - double m_A7(0.0); - double m_A8(0.0); - double m_A9(0.0); - double m_A10(0.0); - double m_A11(0.0); - double m_A12(0.0); - double m_A13(0.0); - double m_A14(0.0); - double m_A15(0.0); - double m_A16(0.0); - double m_A17(0.0); - double m_A18(0.0); - double m_A19(0.0); - double m_A20(0.0); - double m_A21(0.0); - double m_A22(0.0); - double m_A23(0.0); - double m_A24(0.0); - double m_A25(0.0); - double m_A26(0.0); - m_A0 += gt[0]; - m_A0 += gt[1]; - m_A0 += gt[2]; - m_A0 += gt[3]; - m_A0 += gt[4]; - m_A0 += gt[5]; - m_A0 += gt[6]; - m_A1 += go[0]; - double RHS0 = Idr[0]; - RHS0 += Idr[1]; - RHS0 += Idr[2]; - RHS0 += Idr[3]; - RHS0 += Idr[4]; - RHS0 += Idr[5]; - RHS0 += Idr[6]; - RHS0 -= go[1] * *cnV[1]; - RHS0 -= go[2] * *cnV[2]; - RHS0 -= go[3] * *cnV[3]; - RHS0 -= go[4] * *cnV[4]; - RHS0 -= go[5] * *cnV[5]; - RHS0 -= go[6] * *cnV[6]; - m_A2 += gt[7]; - m_A2 += gt[8]; - m_A2 += gt[9]; - m_A4 += go[7]; - m_A3 += go[8]; - double RHS1 = Idr[7]; - RHS1 += Idr[8]; - RHS1 += Idr[9]; - RHS1 -= go[9] * *cnV[9]; - m_A5 += gt[10]; - m_A5 += gt[11]; - m_A5 += gt[12]; - m_A5 += gt[13]; - m_A5 += gt[14]; - m_A5 += gt[15]; - m_A5 += gt[16]; - m_A6 += go[10]; - double RHS2 = Idr[10]; - RHS2 += Idr[11]; - RHS2 += Idr[12]; - RHS2 += Idr[13]; - RHS2 += Idr[14]; - RHS2 += Idr[15]; - RHS2 += Idr[16]; - RHS2 -= go[11] * *cnV[11]; - RHS2 -= go[12] * *cnV[12]; - RHS2 -= go[13] * *cnV[13]; - RHS2 -= go[14] * *cnV[14]; - RHS2 -= go[15] * *cnV[15]; - RHS2 -= go[16] * *cnV[16]; - m_A7 += gt[17]; - m_A7 += gt[18]; - m_A7 += gt[19]; - m_A7 += gt[20]; - m_A9 += go[17]; - m_A10 += go[18]; - m_A8 += go[19]; - double RHS3 = Idr[17]; - RHS3 += Idr[18]; - RHS3 += Idr[19]; - RHS3 += Idr[20]; - RHS3 -= go[20] * *cnV[20]; - m_A14 += gt[21]; - m_A14 += gt[22]; - m_A14 += gt[23]; - m_A14 += gt[24]; - m_A14 += gt[25]; - m_A11 += go[21]; - m_A13 += go[22]; - m_A12 += go[23]; - double RHS4 = Idr[21]; - RHS4 += Idr[22]; - RHS4 += Idr[23]; - RHS4 += Idr[24]; - RHS4 += Idr[25]; - RHS4 -= go[24] * *cnV[24]; - RHS4 -= go[25] * *cnV[25]; - m_A19 += gt[26]; - m_A19 += gt[27]; - m_A19 += gt[28]; - m_A20 += go[26]; - m_A17 += go[27]; - double RHS5 = Idr[26]; - RHS5 += Idr[27]; - RHS5 += Idr[28]; - RHS5 -= go[28] * *cnV[28]; - m_A26 += gt[29]; - m_A26 += gt[30]; - m_A26 += gt[31]; - m_A26 += gt[32]; - m_A26 += gt[33]; - m_A26 += gt[34]; - m_A26 += gt[35]; - m_A22 += go[29]; - m_A25 += go[30]; - m_A23 += go[31]; - m_A21 += go[32]; - double RHS6 = Idr[29]; - RHS6 += Idr[30]; - RHS6 += Idr[31]; - RHS6 += Idr[32]; - RHS6 += Idr[33]; - RHS6 += Idr[34]; - RHS6 += Idr[35]; - RHS6 -= go[33] * *cnV[33]; - RHS6 -= go[34] * *cnV[34]; - RHS6 -= go[35] * *cnV[35]; - const double f0 = 1.0 / m_A0; - const double f0_4 = -f0 * m_A11; - m_A12 += m_A1 * f0_4; - RHS4 += f0_4 * RHS0; - const double f1 = 1.0 / m_A2; - const double f1_4 = -f1 * m_A12; - m_A14 += m_A3 * f1_4; - m_A16 += m_A4 * f1_4; - RHS4 += f1_4 * RHS1; - const double f1_6 = -f1 * m_A21; - m_A24 += m_A3 * f1_6; - m_A26 += m_A4 * f1_6; - RHS6 += f1_6 * RHS1; - const double f2 = 1.0 / m_A5; - const double f2_6 = -f2 * m_A22; - m_A25 += m_A6 * f2_6; - RHS6 += f2_6 * RHS2; - const double f3 = 1.0 / m_A7; - const double f3_4 = -f3 * m_A13; - m_A14 += m_A8 * f3_4; - m_A15 += m_A9 * f3_4; - m_A16 += m_A10 * f3_4; - RHS4 += f3_4 * RHS3; - const double f3_5 = -f3 * m_A17; - m_A18 += m_A8 * f3_5; - m_A19 += m_A9 * f3_5; - m_A20 += m_A10 * f3_5; - RHS5 += f3_5 * RHS3; - const double f3_6 = -f3 * m_A23; - m_A24 += m_A8 * f3_6; - m_A25 += m_A9 * f3_6; - m_A26 += m_A10 * f3_6; - RHS6 += f3_6 * RHS3; - const double f4 = 1.0 / m_A14; - const double f4_5 = -f4 * m_A18; - m_A19 += m_A15 * f4_5; - m_A20 += m_A16 * f4_5; - RHS5 += f4_5 * RHS4; - const double f4_6 = -f4 * m_A24; - m_A25 += m_A15 * f4_6; - m_A26 += m_A16 * f4_6; - RHS6 += f4_6 * RHS4; - const double f5 = 1.0 / m_A19; - const double f5_6 = -f5 * m_A25; - m_A26 += m_A20 * f5_6; - RHS6 += f5_6 * RHS5; - V[6] = RHS6 / m_A26; - double tmp5 = 0.0; - tmp5 += m_A20 * V[6]; - V[5] = (RHS5 - tmp5) / m_A19; - double tmp4 = 0.0; - tmp4 += m_A15 * V[5]; - tmp4 += m_A16 * V[6]; - V[4] = (RHS4 - tmp4) / m_A14; - double tmp3 = 0.0; - tmp3 += m_A8 * V[4]; - tmp3 += m_A9 * V[5]; - tmp3 += m_A10 * V[6]; - V[3] = (RHS3 - tmp3) / m_A7; - double tmp2 = 0.0; - tmp2 += m_A6 * V[5]; - V[2] = (RHS2 - tmp2) / m_A5; - double tmp1 = 0.0; - tmp1 += m_A3 * V[4]; - tmp1 += m_A4 * V[6]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[1]; - V[0] = (RHS0 - tmp0) / m_A0; -} - // spacewar static void nl_gcr_15e8f6fb021de0f9_28_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) @@ -1581,74 +2384,6 @@ static void nl_gcr_15e8f6fb021de0f9_28_double_double(double * __restrict V, cons V[0] = (RHS0 - tmp0) / m_A0; } -// armora -static void nl_gcr_1692de755a535408_9_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) - -{ - - plib::unused_var(cnV); - double m_A0(0.0); - double m_A1(0.0); - double m_A2(0.0); - double m_A3(0.0); - double m_A4(0.0); - double m_A5(0.0); - double m_A6(0.0); - double m_A7(0.0); - double m_A8(0.0); - m_A0 += gt[0]; - m_A0 += gt[1]; - m_A0 += gt[2]; - m_A2 += go[0]; - m_A1 += go[1]; - m_A1 += go[2]; - double RHS0 = Idr[0]; - RHS0 += Idr[1]; - RHS0 += Idr[2]; - m_A4 += gt[3]; - m_A4 += gt[4]; - m_A4 += gt[5]; - m_A4 += gt[6]; - m_A5 += go[3]; - m_A5 += go[4]; - m_A3 += go[5]; - m_A3 += go[6]; - double RHS1 = Idr[3]; - RHS1 += Idr[4]; - RHS1 += Idr[5]; - RHS1 += Idr[6]; - m_A8 += gt[7]; - m_A8 += gt[8]; - m_A8 += gt[9]; - m_A7 += go[7]; - m_A7 += go[8]; - m_A6 += go[9]; - double RHS2 = Idr[7]; - RHS2 += Idr[8]; - RHS2 += Idr[9]; - const double f0 = 1.0 / m_A0; - const double f0_1 = -f0 * m_A3; - m_A4 += m_A1 * f0_1; - m_A5 += m_A2 * f0_1; - RHS1 += f0_1 * RHS0; - const double f0_2 = -f0 * m_A6; - m_A7 += m_A1 * f0_2; - m_A8 += m_A2 * f0_2; - RHS2 += f0_2 * RHS0; - const double f1 = 1.0 / m_A4; - const double f1_2 = -f1 * m_A7; - m_A8 += m_A5 * f1_2; - RHS2 += f1_2 * RHS1; - V[2] = RHS2 / m_A8; - double tmp1 = 0.0; - tmp1 += m_A5 * V[2]; - V[1] = (RHS1 - tmp1) / m_A4; - double tmp0 = 0.0; - tmp0 += m_A1 * V[1]; - tmp0 += m_A2 * V[2]; - V[0] = (RHS0 - tmp0) / m_A0; -} - // dpatrol static void nl_gcr_18f4d9160b51d613_20_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) @@ -8321,1021 +9056,6 @@ static void nl_gcr_34e910fc1896999f_76_double_double(double * __restrict V, cons V[0] = (RHS0 - tmp0) / m_A0; } -// astrob -static void nl_gcr_37b9bb3472eec580_154_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) - -{ - - plib::unused_var(cnV); - double m_A0(0.0); - double m_A1(0.0); - double m_A2(0.0); - double m_A3(0.0); - double m_A4(0.0); - double m_A5(0.0); - double m_A6(0.0); - double m_A7(0.0); - double m_A8(0.0); - double m_A9(0.0); - double m_A10(0.0); - double m_A11(0.0); - double m_A12(0.0); - double m_A13(0.0); - double m_A14(0.0); - double m_A15(0.0); - double m_A16(0.0); - double m_A17(0.0); - double m_A18(0.0); - double m_A19(0.0); - double m_A20(0.0); - double m_A21(0.0); - double m_A22(0.0); - double m_A23(0.0); - double m_A24(0.0); - double m_A25(0.0); - double m_A26(0.0); - double m_A27(0.0); - double m_A28(0.0); - double m_A29(0.0); - double m_A30(0.0); - double m_A31(0.0); - double m_A32(0.0); - double m_A33(0.0); - double m_A34(0.0); - double m_A35(0.0); - double m_A36(0.0); - double m_A37(0.0); - double m_A38(0.0); - double m_A39(0.0); - double m_A40(0.0); - double m_A41(0.0); - double m_A42(0.0); - double m_A43(0.0); - double m_A44(0.0); - double m_A45(0.0); - double m_A46(0.0); - double m_A47(0.0); - double m_A48(0.0); - double m_A49(0.0); - double m_A50(0.0); - double m_A51(0.0); - double m_A52(0.0); - double m_A53(0.0); - double m_A54(0.0); - double m_A55(0.0); - double m_A56(0.0); - double m_A57(0.0); - double m_A58(0.0); - double m_A59(0.0); - double m_A60(0.0); - double m_A61(0.0); - double m_A62(0.0); - double m_A63(0.0); - double m_A64(0.0); - double m_A65(0.0); - double m_A66(0.0); - double m_A67(0.0); - double m_A68(0.0); - double m_A69(0.0); - double m_A70(0.0); - double m_A71(0.0); - double m_A72(0.0); - double m_A73(0.0); - double m_A74(0.0); - double m_A75(0.0); - double m_A76(0.0); - double m_A77(0.0); - double m_A78(0.0); - double m_A79(0.0); - double m_A80(0.0); - double m_A81(0.0); - double m_A82(0.0); - double m_A83(0.0); - double m_A84(0.0); - double m_A85(0.0); - double m_A86(0.0); - double m_A87(0.0); - double m_A88(0.0); - double m_A89(0.0); - double m_A90(0.0); - double m_A91(0.0); - double m_A92(0.0); - double m_A93(0.0); - double m_A94(0.0); - double m_A95(0.0); - double m_A96(0.0); - double m_A97(0.0); - double m_A98(0.0); - double m_A99(0.0); - double m_A100(0.0); - double m_A101(0.0); - double m_A102(0.0); - double m_A103(0.0); - double m_A104(0.0); - double m_A105(0.0); - double m_A106(0.0); - double m_A107(0.0); - double m_A108(0.0); - double m_A109(0.0); - double m_A110(0.0); - double m_A111(0.0); - double m_A112(0.0); - double m_A113(0.0); - double m_A114(0.0); - double m_A115(0.0); - double m_A116(0.0); - double m_A117(0.0); - double m_A118(0.0); - double m_A119(0.0); - double m_A120(0.0); - double m_A121(0.0); - double m_A122(0.0); - double m_A123(0.0); - double m_A124(0.0); - double m_A125(0.0); - double m_A126(0.0); - double m_A127(0.0); - double m_A128(0.0); - double m_A129(0.0); - double m_A130(0.0); - double m_A131(0.0); - double m_A132(0.0); - double m_A133(0.0); - double m_A134(0.0); - double m_A135(0.0); - double m_A136(0.0); - double m_A137(0.0); - double m_A138(0.0); - double m_A139(0.0); - double m_A140(0.0); - double m_A141(0.0); - double m_A142(0.0); - double m_A143(0.0); - double m_A144(0.0); - double m_A145(0.0); - double m_A146(0.0); - double m_A147(0.0); - double m_A148(0.0); - double m_A149(0.0); - double m_A150(0.0); - double m_A151(0.0); - double m_A152(0.0); - double m_A153(0.0); - m_A0 += gt[0]; - m_A0 += gt[1]; - m_A1 += go[0]; - double RHS0 = Idr[0]; - RHS0 += Idr[1]; - RHS0 -= go[1] * *cnV[1]; - m_A2 += gt[2]; - m_A2 += gt[3]; - m_A3 += go[2]; - double RHS1 = Idr[2]; - RHS1 += Idr[3]; - RHS1 -= go[3] * *cnV[3]; - m_A4 += gt[4]; - m_A4 += gt[5]; - m_A5 += go[4]; - double RHS2 = Idr[4]; - RHS2 += Idr[5]; - RHS2 -= go[5] * *cnV[5]; - m_A6 += gt[6]; - m_A6 += gt[7]; - m_A7 += go[6]; - m_A8 += go[7]; - double RHS3 = Idr[6]; - RHS3 += Idr[7]; - m_A9 += gt[8]; - m_A9 += gt[9]; - m_A9 += gt[10]; - m_A10 += go[8]; - double RHS4 = Idr[8]; - RHS4 += Idr[9]; - RHS4 += Idr[10]; - RHS4 -= go[9] * *cnV[9]; - RHS4 -= go[10] * *cnV[10]; - m_A11 += gt[11]; - m_A11 += gt[12]; - m_A11 += gt[13]; - m_A11 += gt[14]; - m_A12 += go[11]; - m_A12 += go[12]; - m_A13 += go[13]; - double RHS5 = Idr[11]; - RHS5 += Idr[12]; - RHS5 += Idr[13]; - RHS5 += Idr[14]; - RHS5 -= go[14] * *cnV[14]; - m_A14 += gt[15]; - m_A14 += gt[16]; - m_A15 += go[15]; - double RHS6 = Idr[15]; - RHS6 += Idr[16]; - RHS6 -= go[16] * *cnV[16]; - m_A16 += gt[17]; - m_A16 += gt[18]; - m_A16 += gt[19]; - m_A16 += gt[20]; - m_A16 += gt[21]; - m_A16 += gt[22]; - m_A18 += go[17]; - m_A17 += go[18]; - double RHS7 = Idr[17]; - RHS7 += Idr[18]; - RHS7 += Idr[19]; - RHS7 += Idr[20]; - RHS7 += Idr[21]; - RHS7 += Idr[22]; - RHS7 -= go[19] * *cnV[19]; - RHS7 -= go[20] * *cnV[20]; - RHS7 -= go[21] * *cnV[21]; - RHS7 -= go[22] * *cnV[22]; - m_A19 += gt[23]; - m_A19 += gt[24]; - m_A19 += gt[25]; - m_A20 += go[23]; - double RHS8 = Idr[23]; - RHS8 += Idr[24]; - RHS8 += Idr[25]; - RHS8 -= go[24] * *cnV[24]; - RHS8 -= go[25] * *cnV[25]; - m_A21 += gt[26]; - m_A21 += gt[27]; - m_A21 += gt[28]; - m_A22 += go[26]; - double RHS9 = Idr[26]; - RHS9 += Idr[27]; - RHS9 += Idr[28]; - RHS9 -= go[27] * *cnV[27]; - RHS9 -= go[28] * *cnV[28]; - m_A23 += gt[29]; - m_A23 += gt[30]; - m_A23 += gt[31]; - m_A24 += go[29]; - double RHS10 = Idr[29]; - RHS10 += Idr[30]; - RHS10 += Idr[31]; - RHS10 -= go[30] * *cnV[30]; - RHS10 -= go[31] * *cnV[31]; - m_A25 += gt[32]; - m_A25 += gt[33]; - m_A25 += gt[34]; - m_A26 += go[32]; - double RHS11 = Idr[32]; - RHS11 += Idr[33]; - RHS11 += Idr[34]; - RHS11 -= go[33] * *cnV[33]; - RHS11 -= go[34] * *cnV[34]; - m_A27 += gt[35]; - m_A27 += gt[36]; - m_A27 += gt[37]; - m_A28 += go[35]; - double RHS12 = Idr[35]; - RHS12 += Idr[36]; - RHS12 += Idr[37]; - RHS12 -= go[36] * *cnV[36]; - RHS12 -= go[37] * *cnV[37]; - m_A29 += gt[38]; - m_A29 += gt[39]; - m_A30 += go[38]; - double RHS13 = Idr[38]; - RHS13 += Idr[39]; - RHS13 -= go[39] * *cnV[39]; - m_A31 += gt[40]; - m_A31 += gt[41]; - m_A31 += gt[42]; - m_A32 += go[40]; - double RHS14 = Idr[40]; - RHS14 += Idr[41]; - RHS14 += Idr[42]; - RHS14 -= go[41] * *cnV[41]; - RHS14 -= go[42] * *cnV[42]; - m_A33 += gt[43]; - m_A33 += gt[44]; - m_A34 += go[43]; - double RHS15 = Idr[43]; - RHS15 += Idr[44]; - RHS15 -= go[44] * *cnV[44]; - m_A35 += gt[45]; - m_A35 += gt[46]; - m_A36 += go[45]; - double RHS16 = Idr[45]; - RHS16 += Idr[46]; - RHS16 -= go[46] * *cnV[46]; - m_A37 += gt[47]; - m_A37 += gt[48]; - m_A38 += go[47]; - double RHS17 = Idr[47]; - RHS17 += Idr[48]; - RHS17 -= go[48] * *cnV[48]; - m_A39 += gt[49]; - m_A39 += gt[50]; - m_A40 += go[49]; - double RHS18 = Idr[49]; - RHS18 += Idr[50]; - RHS18 -= go[50] * *cnV[50]; - m_A41 += gt[51]; - m_A41 += gt[52]; - m_A42 += go[51]; - double RHS19 = Idr[51]; - RHS19 += Idr[52]; - RHS19 -= go[52] * *cnV[52]; - m_A43 += gt[53]; - m_A43 += gt[54]; - m_A44 += go[53]; - double RHS20 = Idr[53]; - RHS20 += Idr[54]; - RHS20 -= go[54] * *cnV[54]; - m_A45 += gt[55]; - m_A45 += gt[56]; - m_A45 += gt[57]; - m_A45 += gt[58]; - m_A45 += gt[59]; - m_A46 += go[55]; - m_A48 += go[56]; - m_A47 += go[57]; - double RHS21 = Idr[55]; - RHS21 += Idr[56]; - RHS21 += Idr[57]; - RHS21 += Idr[58]; - RHS21 += Idr[59]; - RHS21 -= go[58] * *cnV[58]; - RHS21 -= go[59] * *cnV[59]; - m_A49 += gt[60]; - m_A49 += gt[61]; - m_A49 += gt[62]; - m_A50 += go[60]; - double RHS22 = Idr[60]; - RHS22 += Idr[61]; - RHS22 += Idr[62]; - RHS22 -= go[61] * *cnV[61]; - RHS22 -= go[62] * *cnV[62]; - m_A51 += gt[63]; - m_A51 += gt[64]; - m_A52 += go[63]; - double RHS23 = Idr[63]; - RHS23 += Idr[64]; - RHS23 -= go[64] * *cnV[64]; - m_A55 += gt[65]; - m_A55 += gt[66]; - m_A55 += gt[67]; - m_A55 += gt[68]; - m_A54 += go[65]; - m_A53 += go[66]; - double RHS24 = Idr[65]; - RHS24 += Idr[66]; - RHS24 += Idr[67]; - RHS24 += Idr[68]; - RHS24 -= go[67] * *cnV[67]; - RHS24 -= go[68] * *cnV[68]; - m_A57 += gt[69]; - m_A57 += gt[70]; - m_A58 += go[69]; - double RHS25 = Idr[69]; - RHS25 += Idr[70]; - RHS25 -= go[70] * *cnV[70]; - m_A59 += gt[71]; - m_A59 += gt[72]; - m_A59 += gt[73]; - m_A60 += go[71]; - double RHS26 = Idr[71]; - RHS26 += Idr[72]; - RHS26 += Idr[73]; - RHS26 -= go[72] * *cnV[72]; - RHS26 -= go[73] * *cnV[73]; - m_A61 += gt[74]; - m_A61 += gt[75]; - m_A61 += gt[76]; - m_A62 += go[74]; - double RHS27 = Idr[74]; - RHS27 += Idr[75]; - RHS27 += Idr[76]; - RHS27 -= go[75] * *cnV[75]; - RHS27 -= go[76] * *cnV[76]; - m_A63 += gt[77]; - m_A63 += gt[78]; - m_A63 += gt[79]; - m_A64 += go[77]; - double RHS28 = Idr[77]; - RHS28 += Idr[78]; - RHS28 += Idr[79]; - RHS28 -= go[78] * *cnV[78]; - RHS28 -= go[79] * *cnV[79]; - m_A65 += gt[80]; - m_A65 += gt[81]; - m_A67 += go[80]; - m_A66 += go[81]; - double RHS29 = Idr[80]; - RHS29 += Idr[81]; - m_A68 += gt[82]; - m_A68 += gt[83]; - m_A70 += go[82]; - m_A69 += go[83]; - double RHS30 = Idr[82]; - RHS30 += Idr[83]; - m_A71 += gt[84]; - m_A71 += gt[85]; - m_A73 += go[84]; - m_A72 += go[85]; - double RHS31 = Idr[84]; - RHS31 += Idr[85]; - m_A77 += gt[86]; - m_A77 += gt[87]; - m_A77 += gt[88]; - m_A77 += gt[89]; - m_A77 += gt[90]; - m_A77 += gt[91]; - m_A77 += gt[92]; - m_A74 += go[86]; - m_A75 += go[87]; - m_A75 += go[88]; - m_A78 += go[89]; - m_A78 += go[90]; - double RHS32 = Idr[86]; - RHS32 += Idr[87]; - RHS32 += Idr[88]; - RHS32 += Idr[89]; - RHS32 += Idr[90]; - RHS32 += Idr[91]; - RHS32 += Idr[92]; - RHS32 -= go[91] * *cnV[91]; - RHS32 -= go[92] * *cnV[92]; - m_A83 += gt[93]; - m_A83 += gt[94]; - m_A83 += gt[95]; - m_A83 += gt[96]; - m_A83 += gt[97]; - m_A83 += gt[98]; - m_A83 += gt[99]; - m_A83 += gt[100]; - m_A83 += gt[101]; - m_A85 += go[93]; - m_A85 += go[94]; - m_A84 += go[95]; - m_A84 += go[96]; - m_A82 += go[97]; - m_A81 += go[98]; - m_A80 += go[99]; - m_A79 += go[100]; - double RHS33 = Idr[93]; - RHS33 += Idr[94]; - RHS33 += Idr[95]; - RHS33 += Idr[96]; - RHS33 += Idr[97]; - RHS33 += Idr[98]; - RHS33 += Idr[99]; - RHS33 += Idr[100]; - RHS33 += Idr[101]; - RHS33 -= go[101] * *cnV[101]; - m_A92 += gt[102]; - m_A92 += gt[103]; - m_A92 += gt[104]; - m_A92 += gt[105]; - m_A92 += gt[106]; - m_A92 += gt[107]; - m_A91 += go[102]; - m_A90 += go[103]; - m_A89 += go[104]; - m_A88 += go[105]; - m_A87 += go[106]; - m_A86 += go[107]; - double RHS34 = Idr[102]; - RHS34 += Idr[103]; - RHS34 += Idr[104]; - RHS34 += Idr[105]; - RHS34 += Idr[106]; - RHS34 += Idr[107]; - m_A95 += gt[108]; - m_A95 += gt[109]; - m_A95 += gt[110]; - m_A95 += gt[111]; - m_A95 += gt[112]; - m_A95 += gt[113]; - m_A95 += gt[114]; - m_A97 += go[108]; - m_A94 += go[109]; - double RHS35 = Idr[108]; - RHS35 += Idr[109]; - RHS35 += Idr[110]; - RHS35 += Idr[111]; - RHS35 += Idr[112]; - RHS35 += Idr[113]; - RHS35 += Idr[114]; - RHS35 -= go[110] * *cnV[110]; - RHS35 -= go[111] * *cnV[111]; - RHS35 -= go[112] * *cnV[112]; - RHS35 -= go[113] * *cnV[113]; - RHS35 -= go[114] * *cnV[114]; - m_A99 += gt[115]; - m_A99 += gt[116]; - m_A98 += go[115]; - m_A100 += go[116]; - double RHS36 = Idr[115]; - RHS36 += Idr[116]; - m_A107 += gt[117]; - m_A107 += gt[118]; - m_A107 += gt[119]; - m_A107 += gt[120]; - m_A107 += gt[121]; - m_A107 += gt[122]; - m_A106 += go[117]; - m_A105 += go[118]; - m_A104 += go[119]; - m_A103 += go[120]; - m_A102 += go[121]; - m_A101 += go[122]; - double RHS37 = Idr[117]; - RHS37 += Idr[118]; - RHS37 += Idr[119]; - RHS37 += Idr[120]; - RHS37 += Idr[121]; - RHS37 += Idr[122]; - m_A112 += gt[123]; - m_A112 += gt[124]; - m_A112 += gt[125]; - m_A112 += gt[126]; - m_A112 += gt[127]; - m_A111 += go[123]; - m_A110 += go[124]; - m_A109 += go[125]; - double RHS38 = Idr[123]; - RHS38 += Idr[124]; - RHS38 += Idr[125]; - RHS38 += Idr[126]; - RHS38 += Idr[127]; - RHS38 -= go[126] * *cnV[126]; - RHS38 -= go[127] * *cnV[127]; - m_A118 += gt[128]; - m_A118 += gt[129]; - m_A118 += gt[130]; - m_A118 += gt[131]; - m_A118 += gt[132]; - m_A118 += gt[133]; - m_A118 += gt[134]; - m_A118 += gt[135]; - m_A118 += gt[136]; - m_A119 += go[128]; - m_A115 += go[129]; - m_A114 += go[130]; - m_A116 += go[131]; - m_A116 += go[132]; - m_A117 += go[133]; - m_A117 += go[134]; - double RHS39 = Idr[128]; - RHS39 += Idr[129]; - RHS39 += Idr[130]; - RHS39 += Idr[131]; - RHS39 += Idr[132]; - RHS39 += Idr[133]; - RHS39 += Idr[134]; - RHS39 += Idr[135]; - RHS39 += Idr[136]; - RHS39 -= go[135] * *cnV[135]; - RHS39 -= go[136] * *cnV[136]; - m_A121 += gt[137]; - m_A121 += gt[138]; - m_A120 += go[137]; - m_A122 += go[138]; - double RHS40 = Idr[137]; - RHS40 += Idr[138]; - m_A127 += gt[139]; - m_A127 += gt[140]; - m_A127 += gt[141]; - m_A127 += gt[142]; - m_A127 += gt[143]; - m_A126 += go[139]; - m_A125 += go[140]; - m_A124 += go[141]; - m_A123 += go[142]; - m_A128 += go[143]; - double RHS41 = Idr[139]; - RHS41 += Idr[140]; - RHS41 += Idr[141]; - RHS41 += Idr[142]; - RHS41 += Idr[143]; - m_A134 += gt[144]; - m_A134 += gt[145]; - m_A134 += gt[146]; - m_A134 += gt[147]; - m_A134 += gt[148]; - m_A134 += gt[149]; - m_A130 += go[144]; - m_A129 += go[145]; - m_A133 += go[146]; - m_A131 += go[147]; - m_A131 += go[148]; - double RHS42 = Idr[144]; - RHS42 += Idr[145]; - RHS42 += Idr[146]; - RHS42 += Idr[147]; - RHS42 += Idr[148]; - RHS42 += Idr[149]; - RHS42 -= go[149] * *cnV[149]; - m_A137 += gt[150]; - m_A137 += gt[151]; - m_A136 += go[150]; - m_A138 += go[151]; - double RHS43 = Idr[150]; - RHS43 += Idr[151]; - m_A153 += gt[152]; - m_A153 += gt[153]; - m_A153 += gt[154]; - m_A153 += gt[155]; - m_A153 += gt[156]; - m_A153 += gt[157]; - m_A153 += gt[158]; - m_A153 += gt[159]; - m_A152 += go[152]; - m_A140 += go[153]; - m_A141 += go[154]; - m_A142 += go[155]; - m_A149 += go[156]; - m_A145 += go[157]; - m_A150 += go[158]; - m_A139 += go[159]; - double RHS44 = Idr[152]; - RHS44 += Idr[153]; - RHS44 += Idr[154]; - RHS44 += Idr[155]; - RHS44 += Idr[156]; - RHS44 += Idr[157]; - RHS44 += Idr[158]; - RHS44 += Idr[159]; - const double f0 = 1.0 / m_A0; - const double f0_33 = -f0 * m_A79; - m_A83 += m_A1 * f0_33; - RHS33 += f0_33 * RHS0; - const double f1 = 1.0 / m_A2; - const double f1_33 = -f1 * m_A80; - m_A83 += m_A3 * f1_33; - RHS33 += f1_33 * RHS1; - const double f2 = 1.0 / m_A4; - const double f2_33 = -f2 * m_A81; - m_A83 += m_A5 * f2_33; - RHS33 += f2_33 * RHS2; - const double f3 = 1.0 / m_A6; - const double f3_24 = -f3 * m_A53; - m_A55 += m_A7 * f3_24; - m_A56 += m_A8 * f3_24; - RHS24 += f3_24 * RHS3; - const double f3_32 = -f3 * m_A74; - m_A76 += m_A7 * f3_32; - m_A77 += m_A8 * f3_32; - RHS32 += f3_32 * RHS3; - const double f4 = 1.0 / m_A9; - const double f4_24 = -f4 * m_A54; - m_A55 += m_A10 * f4_24; - RHS24 += f4_24 * RHS4; - const double f5 = 1.0 / m_A11; - const double f5_32 = -f5 * m_A75; - m_A77 += m_A12 * f5_32; - m_A78 += m_A13 * f5_32; - RHS32 += f5_32 * RHS5; - const double f5_39 = -f5 * m_A114; - m_A116 += m_A12 * f5_39; - m_A118 += m_A13 * f5_39; - RHS39 += f5_39 * RHS5; - const double f6 = 1.0 / m_A14; - const double f6_33 = -f6 * m_A82; - m_A83 += m_A15 * f6_33; - RHS33 += f6_33 * RHS6; - const double f7 = 1.0 / m_A16; - const double f7_35 = -f7 * m_A94; - m_A96 += m_A17 * f7_35; - m_A97 += m_A18 * f7_35; - RHS35 += f7_35 * RHS7; - const double f7_39 = -f7 * m_A115; - m_A118 += m_A17 * f7_39; - m_A119 += m_A18 * f7_39; - RHS39 += f7_39 * RHS7; - const double f7_42 = -f7 * m_A129; - m_A133 += m_A17 * f7_42; - m_A134 += m_A18 * f7_42; - RHS42 += f7_42 * RHS7; - const double f8 = 1.0 / m_A19; - const double f8_37 = -f8 * m_A101; - m_A107 += m_A20 * f8_37; - RHS37 += f8_37 * RHS8; - const double f9 = 1.0 / m_A21; - const double f9_37 = -f9 * m_A102; - m_A107 += m_A22 * f9_37; - RHS37 += f9_37 * RHS9; - const double f10 = 1.0 / m_A23; - const double f10_37 = -f10 * m_A103; - m_A107 += m_A24 * f10_37; - RHS37 += f10_37 * RHS10; - const double f11 = 1.0 / m_A25; - const double f11_37 = -f11 * m_A104; - m_A107 += m_A26 * f11_37; - RHS37 += f11_37 * RHS11; - const double f12 = 1.0 / m_A27; - const double f12_37 = -f12 * m_A105; - m_A107 += m_A28 * f12_37; - RHS37 += f12_37 * RHS12; - const double f13 = 1.0 / m_A29; - const double f13_38 = -f13 * m_A109; - m_A112 += m_A30 * f13_38; - RHS38 += f13_38 * RHS13; - const double f14 = 1.0 / m_A31; - const double f14_34 = -f14 * m_A86; - m_A92 += m_A32 * f14_34; - RHS34 += f14_34 * RHS14; - const double f15 = 1.0 / m_A33; - const double f15_41 = -f15 * m_A123; - m_A127 += m_A34 * f15_41; - RHS41 += f15_41 * RHS15; - const double f16 = 1.0 / m_A35; - const double f16_36 = -f16 * m_A98; - m_A99 += m_A36 * f16_36; - RHS36 += f16_36 * RHS16; - const double f17 = 1.0 / m_A37; - const double f17_40 = -f17 * m_A120; - m_A121 += m_A38 * f17_40; - RHS40 += f17_40 * RHS17; - const double f18 = 1.0 / m_A39; - const double f18_41 = -f18 * m_A124; - m_A127 += m_A40 * f18_41; - RHS41 += f18_41 * RHS18; - const double f19 = 1.0 / m_A41; - const double f19_41 = -f19 * m_A125; - m_A127 += m_A42 * f19_41; - RHS41 += f19_41 * RHS19; - const double f20 = 1.0 / m_A43; - const double f20_41 = -f20 * m_A126; - m_A127 += m_A44 * f20_41; - RHS41 += f20_41 * RHS20; - const double f21 = 1.0 / m_A45; - const double f21_42 = -f21 * m_A130; - m_A132 += m_A46 * f21_42; - m_A134 += m_A47 * f21_42; - m_A135 += m_A48 * f21_42; - RHS42 += f21_42 * RHS21; - const double f21_44 = -f21 * m_A139; - m_A144 += m_A46 * f21_44; - m_A151 += m_A47 * f21_44; - m_A153 += m_A48 * f21_44; - RHS44 += f21_44 * RHS21; - const double f22 = 1.0 / m_A49; - const double f22_34 = -f22 * m_A87; - m_A92 += m_A50 * f22_34; - RHS34 += f22_34 * RHS22; - const double f23 = 1.0 / m_A51; - const double f23_43 = -f23 * m_A136; - m_A137 += m_A52 * f23_43; - RHS43 += f23_43 * RHS23; - const double f24 = 1.0 / m_A55; - const double f24_32 = -f24 * m_A76; - m_A77 += m_A56 * f24_32; - RHS32 += f24_32 * RHS24; - const double f25 = 1.0 / m_A57; - const double f25_38 = -f25 * m_A110; - m_A112 += m_A58 * f25_38; - RHS38 += f25_38 * RHS25; - const double f26 = 1.0 / m_A59; - const double f26_34 = -f26 * m_A88; - m_A92 += m_A60 * f26_34; - RHS34 += f26_34 * RHS26; - const double f27 = 1.0 / m_A61; - const double f27_34 = -f27 * m_A89; - m_A92 += m_A62 * f27_34; - RHS34 += f27_34 * RHS27; - const double f28 = 1.0 / m_A63; - const double f28_34 = -f28 * m_A90; - m_A92 += m_A64 * f28_34; - RHS34 += f28_34 * RHS28; - const double f29 = 1.0 / m_A65; - const double f29_34 = -f29 * m_A91; - m_A92 += m_A66 * f29_34; - m_A93 += m_A67 * f29_34; - RHS34 += f29_34 * RHS29; - const double f29_44 = -f29 * m_A140; - m_A143 += m_A66 * f29_44; - m_A153 += m_A67 * f29_44; - RHS44 += f29_44 * RHS29; - const double f30 = 1.0 / m_A68; - const double f30_37 = -f30 * m_A106; - m_A107 += m_A69 * f30_37; - m_A108 += m_A70 * f30_37; - RHS37 += f30_37 * RHS30; - const double f30_44 = -f30 * m_A141; - m_A146 += m_A69 * f30_44; - m_A153 += m_A70 * f30_44; - RHS44 += f30_44 * RHS30; - const double f31 = 1.0 / m_A71; - const double f31_38 = -f31 * m_A111; - m_A112 += m_A72 * f31_38; - m_A113 += m_A73 * f31_38; - RHS38 += f31_38 * RHS31; - const double f31_44 = -f31 * m_A142; - m_A147 += m_A72 * f31_44; - m_A153 += m_A73 * f31_44; - RHS44 += f31_44 * RHS31; - const double f32 = 1.0 / m_A77; - const double f32_39 = -f32 * m_A116; - m_A118 += m_A78 * f32_39; - RHS39 += f32_39 * RHS32; - const double f33 = 1.0 / m_A83; - const double f33_39 = -f33 * m_A117; - m_A118 += m_A84 * f33_39; - m_A119 += m_A85 * f33_39; - RHS39 += f33_39 * RHS33; - const double f33_42 = -f33 * m_A131; - m_A133 += m_A84 * f33_42; - m_A134 += m_A85 * f33_42; - RHS42 += f33_42 * RHS33; - const double f34 = 1.0 / m_A92; - const double f34_44 = -f34 * m_A143; - m_A153 += m_A93 * f34_44; - RHS44 += f34_44 * RHS34; - const double f35 = 1.0 / m_A95; - const double f35_42 = -f35 * m_A132; - m_A133 += m_A96 * f35_42; - m_A134 += m_A97 * f35_42; - RHS42 += f35_42 * RHS35; - const double f35_44 = -f35 * m_A144; - m_A148 += m_A96 * f35_44; - m_A151 += m_A97 * f35_44; - RHS44 += f35_44 * RHS35; - const double f36 = 1.0 / m_A99; - const double f36_44 = -f36 * m_A145; - m_A153 += m_A100 * f36_44; - RHS44 += f36_44 * RHS36; - const double f37 = 1.0 / m_A107; - const double f37_44 = -f37 * m_A146; - m_A153 += m_A108 * f37_44; - RHS44 += f37_44 * RHS37; - const double f38 = 1.0 / m_A112; - const double f38_44 = -f38 * m_A147; - m_A153 += m_A113 * f38_44; - RHS44 += f38_44 * RHS38; - const double f39 = 1.0 / m_A118; - const double f39_42 = -f39 * m_A133; - m_A134 += m_A119 * f39_42; - RHS42 += f39_42 * RHS39; - const double f39_44 = -f39 * m_A148; - m_A151 += m_A119 * f39_44; - RHS44 += f39_44 * RHS39; - const double f40 = 1.0 / m_A121; - const double f40_44 = -f40 * m_A149; - m_A153 += m_A122 * f40_44; - RHS44 += f40_44 * RHS40; - const double f41 = 1.0 / m_A127; - const double f41_44 = -f41 * m_A150; - m_A153 += m_A128 * f41_44; - RHS44 += f41_44 * RHS41; - const double f42 = 1.0 / m_A134; - const double f42_44 = -f42 * m_A151; - m_A153 += m_A135 * f42_44; - RHS44 += f42_44 * RHS42; - const double f43 = 1.0 / m_A137; - const double f43_44 = -f43 * m_A152; - m_A153 += m_A138 * f43_44; - RHS44 += f43_44 * RHS43; - V[44] = RHS44 / m_A153; - double tmp43 = 0.0; - tmp43 += m_A138 * V[44]; - V[43] = (RHS43 - tmp43) / m_A137; - double tmp42 = 0.0; - tmp42 += m_A135 * V[44]; - V[42] = (RHS42 - tmp42) / m_A134; - double tmp41 = 0.0; - tmp41 += m_A128 * V[44]; - V[41] = (RHS41 - tmp41) / m_A127; - double tmp40 = 0.0; - tmp40 += m_A122 * V[44]; - V[40] = (RHS40 - tmp40) / m_A121; - double tmp39 = 0.0; - tmp39 += m_A119 * V[42]; - V[39] = (RHS39 - tmp39) / m_A118; - double tmp38 = 0.0; - tmp38 += m_A113 * V[44]; - V[38] = (RHS38 - tmp38) / m_A112; - double tmp37 = 0.0; - tmp37 += m_A108 * V[44]; - V[37] = (RHS37 - tmp37) / m_A107; - double tmp36 = 0.0; - tmp36 += m_A100 * V[44]; - V[36] = (RHS36 - tmp36) / m_A99; - double tmp35 = 0.0; - tmp35 += m_A96 * V[39]; - tmp35 += m_A97 * V[42]; - V[35] = (RHS35 - tmp35) / m_A95; - double tmp34 = 0.0; - tmp34 += m_A93 * V[44]; - V[34] = (RHS34 - tmp34) / m_A92; - double tmp33 = 0.0; - tmp33 += m_A84 * V[39]; - tmp33 += m_A85 * V[42]; - V[33] = (RHS33 - tmp33) / m_A83; - double tmp32 = 0.0; - tmp32 += m_A78 * V[39]; - V[32] = (RHS32 - tmp32) / m_A77; - double tmp31 = 0.0; - tmp31 += m_A72 * V[38]; - tmp31 += m_A73 * V[44]; - V[31] = (RHS31 - tmp31) / m_A71; - double tmp30 = 0.0; - tmp30 += m_A69 * V[37]; - tmp30 += m_A70 * V[44]; - V[30] = (RHS30 - tmp30) / m_A68; - double tmp29 = 0.0; - tmp29 += m_A66 * V[34]; - tmp29 += m_A67 * V[44]; - V[29] = (RHS29 - tmp29) / m_A65; - double tmp28 = 0.0; - tmp28 += m_A64 * V[34]; - V[28] = (RHS28 - tmp28) / m_A63; - double tmp27 = 0.0; - tmp27 += m_A62 * V[34]; - V[27] = (RHS27 - tmp27) / m_A61; - double tmp26 = 0.0; - tmp26 += m_A60 * V[34]; - V[26] = (RHS26 - tmp26) / m_A59; - double tmp25 = 0.0; - tmp25 += m_A58 * V[38]; - V[25] = (RHS25 - tmp25) / m_A57; - double tmp24 = 0.0; - tmp24 += m_A56 * V[32]; - V[24] = (RHS24 - tmp24) / m_A55; - double tmp23 = 0.0; - tmp23 += m_A52 * V[43]; - V[23] = (RHS23 - tmp23) / m_A51; - double tmp22 = 0.0; - tmp22 += m_A50 * V[34]; - V[22] = (RHS22 - tmp22) / m_A49; - double tmp21 = 0.0; - tmp21 += m_A46 * V[35]; - tmp21 += m_A47 * V[42]; - tmp21 += m_A48 * V[44]; - V[21] = (RHS21 - tmp21) / m_A45; - double tmp20 = 0.0; - tmp20 += m_A44 * V[41]; - V[20] = (RHS20 - tmp20) / m_A43; - double tmp19 = 0.0; - tmp19 += m_A42 * V[41]; - V[19] = (RHS19 - tmp19) / m_A41; - double tmp18 = 0.0; - tmp18 += m_A40 * V[41]; - V[18] = (RHS18 - tmp18) / m_A39; - double tmp17 = 0.0; - tmp17 += m_A38 * V[40]; - V[17] = (RHS17 - tmp17) / m_A37; - double tmp16 = 0.0; - tmp16 += m_A36 * V[36]; - V[16] = (RHS16 - tmp16) / m_A35; - double tmp15 = 0.0; - tmp15 += m_A34 * V[41]; - V[15] = (RHS15 - tmp15) / m_A33; - double tmp14 = 0.0; - tmp14 += m_A32 * V[34]; - V[14] = (RHS14 - tmp14) / m_A31; - double tmp13 = 0.0; - tmp13 += m_A30 * V[38]; - V[13] = (RHS13 - tmp13) / m_A29; - double tmp12 = 0.0; - tmp12 += m_A28 * V[37]; - V[12] = (RHS12 - tmp12) / m_A27; - double tmp11 = 0.0; - tmp11 += m_A26 * V[37]; - V[11] = (RHS11 - tmp11) / m_A25; - double tmp10 = 0.0; - tmp10 += m_A24 * V[37]; - V[10] = (RHS10 - tmp10) / m_A23; - double tmp9 = 0.0; - tmp9 += m_A22 * V[37]; - V[9] = (RHS9 - tmp9) / m_A21; - double tmp8 = 0.0; - tmp8 += m_A20 * V[37]; - V[8] = (RHS8 - tmp8) / m_A19; - double tmp7 = 0.0; - tmp7 += m_A17 * V[39]; - tmp7 += m_A18 * V[42]; - V[7] = (RHS7 - tmp7) / m_A16; - double tmp6 = 0.0; - tmp6 += m_A15 * V[33]; - V[6] = (RHS6 - tmp6) / m_A14; - double tmp5 = 0.0; - tmp5 += m_A12 * V[32]; - tmp5 += m_A13 * V[39]; - V[5] = (RHS5 - tmp5) / m_A11; - double tmp4 = 0.0; - tmp4 += m_A10 * V[24]; - V[4] = (RHS4 - tmp4) / m_A9; - double tmp3 = 0.0; - tmp3 += m_A7 * V[24]; - tmp3 += m_A8 * V[32]; - V[3] = (RHS3 - tmp3) / m_A6; - double tmp2 = 0.0; - tmp2 += m_A5 * V[33]; - V[2] = (RHS2 - tmp2) / m_A4; - double tmp1 = 0.0; - tmp1 += m_A3 * V[33]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[33]; - V[0] = (RHS0 - tmp0) / m_A0; -} - // sspeedr static void nl_gcr_3e833834e5ce5aee_13_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) @@ -20697,6 +20417,221 @@ static void nl_gcr_6041272373b8603c_178_double_double(double * __restrict V, con V[0] = (RHS0 - tmp0) / m_A0; } +// astrob +static void nl_gcr_62464664b1c5aa1e_27_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + plib::unused_var(cnV); + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A0 += gt[4]; + m_A0 += gt[5]; + m_A0 += gt[6]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 += Idr[4]; + RHS0 += Idr[5]; + RHS0 += Idr[6]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + RHS0 -= go[4] * *cnV[4]; + RHS0 -= go[5] * *cnV[5]; + RHS0 -= go[6] * *cnV[6]; + m_A2 += gt[7]; + m_A2 += gt[8]; + m_A2 += gt[9]; + m_A4 += go[7]; + m_A3 += go[8]; + double RHS1 = Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 -= go[9] * *cnV[9]; + m_A5 += gt[10]; + m_A5 += gt[11]; + m_A5 += gt[12]; + m_A5 += gt[13]; + m_A5 += gt[14]; + m_A5 += gt[15]; + m_A5 += gt[16]; + m_A6 += go[10]; + double RHS2 = Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 += Idr[13]; + RHS2 += Idr[14]; + RHS2 += Idr[15]; + RHS2 += Idr[16]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + RHS2 -= go[13] * *cnV[13]; + RHS2 -= go[14] * *cnV[14]; + RHS2 -= go[15] * *cnV[15]; + RHS2 -= go[16] * *cnV[16]; + m_A7 += gt[17]; + m_A7 += gt[18]; + m_A7 += gt[19]; + m_A7 += gt[20]; + m_A9 += go[17]; + m_A10 += go[18]; + m_A8 += go[19]; + double RHS3 = Idr[17]; + RHS3 += Idr[18]; + RHS3 += Idr[19]; + RHS3 += Idr[20]; + RHS3 -= go[20] * *cnV[20]; + m_A14 += gt[21]; + m_A14 += gt[22]; + m_A14 += gt[23]; + m_A14 += gt[24]; + m_A14 += gt[25]; + m_A11 += go[21]; + m_A13 += go[22]; + m_A12 += go[23]; + double RHS4 = Idr[21]; + RHS4 += Idr[22]; + RHS4 += Idr[23]; + RHS4 += Idr[24]; + RHS4 += Idr[25]; + RHS4 -= go[24] * *cnV[24]; + RHS4 -= go[25] * *cnV[25]; + m_A19 += gt[26]; + m_A19 += gt[27]; + m_A19 += gt[28]; + m_A20 += go[26]; + m_A17 += go[27]; + double RHS5 = Idr[26]; + RHS5 += Idr[27]; + RHS5 += Idr[28]; + RHS5 -= go[28] * *cnV[28]; + m_A26 += gt[29]; + m_A26 += gt[30]; + m_A26 += gt[31]; + m_A26 += gt[32]; + m_A26 += gt[33]; + m_A26 += gt[34]; + m_A26 += gt[35]; + m_A26 += gt[36]; + m_A22 += go[29]; + m_A25 += go[30]; + m_A23 += go[31]; + m_A21 += go[32]; + double RHS6 = Idr[29]; + RHS6 += Idr[30]; + RHS6 += Idr[31]; + RHS6 += Idr[32]; + RHS6 += Idr[33]; + RHS6 += Idr[34]; + RHS6 += Idr[35]; + RHS6 += Idr[36]; + RHS6 -= go[33] * *cnV[33]; + RHS6 -= go[34] * *cnV[34]; + RHS6 -= go[35] * *cnV[35]; + RHS6 -= go[36] * *cnV[36]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A11; + m_A12 += m_A1 * f0_4; + RHS4 += f0_4 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_4 = -f1 * m_A12; + m_A14 += m_A3 * f1_4; + m_A16 += m_A4 * f1_4; + RHS4 += f1_4 * RHS1; + const double f1_6 = -f1 * m_A21; + m_A24 += m_A3 * f1_6; + m_A26 += m_A4 * f1_6; + RHS6 += f1_6 * RHS1; + const double f2 = 1.0 / m_A5; + const double f2_6 = -f2 * m_A22; + m_A25 += m_A6 * f2_6; + RHS6 += f2_6 * RHS2; + const double f3 = 1.0 / m_A7; + const double f3_4 = -f3 * m_A13; + m_A14 += m_A8 * f3_4; + m_A15 += m_A9 * f3_4; + m_A16 += m_A10 * f3_4; + RHS4 += f3_4 * RHS3; + const double f3_5 = -f3 * m_A17; + m_A18 += m_A8 * f3_5; + m_A19 += m_A9 * f3_5; + m_A20 += m_A10 * f3_5; + RHS5 += f3_5 * RHS3; + const double f3_6 = -f3 * m_A23; + m_A24 += m_A8 * f3_6; + m_A25 += m_A9 * f3_6; + m_A26 += m_A10 * f3_6; + RHS6 += f3_6 * RHS3; + const double f4 = 1.0 / m_A14; + const double f4_5 = -f4 * m_A18; + m_A19 += m_A15 * f4_5; + m_A20 += m_A16 * f4_5; + RHS5 += f4_5 * RHS4; + const double f4_6 = -f4 * m_A24; + m_A25 += m_A15 * f4_6; + m_A26 += m_A16 * f4_6; + RHS6 += f4_6 * RHS4; + const double f5 = 1.0 / m_A19; + const double f5_6 = -f5 * m_A25; + m_A26 += m_A20 * f5_6; + RHS6 += f5_6 * RHS5; + V[6] = RHS6 / m_A26; + double tmp5 = 0.0; + tmp5 += m_A20 * V[6]; + V[5] = (RHS5 - tmp5) / m_A19; + double tmp4 = 0.0; + tmp4 += m_A15 * V[5]; + tmp4 += m_A16 * V[6]; + V[4] = (RHS4 - tmp4) / m_A14; + double tmp3 = 0.0; + tmp3 += m_A8 * V[4]; + tmp3 += m_A9 * V[5]; + tmp3 += m_A10 * V[6]; + V[3] = (RHS3 - tmp3) / m_A7; + double tmp2 = 0.0; + tmp2 += m_A6 * V[5]; + V[2] = (RHS2 - tmp2) / m_A5; + double tmp1 = 0.0; + tmp1 += m_A3 * V[4]; + tmp1 += m_A4 * V[6]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[1]; + V[0] = (RHS0 - tmp0) / m_A0; +} + // solarq static void nl_gcr_62612f71055b8fd4_303_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) @@ -41167,450 +41102,6 @@ static void nl_gcr_a6f74be7f61e6db2_29_double_double(double * __restrict V, cons V[0] = (RHS0 - tmp0) / m_A0; } -// astrob -static void nl_gcr_a7f11a2ba7b1e0de_61_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) - -{ - - plib::unused_var(cnV); - double m_A0(0.0); - double m_A1(0.0); - double m_A2(0.0); - double m_A3(0.0); - double m_A4(0.0); - double m_A5(0.0); - double m_A6(0.0); - double m_A7(0.0); - double m_A8(0.0); - double m_A9(0.0); - double m_A10(0.0); - double m_A11(0.0); - double m_A12(0.0); - double m_A13(0.0); - double m_A14(0.0); - double m_A15(0.0); - double m_A16(0.0); - double m_A17(0.0); - double m_A18(0.0); - double m_A19(0.0); - double m_A20(0.0); - double m_A21(0.0); - double m_A22(0.0); - double m_A23(0.0); - double m_A24(0.0); - double m_A25(0.0); - double m_A26(0.0); - double m_A27(0.0); - double m_A28(0.0); - double m_A29(0.0); - double m_A30(0.0); - double m_A31(0.0); - double m_A32(0.0); - double m_A33(0.0); - double m_A34(0.0); - double m_A35(0.0); - double m_A36(0.0); - double m_A37(0.0); - double m_A38(0.0); - double m_A39(0.0); - double m_A40(0.0); - double m_A41(0.0); - double m_A42(0.0); - double m_A43(0.0); - double m_A44(0.0); - double m_A45(0.0); - double m_A46(0.0); - double m_A47(0.0); - double m_A48(0.0); - double m_A49(0.0); - double m_A50(0.0); - double m_A51(0.0); - double m_A52(0.0); - double m_A53(0.0); - double m_A54(0.0); - double m_A55(0.0); - double m_A56(0.0); - double m_A57(0.0); - double m_A58(0.0); - double m_A59(0.0); - double m_A60(0.0); - m_A0 += gt[0]; - m_A0 += gt[1]; - m_A0 += gt[2]; - m_A0 += gt[3]; - m_A0 += gt[4]; - m_A0 += gt[5]; - m_A0 += gt[6]; - m_A1 += go[0]; - double RHS0 = Idr[0]; - RHS0 += Idr[1]; - RHS0 += Idr[2]; - RHS0 += Idr[3]; - RHS0 += Idr[4]; - RHS0 += Idr[5]; - RHS0 += Idr[6]; - RHS0 -= go[1] * *cnV[1]; - RHS0 -= go[2] * *cnV[2]; - RHS0 -= go[3] * *cnV[3]; - RHS0 -= go[4] * *cnV[4]; - RHS0 -= go[5] * *cnV[5]; - RHS0 -= go[6] * *cnV[6]; - m_A2 += gt[7]; - m_A2 += gt[8]; - m_A2 += gt[9]; - m_A4 += go[7]; - m_A3 += go[8]; - double RHS1 = Idr[7]; - RHS1 += Idr[8]; - RHS1 += Idr[9]; - RHS1 -= go[9] * *cnV[9]; - m_A5 += gt[10]; - m_A5 += gt[11]; - m_A5 += gt[12]; - m_A5 += gt[13]; - m_A5 += gt[14]; - m_A5 += gt[15]; - m_A5 += gt[16]; - m_A6 += go[10]; - double RHS2 = Idr[10]; - RHS2 += Idr[11]; - RHS2 += Idr[12]; - RHS2 += Idr[13]; - RHS2 += Idr[14]; - RHS2 += Idr[15]; - RHS2 += Idr[16]; - RHS2 -= go[11] * *cnV[11]; - RHS2 -= go[12] * *cnV[12]; - RHS2 -= go[13] * *cnV[13]; - RHS2 -= go[14] * *cnV[14]; - RHS2 -= go[15] * *cnV[15]; - RHS2 -= go[16] * *cnV[16]; - m_A7 += gt[17]; - m_A7 += gt[18]; - m_A7 += gt[19]; - m_A7 += gt[20]; - m_A8 += go[17]; - m_A10 += go[18]; - m_A9 += go[19]; - double RHS3 = Idr[17]; - RHS3 += Idr[18]; - RHS3 += Idr[19]; - RHS3 += Idr[20]; - RHS3 -= go[20] * *cnV[20]; - m_A13 += gt[21]; - m_A13 += gt[22]; - m_A13 += gt[23]; - m_A11 += go[21]; - double RHS4 = Idr[21]; - RHS4 += Idr[22]; - RHS4 += Idr[23]; - RHS4 -= go[22] * *cnV[22]; - RHS4 -= go[23] * *cnV[23]; - m_A16 += gt[24]; - m_A16 += gt[25]; - m_A16 += gt[26]; - m_A16 += gt[27]; - m_A16 += gt[28]; - m_A16 += gt[29]; - m_A16 += gt[30]; - m_A17 += go[24]; - double RHS5 = Idr[24]; - RHS5 += Idr[25]; - RHS5 += Idr[26]; - RHS5 += Idr[27]; - RHS5 += Idr[28]; - RHS5 += Idr[29]; - RHS5 += Idr[30]; - RHS5 -= go[25] * *cnV[25]; - RHS5 -= go[26] * *cnV[26]; - RHS5 -= go[27] * *cnV[27]; - RHS5 -= go[28] * *cnV[28]; - RHS5 -= go[29] * *cnV[29]; - RHS5 -= go[30] * *cnV[30]; - m_A18 += gt[31]; - m_A18 += gt[32]; - m_A18 += gt[33]; - m_A18 += gt[34]; - m_A18 += gt[35]; - m_A18 += gt[36]; - m_A18 += gt[37]; - m_A19 += go[31]; - double RHS6 = Idr[31]; - RHS6 += Idr[32]; - RHS6 += Idr[33]; - RHS6 += Idr[34]; - RHS6 += Idr[35]; - RHS6 += Idr[36]; - RHS6 += Idr[37]; - RHS6 -= go[32] * *cnV[32]; - RHS6 -= go[33] * *cnV[33]; - RHS6 -= go[34] * *cnV[34]; - RHS6 -= go[35] * *cnV[35]; - RHS6 -= go[36] * *cnV[36]; - RHS6 -= go[37] * *cnV[37]; - m_A20 += gt[38]; - m_A20 += gt[39]; - m_A20 += gt[40]; - m_A22 += go[38]; - m_A21 += go[39]; - double RHS7 = Idr[38]; - RHS7 += Idr[39]; - RHS7 += Idr[40]; - RHS7 -= go[40] * *cnV[40]; - m_A23 += gt[41]; - m_A23 += gt[42]; - m_A23 += gt[43]; - m_A23 += gt[44]; - m_A25 += go[41]; - m_A26 += go[42]; - m_A24 += go[43]; - double RHS8 = Idr[41]; - RHS8 += Idr[42]; - RHS8 += Idr[43]; - RHS8 += Idr[44]; - RHS8 -= go[44] * *cnV[44]; - m_A28 += gt[45]; - m_A28 += gt[46]; - m_A28 += gt[47]; - m_A30 += go[45]; - m_A27 += go[46]; - double RHS9 = Idr[45]; - RHS9 += Idr[46]; - RHS9 += Idr[47]; - RHS9 -= go[47] * *cnV[47]; - m_A37 += gt[48]; - m_A37 += gt[49]; - m_A37 += gt[50]; - m_A37 += gt[51]; - m_A37 += gt[52]; - m_A37 += gt[53]; - m_A37 += gt[54]; - m_A33 += go[48]; - m_A35 += go[49]; - m_A34 += go[50]; - m_A32 += go[51]; - m_A31 += go[52]; - double RHS10 = Idr[48]; - RHS10 += Idr[49]; - RHS10 += Idr[50]; - RHS10 += Idr[51]; - RHS10 += Idr[52]; - RHS10 += Idr[53]; - RHS10 += Idr[54]; - RHS10 -= go[53] * *cnV[53]; - RHS10 -= go[54] * *cnV[54]; - m_A43 += gt[55]; - m_A43 += gt[56]; - m_A43 += gt[57]; - m_A45 += go[55]; - m_A41 += go[56]; - double RHS11 = Idr[55]; - RHS11 += Idr[56]; - RHS11 += Idr[57]; - RHS11 -= go[57] * *cnV[57]; - m_A52 += gt[58]; - m_A52 += gt[59]; - m_A52 += gt[60]; - m_A52 += gt[61]; - m_A52 += gt[62]; - m_A52 += gt[63]; - m_A52 += gt[64]; - m_A47 += go[58]; - m_A49 += go[59]; - m_A48 += go[60]; - m_A46 += go[61]; - double RHS12 = Idr[58]; - RHS12 += Idr[59]; - RHS12 += Idr[60]; - RHS12 += Idr[61]; - RHS12 += Idr[62]; - RHS12 += Idr[63]; - RHS12 += Idr[64]; - RHS12 -= go[62] * *cnV[62]; - RHS12 -= go[63] * *cnV[63]; - RHS12 -= go[64] * *cnV[64]; - m_A60 += gt[65]; - m_A60 += gt[66]; - m_A60 += gt[67]; - m_A60 += gt[68]; - m_A60 += gt[69]; - m_A60 += gt[70]; - m_A60 += gt[71]; - m_A54 += go[65]; - m_A58 += go[66]; - m_A56 += go[67]; - m_A55 += go[68]; - double RHS13 = Idr[65]; - RHS13 += Idr[66]; - RHS13 += Idr[67]; - RHS13 += Idr[68]; - RHS13 += Idr[69]; - RHS13 += Idr[70]; - RHS13 += Idr[71]; - RHS13 -= go[69] * *cnV[69]; - RHS13 -= go[70] * *cnV[70]; - RHS13 -= go[71] * *cnV[71]; - const double f0 = 1.0 / m_A0; - const double f0_4 = -f0 * m_A11; - m_A12 += m_A1 * f0_4; - RHS4 += f0_4 * RHS0; - const double f1 = 1.0 / m_A2; - const double f1_4 = -f1 * m_A12; - m_A14 += m_A3 * f1_4; - m_A15 += m_A4 * f1_4; - RHS4 += f1_4 * RHS1; - const double f1_10 = -f1 * m_A31; - m_A37 += m_A3 * f1_10; - m_A39 += m_A4 * f1_10; - RHS10 += f1_10 * RHS1; - const double f1_12 = -f1 * m_A46; - m_A50 += m_A3 * f1_12; - m_A52 += m_A4 * f1_12; - RHS12 += f1_12 * RHS1; - const double f2 = 1.0 / m_A5; - const double f2_12 = -f2 * m_A47; - m_A49 += m_A6 * f2_12; - RHS12 += f2_12 * RHS2; - const double f3 = 1.0 / m_A7; - const double f3_9 = -f3 * m_A27; - m_A28 += m_A8 * f3_9; - m_A29 += m_A9 * f3_9; - m_A30 += m_A10 * f3_9; - RHS9 += f3_9 * RHS3; - const double f3_10 = -f3 * m_A32; - m_A36 += m_A8 * f3_10; - m_A37 += m_A9 * f3_10; - m_A39 += m_A10 * f3_10; - RHS10 += f3_10 * RHS3; - const double f3_12 = -f3 * m_A48; - m_A49 += m_A8 * f3_12; - m_A50 += m_A9 * f3_12; - m_A52 += m_A10 * f3_12; - RHS12 += f3_12 * RHS3; - const double f5 = 1.0 / m_A16; - const double f5_10 = -f5 * m_A33; - m_A34 += m_A17 * f5_10; - RHS10 += f5_10 * RHS5; - const double f6 = 1.0 / m_A18; - const double f6_13 = -f6 * m_A54; - m_A58 += m_A19 * f6_13; - RHS13 += f6_13 * RHS6; - const double f7 = 1.0 / m_A20; - const double f7_10 = -f7 * m_A34; - m_A37 += m_A21 * f7_10; - m_A40 += m_A22 * f7_10; - RHS10 += f7_10 * RHS7; - const double f7_13 = -f7 * m_A55; - m_A57 += m_A21 * f7_13; - m_A60 += m_A22 * f7_13; - RHS13 += f7_13 * RHS7; - const double f8 = 1.0 / m_A23; - const double f8_10 = -f8 * m_A35; - m_A37 += m_A24 * f8_10; - m_A38 += m_A25 * f8_10; - m_A40 += m_A26 * f8_10; - RHS10 += f8_10 * RHS8; - const double f8_11 = -f8 * m_A41; - m_A42 += m_A24 * f8_11; - m_A43 += m_A25 * f8_11; - m_A45 += m_A26 * f8_11; - RHS11 += f8_11 * RHS8; - const double f8_13 = -f8 * m_A56; - m_A57 += m_A24 * f8_13; - m_A58 += m_A25 * f8_13; - m_A60 += m_A26 * f8_13; - RHS13 += f8_13 * RHS8; - const double f9 = 1.0 / m_A28; - const double f9_10 = -f9 * m_A36; - m_A37 += m_A29 * f9_10; - m_A39 += m_A30 * f9_10; - RHS10 += f9_10 * RHS9; - const double f9_12 = -f9 * m_A49; - m_A50 += m_A29 * f9_12; - m_A52 += m_A30 * f9_12; - RHS12 += f9_12 * RHS9; - const double f10 = 1.0 / m_A37; - const double f10_11 = -f10 * m_A42; - m_A43 += m_A38 * f10_11; - m_A44 += m_A39 * f10_11; - m_A45 += m_A40 * f10_11; - RHS11 += f10_11 * RHS10; - const double f10_12 = -f10 * m_A50; - m_A51 += m_A38 * f10_12; - m_A52 += m_A39 * f10_12; - m_A53 += m_A40 * f10_12; - RHS12 += f10_12 * RHS10; - const double f10_13 = -f10 * m_A57; - m_A58 += m_A38 * f10_13; - m_A59 += m_A39 * f10_13; - m_A60 += m_A40 * f10_13; - RHS13 += f10_13 * RHS10; - const double f11 = 1.0 / m_A43; - const double f11_12 = -f11 * m_A51; - m_A52 += m_A44 * f11_12; - m_A53 += m_A45 * f11_12; - RHS12 += f11_12 * RHS11; - const double f11_13 = -f11 * m_A58; - m_A59 += m_A44 * f11_13; - m_A60 += m_A45 * f11_13; - RHS13 += f11_13 * RHS11; - const double f12 = 1.0 / m_A52; - const double f12_13 = -f12 * m_A59; - m_A60 += m_A53 * f12_13; - RHS13 += f12_13 * RHS12; - V[13] = RHS13 / m_A60; - double tmp12 = 0.0; - tmp12 += m_A53 * V[13]; - V[12] = (RHS12 - tmp12) / m_A52; - double tmp11 = 0.0; - tmp11 += m_A44 * V[12]; - tmp11 += m_A45 * V[13]; - V[11] = (RHS11 - tmp11) / m_A43; - double tmp10 = 0.0; - tmp10 += m_A38 * V[11]; - tmp10 += m_A39 * V[12]; - tmp10 += m_A40 * V[13]; - V[10] = (RHS10 - tmp10) / m_A37; - double tmp9 = 0.0; - tmp9 += m_A29 * V[10]; - tmp9 += m_A30 * V[12]; - V[9] = (RHS9 - tmp9) / m_A28; - double tmp8 = 0.0; - tmp8 += m_A24 * V[10]; - tmp8 += m_A25 * V[11]; - tmp8 += m_A26 * V[13]; - V[8] = (RHS8 - tmp8) / m_A23; - double tmp7 = 0.0; - tmp7 += m_A21 * V[10]; - tmp7 += m_A22 * V[13]; - V[7] = (RHS7 - tmp7) / m_A20; - double tmp6 = 0.0; - tmp6 += m_A19 * V[11]; - V[6] = (RHS6 - tmp6) / m_A18; - double tmp5 = 0.0; - tmp5 += m_A17 * V[7]; - V[5] = (RHS5 - tmp5) / m_A16; - double tmp4 = 0.0; - tmp4 += m_A14 * V[10]; - tmp4 += m_A15 * V[12]; - V[4] = (RHS4 - tmp4) / m_A13; - double tmp3 = 0.0; - tmp3 += m_A8 * V[9]; - tmp3 += m_A9 * V[10]; - tmp3 += m_A10 * V[12]; - V[3] = (RHS3 - tmp3) / m_A7; - double tmp2 = 0.0; - tmp2 += m_A6 * V[9]; - V[2] = (RHS2 - tmp2) / m_A5; - double tmp1 = 0.0; - tmp1 += m_A3 * V[10]; - tmp1 += m_A4 * V[12]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[1]; - V[0] = (RHS0 - tmp0) / m_A0; -} - // carpolo static void nl_gcr_a8f1d076330f06b7_34_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) @@ -66683,62 +66174,6 @@ static void nl_gcr_ef2f49641f433a74_94_double_double(double * __restrict V, cons V[0] = (RHS0 - tmp0) / m_A0; } -// astrob -static void nl_gcr_efd052e6829c33e_9_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) - -{ - - plib::unused_var(cnV); - double m_A0(0.0); - double m_A1(0.0); - double m_A2(0.0); - double m_A3(0.0); - double m_A4(0.0); - double m_A5(0.0); - double m_A6(0.0); - double m_A7(0.0); - double m_A8(0.0); - m_A0 += gt[0]; - m_A0 += gt[1]; - m_A2 += go[0]; - m_A1 += go[1]; - double RHS0 = Idr[0]; - RHS0 += Idr[1]; - m_A4 += gt[2]; - m_A4 += gt[3]; - m_A5 += go[2]; - m_A3 += go[3]; - double RHS1 = Idr[2]; - RHS1 += Idr[3]; - m_A8 += gt[4]; - m_A8 += gt[5]; - m_A7 += go[4]; - m_A6 += go[5]; - double RHS2 = Idr[4]; - RHS2 += Idr[5]; - const double f0 = 1.0 / m_A0; - const double f0_1 = -f0 * m_A3; - m_A4 += m_A1 * f0_1; - m_A5 += m_A2 * f0_1; - RHS1 += f0_1 * RHS0; - const double f0_2 = -f0 * m_A6; - m_A7 += m_A1 * f0_2; - m_A8 += m_A2 * f0_2; - RHS2 += f0_2 * RHS0; - const double f1 = 1.0 / m_A4; - const double f1_2 = -f1 * m_A7; - m_A8 += m_A5 * f1_2; - RHS2 += f1_2 * RHS1; - V[2] = RHS2 / m_A8; - double tmp1 = 0.0; - tmp1 += m_A5 * V[2]; - V[1] = (RHS1 - tmp1) / m_A4; - double tmp0 = 0.0; - tmp0 += m_A1 * V[1]; - tmp0 += m_A2 * V[2]; - V[0] = (RHS0 - tmp0) / m_A0; -} - // spacfury static void nl_gcr_f365c3863b050e35_45_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) @@ -72910,16 +72345,14 @@ const plib::dynlib_static_sym nl_static_solver_syms[] = { {"nl_gcr_124f7aa10f044582_16_double_double", reinterpret_cast<void *>(&nl_gcr_124f7aa10f044582_16_double_double)}, // armora {"nl_gcr_1250f340dea396ae_22_double_double", reinterpret_cast<void *>(&nl_gcr_1250f340dea396ae_22_double_double)}, +// astrob + {"nl_gcr_13833bf8c127deaa_154_double_double", reinterpret_cast<void *>(&nl_gcr_13833bf8c127deaa_154_double_double)}, // pongf {"nl_gcr_13e7b5ac1a260dbf_10_double_double", reinterpret_cast<void *>(&nl_gcr_13e7b5ac1a260dbf_10_double_double)}, // tailg {"nl_gcr_144ed14e6bafdb_119_double_double", reinterpret_cast<void *>(&nl_gcr_144ed14e6bafdb_119_double_double)}, -// astrob - {"nl_gcr_15b7648945a58fb_27_double_double", reinterpret_cast<void *>(&nl_gcr_15b7648945a58fb_27_double_double)}, // spacewar {"nl_gcr_15e8f6fb021de0f9_28_double_double", reinterpret_cast<void *>(&nl_gcr_15e8f6fb021de0f9_28_double_double)}, -// armora - {"nl_gcr_1692de755a535408_9_double_double", reinterpret_cast<void *>(&nl_gcr_1692de755a535408_9_double_double)}, // dpatrol {"nl_gcr_18f4d9160b51d613_20_double_double", reinterpret_cast<void *>(&nl_gcr_18f4d9160b51d613_20_double_double)}, // starhawk @@ -72948,8 +72381,6 @@ const plib::dynlib_static_sym nl_static_solver_syms[] = { {"nl_gcr_339c6b457f339538_159_double_double", reinterpret_cast<void *>(&nl_gcr_339c6b457f339538_159_double_double)}, // solarq {"nl_gcr_34e910fc1896999f_76_double_double", reinterpret_cast<void *>(&nl_gcr_34e910fc1896999f_76_double_double)}, -// astrob - {"nl_gcr_37b9bb3472eec580_154_double_double", reinterpret_cast<void *>(&nl_gcr_37b9bb3472eec580_154_double_double)}, // sspeedr {"nl_gcr_3e833834e5ce5aee_13_double_double", reinterpret_cast<void *>(&nl_gcr_3e833834e5ce5aee_13_double_double)}, // astrob @@ -73002,6 +72433,8 @@ const plib::dynlib_static_sym nl_static_solver_syms[] = { {"nl_gcr_5d550fc7441617a2_109_double_double", reinterpret_cast<void *>(&nl_gcr_5d550fc7441617a2_109_double_double)}, // zac1b11142 {"nl_gcr_6041272373b8603c_178_double_double", reinterpret_cast<void *>(&nl_gcr_6041272373b8603c_178_double_double)}, +// astrob + {"nl_gcr_62464664b1c5aa1e_27_double_double", reinterpret_cast<void *>(&nl_gcr_62464664b1c5aa1e_27_double_double)}, // solarq {"nl_gcr_62612f71055b8fd4_303_double_double", reinterpret_cast<void *>(&nl_gcr_62612f71055b8fd4_303_double_double)}, // konami1x @@ -73126,8 +72559,6 @@ const plib::dynlib_static_sym nl_static_solver_syms[] = { {"nl_gcr_a6cfda6668b153c2_22_double_double", reinterpret_cast<void *>(&nl_gcr_a6cfda6668b153c2_22_double_double)}, // boxingb {"nl_gcr_a6f74be7f61e6db2_29_double_double", reinterpret_cast<void *>(&nl_gcr_a6f74be7f61e6db2_29_double_double)}, -// astrob - {"nl_gcr_a7f11a2ba7b1e0de_61_double_double", reinterpret_cast<void *>(&nl_gcr_a7f11a2ba7b1e0de_61_double_double)}, // carpolo {"nl_gcr_a8f1d076330f06b7_34_double_double", reinterpret_cast<void *>(&nl_gcr_a8f1d076330f06b7_34_double_double)}, // breakout @@ -73272,8 +72703,6 @@ const plib::dynlib_static_sym nl_static_solver_syms[] = { {"nl_gcr_ee61dcaa355fc625_285_double_double", reinterpret_cast<void *>(&nl_gcr_ee61dcaa355fc625_285_double_double)}, // starcrus {"nl_gcr_ef2f49641f433a74_94_double_double", reinterpret_cast<void *>(&nl_gcr_ef2f49641f433a74_94_double_double)}, -// astrob - {"nl_gcr_efd052e6829c33e_9_double_double", reinterpret_cast<void *>(&nl_gcr_efd052e6829c33e_9_double_double)}, // spacfury {"nl_gcr_f365c3863b050e35_45_double_double", reinterpret_cast<void *>(&nl_gcr_f365c3863b050e35_45_double_double)}, // spacfury diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp index 10dc7cf635c..7e0e5f0425f 100644 --- a/src/lib/netlist/nl_base.cpp +++ b/src/lib/netlist/nl_base.cpp @@ -106,7 +106,6 @@ namespace netlist netlist_state_t::netlist_state_t(const pstring &name, plib::plog_delegate logger) : m_log(logger) - , m_extended_validation(false) , m_dummy_version(1) { m_setup = plib::make_unique<setup_t, host_arena>(*this); diff --git a/src/lib/netlist/nl_errstr.h b/src/lib/netlist/nl_errstr.h index 4b44fb7b963..f60287e7a2d 100644 --- a/src/lib/netlist/nl_errstr.h +++ b/src/lib/netlist/nl_errstr.h @@ -150,6 +150,17 @@ namespace netlist PERRMSGV(MI_NO_SPECIFIC_SOLVER, 1, "No specific solver found for netlist of size {1}") PERRMSGV(MW_SOLVER_METHOD_NOT_SUPPORTED, 2, "Solver method {1} not supported. Falling back to {2}") + PERRMSGV(ME_SOLVER_CONSISTENCY_NOT_ANALOG_NET, 1, "Solver consistency: {1} is not an analog net") + PERRMSGV(ME_SOLVER_CONSISTENCY_RAIL_NET, 1, "Solver consistency: {1} is a rail net") + PERRMSGV(ME_SOLVER_TERMINAL_NO_NET, 1, "Solver consistency: Terminal {1} has no net") + PERRMSGV(ME_SOLVER_NO_RAIL_TERMINAL, 1, "Solver consistency: No rail terminals in group with nets: {1}\n" + "At least one rail terminal (like ANALOG_INPUT) needs to be part of a group of nets\n" + "solved by a solver. Without a singular matrix would be created\n" + "which has the potential to cause a crash now or in the future.\n" + "A common cause of this error are BJT or FET devices which\n" + "are defined but not used in the netlist.") + PERRMSGV(MF_SOLVER_CONSISTENCY_ERRORS, 1, "Found {1} errors during solver consistency test") + // nld_mm5837.cpp PERRMSGV(MW_FREQUENCY_OUTSIDE_OF_SPECS_1, 1, "MM5837: Frequency outside of specs: {1}") diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp index 11584bceb48..d28ba51e476 100644 --- a/src/lib/netlist/nl_setup.cpp +++ b/src/lib/netlist/nl_setup.cpp @@ -9,6 +9,7 @@ #include "nl_factory.h" #include "nl_parser.h" #include "nl_setup.h" +#include "nl_errstr.h" #include "plib/penum.h" #include "plib/pstonum.h" #include "plib/pstrutil.h" @@ -1192,6 +1193,7 @@ void setup_t::resolve_inputs() log().warning(MW_TERMINAL_1_WITHOUT_CONNECTIONS(name_da)); } } + log().verbose("checking tristate consistency ..."); for (auto & i : m_terminals) { diff --git a/src/lib/netlist/prg/nltool.cpp b/src/lib/netlist/prg/nltool.cpp index 44b96bf0d6d..313ec4e8b2e 100644 --- a/src/lib/netlist/prg/nltool.cpp +++ b/src/lib/netlist/prg/nltool.cpp @@ -82,7 +82,6 @@ public: opt_type(*this, "y", "type", 0, std::vector<pstring>({"spice","eagle","rinf"}), "type of file to be converted: spice,eagle,rinf"), opt_grp6(*this, "Options for validate command", "These options are only used by the validate command."), - opt_extended_validation(*this, "", "extended", "Identify issues with power terminals."), opt_grp7(*this, "Options for header command", "These options are only used by the header command."), opt_tabwidth(*this, "", "tab-width", 4, "Tab width for output."), @@ -153,7 +152,6 @@ private: plib::option_str_limit<unsigned> opt_type; plib::option_group opt_grp6; - plib::option_bool opt_extended_validation; plib::option_group opt_grp7; plib::option_num<unsigned> opt_tabwidth; plib::option_num<unsigned> opt_linewidth; @@ -548,8 +546,6 @@ void tool_app_t::validate() m_errors = 0; m_warnings = 0; - nt.set_extended_validation(opt_extended_validation()); - try { nt.read_netlist(opt_files()[0], opt_name(), diff --git a/src/lib/netlist/solver/nld_ms_gcr.h b/src/lib/netlist/solver/nld_ms_gcr.h index 5d8440e5d1d..71388dc867e 100644 --- a/src/lib/netlist/solver/nld_ms_gcr.h +++ b/src/lib/netlist/solver/nld_ms_gcr.h @@ -93,10 +93,7 @@ namespace solver // FIXME: Move me // - // During extended validation there is no reason to check for - // differences in the generated code since during - // extended validation this will be different (and non-functional) - if (!this->state().is_extended_validation() && this->state().static_solver_lib().isLoaded()) + if (this->state().static_solver_lib().isLoaded()) { pstring symname = static_compile_name(); m_proc.load(this->state().static_solver_lib(), symname); diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp index a9ff476728d..cd669256608 100644 --- a/src/lib/netlist/solver/nld_solver.cpp +++ b/src/lib/netlist/solver/nld_solver.cpp @@ -3,6 +3,7 @@ #include "nl_factory.h" +#include "nl_errstr.h" #include "core/setup.h" #include "nl_setup.h" // FIXME: only needed for splitter code #include "nld_matrix_solver.h" @@ -380,9 +381,55 @@ namespace devices net_splitter splitter; splitter.run(state()); + log().verbose("Found {1} net groups in {2} nets\n", splitter.groups.size(), state().nets().size()); + + int num_errors = 0; + + log().verbose("checking net consistency ..."); + for (const auto &grp : splitter.groups) + { + int railterms = 0; + pstring nets_in_grp; + for (const auto &n : grp) + { + nets_in_grp += (n->name() + " "); + if (!n->is_analog()) + { + state().log().error(ME_SOLVER_CONSISTENCY_NOT_ANALOG_NET(n->name())); + num_errors++; + } + if (n->is_rail_net()) + { + state().log().error(ME_SOLVER_CONSISTENCY_RAIL_NET(n->name())); + num_errors++; + } + for (const auto &t : n->core_terms()) + { + if (!t->has_net()) + { + state().log().error(ME_SOLVER_TERMINAL_NO_NET(t->name())); + num_errors++; + } + else + { + auto *otherterm = dynamic_cast<terminal_t *>(t); + if (otherterm != nullptr) + if (state().setup().get_connected_terminal(*otherterm)->net().is_rail_net()) + railterms++; + } + } + } + if (railterms == 0) + { + state().log().error(ME_SOLVER_NO_RAIL_TERMINAL(nets_in_grp)); + num_errors++; + } + } + if (num_errors > 0) + throw nl_exception(MF_SOLVER_CONSISTENCY_ERRORS(num_errors)); + // setup the solvers - log().verbose("Found {1} net groups in {2} nets\n", splitter.groups.size(), state().nets().size()); for (auto & grp : splitter.groups) { solver_ptr ms; diff --git a/src/lib/util/avhuff.cpp b/src/lib/util/avhuff.cpp index 50eea9f24dc..ac5cea71526 100644 --- a/src/lib/util/avhuff.cpp +++ b/src/lib/util/avhuff.cpp @@ -691,24 +691,19 @@ avhuff_decoder::avhuff_decoder() } /** - * @fn void avhuff_decoder::configure(const avhuff_decompress_config &config) + * @fn void avhuff_decoder::configure(const config &cfg) * * @brief ------------------------------------------------- * configure - configure decompression parameters * -------------------------------------------------. * - * @param config The configuration. + * @param cfg The configuration. */ -void avhuff_decoder::configure(const avhuff_decompress_config &config) +void avhuff_decoder::configure(const config &cfg) { - m_config.video.wrap(config.video, config.video.cliprect()); - m_config.maxsamples = config.maxsamples; - m_config.actsamples = config.actsamples; - memcpy(m_config.audio, config.audio, sizeof(m_config.audio)); - m_config.maxmetalength = config.maxmetalength; - m_config.actmetalength = config.actmetalength; - m_config.metadata = config.metadata; + m_video.wrap(*cfg.video, cfg.video->cliprect()); + m_config = cfg; } /** @@ -792,9 +787,9 @@ avhuff_error avhuff_decoder::decode_data(const uint8_t *source, uint32_t complen // determine the start of each piece of data metastart = m_config.metadata; for (int chnum = 0; chnum < channels; chnum++) - audiostart[chnum] = (uint8_t *)m_config.audio[chnum]; - videostart = (m_config.video.valid()) ? reinterpret_cast<uint8_t *>(&m_config.video.pix(0)) : nullptr; - videostride = (m_config.video.valid()) ? m_config.video.rowpixels() * 2 : 0; + audiostart[chnum] = reinterpret_cast<uint8_t *>(m_config.audio[chnum]); + videostart = m_video.valid() ? reinterpret_cast<uint8_t *>(&m_video.pix(0)) : nullptr; + videostride = m_video.valid() ? m_video.rowpixels() * 2 : 0; // data is assumed to be native-endian uint16_t betest = 0; @@ -802,7 +797,7 @@ avhuff_error avhuff_decoder::decode_data(const uint8_t *source, uint32_t complen audioxor = videoxor = (betest == 1) ? 1 : 0; // verify against sizes - if (m_config.video.valid() && (m_config.video.width() < width || m_config.video.height() < height)) + if (m_video.valid() && (m_video.width() < width || m_video.height() < height)) return AVHERR_VIDEO_TOO_LARGE; for (int chnum = 0; chnum < channels; chnum++) if (m_config.audio[chnum] != nullptr && m_config.maxsamples < samples) diff --git a/src/lib/util/avhuff.h b/src/lib/util/avhuff.h index 90ef43e977f..83b46195d6b 100644 --- a/src/lib/util/avhuff.h +++ b/src/lib/util/avhuff.h @@ -19,6 +19,8 @@ #include "huffman.h" #include "flac.h" +#include <algorithm> + //************************************************************************** // CONSTANTS @@ -49,32 +51,6 @@ enum avhuff_error // TYPE DEFINITIONS //************************************************************************** -// ======================> av_codec_decompress_config - -// decompression configuration -class avhuff_decompress_config -{ -public: - avhuff_decompress_config() - : maxsamples(0), - actsamples(nullptr), - maxmetalength(0), - actmetalength(nullptr), - metadata(nullptr) - { - memset(audio, 0, sizeof(audio)); - } - - bitmap_yuy16 video; // pointer to video bitmap - uint32_t maxsamples; // maximum number of samples per channel - uint32_t * actsamples; // actual number of samples per channel - int16_t * audio[16]; // pointer to individual audio channels - uint32_t maxmetalength; // maximum length of metadata - uint32_t * actmetalength; // actual length of metadata - uint8_t * metadata; // pointer to metadata buffer -}; - - // ======================> avhuff_encoder // core state for the codec @@ -98,8 +74,7 @@ private: { public: // construction/destruction - deltarle_encoder() - : m_rlecount(0) { } + deltarle_encoder() { } // histogramming uint16_t *rle_and_histo_bitmap(const uint8_t *source, uint32_t items_per_row, uint32_t item_advance, uint32_t row_count); @@ -111,7 +86,7 @@ private: private: // internal state - int m_rlecount; + int m_rlecount = 0; huffman_encoder<256 + 16> m_encoder; std::vector<uint16_t> m_rlebuffer; }; @@ -143,11 +118,30 @@ private: class avhuff_decoder { public: + // decompression configuration + class config + { + public: + config() + { + std::fill(std::begin(audio), std::end(audio), nullptr); + } + + bitmap_yuy16 * video = nullptr; // pointer to video bitmap + uint32_t maxsamples = 0; // maximum number of samples per channel + uint32_t * actsamples = nullptr; // actual number of samples per channel + int16_t * audio[16]; // pointer to individual audio channels + uint32_t maxmetalength = 0; // maximum length of metadata + uint32_t * actmetalength = nullptr; // actual length of metadata + uint8_t * metadata = nullptr; // pointer to metadata buffer + }; + + // construction/destruction avhuff_decoder(); // configuration - void configure(const avhuff_decompress_config &config); + void configure(const config &cfg); // encode/decode avhuff_error decode_data(const uint8_t *source, uint32_t complength, uint8_t *dest); @@ -158,8 +152,7 @@ private: { public: // construction/destruction - deltarle_decoder() - : m_rlecount(0), m_prevdata(0) { } + deltarle_decoder() { } // general void reset() { m_rlecount = m_prevdata = 0; } @@ -171,8 +164,8 @@ private: private: // internal state - int m_rlecount; - uint8_t m_prevdata; + int m_rlecount = 0; + uint8_t m_prevdata = 0; huffman_decoder<256 + 16> m_decoder; }; @@ -183,7 +176,8 @@ private: avhuff_error decode_video_lossless(int width, int height, const uint8_t *source, uint32_t complength, uint8_t *dest, uint32_t dstride, uint32_t dxor); // internal state - avhuff_decompress_config m_config; + bitmap_yuy16 m_video; + config m_config; // video decoding contexts deltarle_decoder m_ycontext; diff --git a/src/lib/util/aviio.cpp b/src/lib/util/aviio.cpp index 8722017d3e8..7f74920f06b 100644 --- a/src/lib/util/aviio.cpp +++ b/src/lib/util/aviio.cpp @@ -999,7 +999,7 @@ avi_file::error avi_stream::rgb32_compress_to_rgb(const bitmap_rgb32 &bitmap, st /* compressed video */ for (y = 0; y < height; y++) { - const std::uint32_t *source = &bitmap.pix32(y); + const std::uint32_t *source = &bitmap.pix(y); std::uint8_t *dest = data + (m_height - 1 - y) * m_width * 3; for (x = 0; x < width && dest < dataend; x++) @@ -1062,7 +1062,7 @@ avi_file::error avi_stream::yuv_decompress_to_yuy16(const std::uint8_t *data, st for (y = 0; y < m_height; y++) { const std::uint16_t *source = reinterpret_cast<const std::uint16_t *>(data) + y * m_width; - std::uint16_t *dest = &bitmap.pix16(y); + std::uint16_t *dest = &bitmap.pix(y); /* switch off the compression */ switch (m_format) @@ -1113,7 +1113,7 @@ avi_file::error avi_stream::yuy16_compress_to_yuy(const bitmap_yuy16 &bitmap, st /* compressed video */ for (y = 0; y < m_height; y++) { - const std::uint16_t *source = &bitmap.pix16(y); + const std::uint16_t *source = &bitmap.pix(y); std::uint16_t *dest = reinterpret_cast<std::uint16_t *>(data) + y * m_width; /* switch off the compression */ @@ -1298,7 +1298,7 @@ avi_file::error avi_stream::huffyuv_decompress_to_yuy16(const std::uint8_t *data /* compressed video */ for (y = 0; y < m_height; y++) { - std::uint16_t *dest = &bitmap.pix16(y); + std::uint16_t *dest = &bitmap.pix(y); /* handle the first four bytes independently */ x = 0; @@ -1386,8 +1386,8 @@ avi_file::error avi_stream::huffyuv_decompress_to_yuy16(const std::uint8_t *data lastprevy = lastprevcb = lastprevcr = 0; for (y = 0; y < m_height; y++) { - std::uint16_t *prevrow = &bitmap.pix16(y - prevlines); - std::uint16_t *dest = &bitmap.pix16(y); + std::uint16_t *prevrow = &bitmap.pix(y - prevlines); + std::uint16_t *dest = &bitmap.pix(y); /* handle the first four bytes independently */ x = 0; @@ -1500,7 +1500,7 @@ avi_file::error avi_stream::uncompressed_rgb24_to_argb32(const std::uint8_t *dat /* uncompressed video */ for (int y = 0; y < m_height; y++) { - std::uint32_t *dest = &bitmap.pix32(y); + std::uint32_t *dest = &bitmap.pix(y); /* loop over pixels */ for (int x = 0; x < m_width; x++) @@ -1530,7 +1530,7 @@ avi_file::error avi_stream::uncompressed_yuv420p_to_argb32(const std::uint8_t *d /* uncompressed video */ for (int y = 0; y < m_height; y++) { - std::uint32_t *dest = &bitmap.pix32(y); + std::uint32_t *dest = &bitmap.pix(y); /* loop over pixels */ for (int x = 0; x < m_width; x++) diff --git a/src/lib/util/bitmap.cpp b/src/lib/util/bitmap.cpp index 2b7cd74b5a1..fc05b89f1b6 100644 --- a/src/lib/util/bitmap.cpp +++ b/src/lib/util/bitmap.cpp @@ -10,7 +10,6 @@ #include "bitmap.h" -#include <algorithm> #include <cassert> #include <new> @@ -360,7 +359,7 @@ void bitmap_t::wrap(void *base, int width, int height, int rowpixels) * @param subrect The subrect. */ -void bitmap_t::wrap(const bitmap_t &source, const rectangle &subrect) +void bitmap_t::wrap(bitmap_t &source, const rectangle &subrect) { assert(m_format == source.m_format); assert(m_bpp == source.m_bpp); @@ -406,7 +405,7 @@ void bitmap_t::set_palette(palette_t *palette) } /** - * @fn void bitmap_t::fill(uint32_t color, const rectangle &cliprect) + * @fn void bitmap_t::fill(uint64_t color, const rectangle &bounds) * * @brief ------------------------------------------------- * fill -- fill a bitmap with a solid color @@ -416,10 +415,10 @@ void bitmap_t::set_palette(palette_t *palette) * @param cliprect The cliprect. */ -void bitmap_t::fill(uint32_t color, const rectangle &cliprect) +void bitmap_t::fill(uint64_t color, const rectangle &bounds) { // if we have a cliprect, intersect with that - rectangle fill(cliprect); + rectangle fill(bounds); fill &= m_cliprect; if (!fill.empty()) { @@ -448,3 +447,13 @@ void bitmap_t::fill(uint32_t color, const rectangle &cliprect) } } } + + +//************************************************************************** +// EXPLICIT TEMPLATE INSTANTIATIONS +//************************************************************************** + +template class bitmap_specific<uint8_t>; +template class bitmap_specific<uint16_t>; +template class bitmap_specific<uint32_t>; +template class bitmap_specific<uint64_t>; diff --git a/src/lib/util/bitmap.h b/src/lib/util/bitmap.h index ed6a5382a61..57ed0bc1775 100644 --- a/src/lib/util/bitmap.h +++ b/src/lib/util/bitmap.h @@ -16,6 +16,9 @@ #include "osdcore.h" #include "palette.h" +#include <algorithm> +#include <memory> + //************************************************************************** // TYPE DEFINITIONS @@ -151,23 +154,23 @@ public: // operations void set_palette(palette_t *palette); - void fill(uint32_t color) { fill(color, m_cliprect); } - void fill(uint32_t color, const rectangle &cliprect); - void plot_box(int x, int y, int width, int height, uint32_t color) + void fill(uint64_t color) { fill(color, m_cliprect); } + void fill(uint64_t color, const rectangle &bounds); + void plot_box(int32_t x, int32_t y, int32_t width, int32_t height, uint64_t color) { - rectangle clip(x, x + width - 1, y, y + height - 1); - fill(color, clip); + fill(color, rectangle(x, x + width - 1, y, y + height - 1)); } // pixel access - template<typename PixelType> - PixelType &pixt(int32_t y, int32_t x = 0) const { return *(reinterpret_cast<PixelType *>(m_base) + y * m_rowpixels + x); } - void *raw_pixptr(int32_t y, int32_t x = 0) const { return reinterpret_cast<uint8_t *>(m_base) + (y * m_rowpixels + x) * m_bpp / 8; } + void *raw_pixptr(int32_t y, int32_t x = 0) { return reinterpret_cast<uint8_t *>(m_base) + (y * m_rowpixels + x) * m_bpp / 8; } + void const *raw_pixptr(int32_t y, int32_t x = 0) const { return reinterpret_cast<uint8_t *>(m_base) + (y * m_rowpixels + x) * m_bpp / 8; } protected: // for use by subclasses only to ensure type correctness + template <typename PixelType> PixelType &pixt(int32_t y, int32_t x = 0) { return *(reinterpret_cast<PixelType *>(m_base) + y * m_rowpixels + x); } + template <typename PixelType> PixelType const &pixt(int32_t y, int32_t x = 0) const { return *(reinterpret_cast<PixelType *>(m_base) + y * m_rowpixels + x); } void wrap(void *base, int width, int height, int rowpixels); - void wrap(const bitmap_t &source, const rectangle &subrect); + void wrap(bitmap_t &source, const rectangle &subrect); private: // internal helpers @@ -191,17 +194,17 @@ private: // ======================> bitmap_specific, bitmap8_t, bitmap16_t, bitmap32_t, bitmap64_t -template<typename PixelType> +template <typename PixelType> class bitmap_specific : public bitmap_t { - static constexpr int PixelBits = 8 * sizeof(PixelType); + static constexpr int PIXEL_BITS = 8 * sizeof(PixelType); protected: // construction/destruction -- subclasses only bitmap_specific(bitmap_specific<PixelType> &&) = default; - bitmap_specific(bitmap_format format, int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap_t(format, PixelBits, width, height, xslop, yslop) { } - bitmap_specific(bitmap_format format, PixelType *base, int width, int height, int rowpixels) : bitmap_t(format, PixelBits, base, width, height, rowpixels) { } - bitmap_specific(bitmap_format format, bitmap_specific<PixelType> &source, const rectangle &subrect) : bitmap_t(format, PixelBits, source, subrect) { } + bitmap_specific(bitmap_format format, int width = 0, int height = 0, int xslop = 0, int yslop = 0) : bitmap_t(format, PIXEL_BITS, width, height, xslop, yslop) { } + bitmap_specific(bitmap_format format, PixelType *base, int width, int height, int rowpixels) : bitmap_t(format, PIXEL_BITS, base, width, height, rowpixels) { } + bitmap_specific(bitmap_format format, bitmap_specific<PixelType> &source, const rectangle &subrect) : bitmap_t(format, PIXEL_BITS, source, subrect) { } bitmap_specific<PixelType> &operator=(bitmap_specific<PixelType> &&) = default; @@ -209,27 +212,46 @@ public: using pixel_t = PixelType; // getters - uint8_t bpp() const { return PixelBits; } + uint8_t bpp() const { return PIXEL_BITS; } // pixel accessors - PixelType &pix(int32_t y, int32_t x = 0) const { return pixt<PixelType>(y, x); } - PixelType &pix8(int32_t y, int32_t x = 0) const { static_assert(PixelBits == 8, "must be 8bpp"); return pixt<PixelType>(y, x); } - PixelType &pix16(int32_t y, int32_t x = 0) const { static_assert(PixelBits == 16, "must be 16bpp"); return pixt<PixelType>(y, x); } - PixelType &pix32(int32_t y, int32_t x = 0) const { static_assert(PixelBits == 32, "must be 32bpp"); return pixt<PixelType>(y, x); } - PixelType &pix64(int32_t y, int32_t x = 0) const { static_assert(PixelBits == 64, "must be 64bpp"); return pixt<PixelType>(y, x); } + PixelType &pix(int32_t y, int32_t x = 0) { return pixt<PixelType>(y, x); } + PixelType const &pix(int32_t y, int32_t x = 0) const { return pixt<PixelType>(y, x); } + + // operations + void fill(PixelType color) { fill(color, cliprect()); } + void fill(PixelType color, const rectangle &bounds) + { + // if we have a cliprect, intersect with that + rectangle fill(bounds); + fill &= cliprect(); + if (!fill.empty()) + { + for (int32_t y = fill.top(); y <= fill.bottom(); y++) + std::fill_n(&pix(y, fill.left()), fill.width(), color); + } + } + void plot_box(int32_t x, int32_t y, int32_t width, int32_t height, PixelType color) + { + fill(color, rectangle(x, x + width - 1, y, y + height - 1)); + } }; // 8bpp bitmaps using bitmap8_t = bitmap_specific<uint8_t>; +extern template class bitmap_specific<uint8_t>; // 16bpp bitmaps using bitmap16_t = bitmap_specific<uint16_t>; +extern template class bitmap_specific<uint16_t>; // 32bpp bitmaps using bitmap32_t = bitmap_specific<uint32_t>; +extern template class bitmap_specific<uint32_t>; // 64bpp bitmaps using bitmap64_t = bitmap_specific<uint64_t>; +extern template class bitmap_specific<uint64_t>; // ======================> bitmap_ind8, bitmap_ind16, bitmap_ind32, bitmap_ind64 @@ -246,7 +268,7 @@ public: bitmap_ind8(uint8_t *base, int width, int height, int rowpixels) : bitmap8_t(k_bitmap_format, base, width, height, rowpixels) { } bitmap_ind8(bitmap_ind8 &source, const rectangle &subrect) : bitmap8_t(k_bitmap_format, source, subrect) { } void wrap(uint8_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); } - void wrap(const bitmap_ind8 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<const bitmap_t &>(source), subrect); } + void wrap(bitmap_ind8 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); } // getters bitmap_format format() const { return k_bitmap_format; } @@ -266,7 +288,7 @@ public: bitmap_ind16(uint16_t *base, int width, int height, int rowpixels) : bitmap16_t(k_bitmap_format, base, width, height, rowpixels) { } bitmap_ind16(bitmap_ind16 &source, const rectangle &subrect) : bitmap16_t(k_bitmap_format, source, subrect) { } void wrap(uint16_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); } - void wrap(const bitmap_ind8 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<const bitmap_t &>(source), subrect); } + void wrap(bitmap_ind8 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); } // getters bitmap_format format() const { return k_bitmap_format; } @@ -286,7 +308,7 @@ public: bitmap_ind32(uint32_t *base, int width, int height, int rowpixels) : bitmap32_t(k_bitmap_format, base, width, height, rowpixels) { } bitmap_ind32(bitmap_ind32 &source, const rectangle &subrect) : bitmap32_t(k_bitmap_format, source, subrect) { } void wrap(uint32_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); } - void wrap(const bitmap_ind8 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<const bitmap_t &>(source), subrect); } + void wrap(bitmap_ind8 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); } // getters bitmap_format format() const { return k_bitmap_format; } @@ -306,7 +328,7 @@ public: bitmap_ind64(uint64_t *base, int width, int height, int rowpixels) : bitmap64_t(k_bitmap_format, base, width, height, rowpixels) { } bitmap_ind64(bitmap_ind64 &source, const rectangle &subrect) : bitmap64_t(k_bitmap_format, source, subrect) { } void wrap(uint64_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); } - void wrap(const bitmap_ind8 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<const bitmap_t &>(source), subrect); } + void wrap(bitmap_ind8 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); } // getters bitmap_format format() const { return k_bitmap_format; } @@ -329,7 +351,7 @@ public: bitmap_yuy16(uint16_t *base, int width, int height, int rowpixels) : bitmap16_t(k_bitmap_format, base, width, height, rowpixels) { } bitmap_yuy16(bitmap_yuy16 &source, const rectangle &subrect) : bitmap16_t(k_bitmap_format, source, subrect) { } void wrap(uint16_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); } - void wrap(const bitmap_yuy16 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<const bitmap_t &>(source), subrect); } + void wrap(bitmap_yuy16 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); } // getters bitmap_format format() const { return k_bitmap_format; } @@ -349,7 +371,7 @@ public: bitmap_rgb32(uint32_t *base, int width, int height, int rowpixels) : bitmap32_t(k_bitmap_format, base, width, height, rowpixels) { } bitmap_rgb32(bitmap_rgb32 &source, const rectangle &subrect) : bitmap32_t(k_bitmap_format, source, subrect) { } void wrap(uint32_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); } - void wrap(const bitmap_rgb32 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<const bitmap_t &>(source), subrect); } + void wrap(bitmap_rgb32 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); } // getters bitmap_format format() const { return k_bitmap_format; } @@ -369,7 +391,7 @@ public: bitmap_argb32(uint32_t *base, int width, int height, int rowpixels) : bitmap32_t(k_bitmap_format, base, width, height, rowpixels) { } bitmap_argb32(bitmap_argb32 &source, const rectangle &subrect) : bitmap32_t(k_bitmap_format, source, subrect) { } void wrap(uint32_t *base, int width, int height, int rowpixels) { bitmap_t::wrap(base, width, height, rowpixels); } - void wrap(const bitmap_argb32 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<const bitmap_t &>(source), subrect); } + void wrap(bitmap_argb32 &source, const rectangle &subrect) { bitmap_t::wrap(static_cast<bitmap_t &>(source), subrect); } // getters bitmap_format format() const { return k_bitmap_format; } @@ -377,5 +399,4 @@ public: bitmap_argb32 &operator=(bitmap_argb32 &&) = default; }; - -#endif // MAME_UTIL_BITMAP_H +#endif // MAME_UTIL_BITMAP_H diff --git a/src/lib/util/chdcodec.cpp b/src/lib/util/chdcodec.cpp index 58f7b4291db..7f6e0f018cd 100644 --- a/src/lib/util/chdcodec.cpp +++ b/src/lib/util/chdcodec.cpp @@ -1786,7 +1786,7 @@ void chd_avhuff_decompressor::configure(int param, void *config) { // if we're getting the decompression configuration, apply it now if (param == AVHUFF_CODEC_DECOMPRESS_CONFIG) - m_decoder.configure(*reinterpret_cast<avhuff_decompress_config *>(config)); + m_decoder.configure(*reinterpret_cast<avhuff_decoder::config const *>(config)); // anything else is invalid else diff --git a/src/lib/util/png.cpp b/src/lib/util/png.cpp index 6b59436750c..69835e54051 100644 --- a/src/lib/util/png.cpp +++ b/src/lib/util/png.cpp @@ -519,7 +519,7 @@ public: accumalpha &= alpha; std::uint16_t const paloffs(std::uint16_t(*src) * 3); rgb_t const pix(alpha, pnginfo.palette[paloffs], pnginfo.palette[paloffs + 1], pnginfo.palette[paloffs + 2]); - bitmap.pix32((y << y_shift) + y_offs, (x << x_shift) + x_offs) = pix; + bitmap.pix((y << y_shift) + y_offs, (x << x_shift) + x_offs) = pix; } } } @@ -537,7 +537,7 @@ public: std::uint8_t const a_val((pnginfo.trans && (transpen == i_val)) ? 0x00 : 0xff); i_val >>= samp_shift; accumalpha &= a_val; - bitmap.pix32((y << y_shift) + y_offs, (x << x_shift) + x_offs) = rgb_t(a_val, i_val, i_val, i_val); + bitmap.pix((y << y_shift) + y_offs, (x << x_shift) + x_offs) = rgb_t(a_val, i_val, i_val, i_val); } } } @@ -552,7 +552,7 @@ public: { accumalpha &= src[a]; rgb_t const pix(src[a], src[i], src[i], src[i]); - bitmap.pix32((y << y_shift) + y_offs, (x << x_shift) + x_offs) = pix; + bitmap.pix((y << y_shift) + y_offs, (x << x_shift) + x_offs) = pix; } } } @@ -578,7 +578,7 @@ public: g_val >>= samp_shift; b_val >>= samp_shift; accumalpha &= a_val; - bitmap.pix32((y << y_shift) + y_offs, (x << x_shift) + x_offs) = rgb_t(a_val, r_val, g_val, b_val); + bitmap.pix((y << y_shift) + y_offs, (x << x_shift) + x_offs) = rgb_t(a_val, r_val, g_val, b_val); } } } @@ -595,7 +595,7 @@ public: { accumalpha &= src[a]; rgb_t const pix(src[a], src[r], src[g], src[b]); - bitmap.pix32((y << y_shift) + y_offs, (x << x_shift) + x_offs) = pix; + bitmap.pix((y << y_shift) + y_offs, (x << x_shift) + x_offs) = pix; } } } @@ -1042,7 +1042,7 @@ static png_error convert_bitmap_to_image_palette(png_info &pnginfo, const bitmap /* copy in the pixels, specifying a nullptr filter */ for (y = 0; y < pnginfo.height; y++) { - auto *src = reinterpret_cast<uint16_t *>(bitmap.raw_pixptr(y)); + uint16_t const *src = reinterpret_cast<uint16_t const *>(bitmap.raw_pixptr(y)); uint8_t *dst = &pnginfo.image[y * (rowbytes + 1)]; /* store the filter byte, then copy the data */ @@ -1088,7 +1088,7 @@ static png_error convert_bitmap_to_image_rgb(png_info &pnginfo, const bitmap_t & /* 16bpp palettized format */ if (bitmap.format() == BITMAP_FORMAT_IND16) { - auto *src16 = reinterpret_cast<uint16_t *>(bitmap.raw_pixptr(y)); + uint16_t const *src16 = reinterpret_cast<uint16_t const *>(bitmap.raw_pixptr(y)); for (x = 0; x < pnginfo.width; x++) { rgb_t color = palette[*src16++]; @@ -1101,7 +1101,7 @@ static png_error convert_bitmap_to_image_rgb(png_info &pnginfo, const bitmap_t & /* 32-bit RGB direct */ else if (bitmap.format() == BITMAP_FORMAT_RGB32) { - auto *src32 = reinterpret_cast<uint32_t *>(bitmap.raw_pixptr(y)); + uint32_t const *src32 = reinterpret_cast<uint32_t const *>(bitmap.raw_pixptr(y)); for (x = 0; x < pnginfo.width; x++) { rgb_t raw = *src32++; @@ -1114,7 +1114,7 @@ static png_error convert_bitmap_to_image_rgb(png_info &pnginfo, const bitmap_t & /* 32-bit ARGB direct */ else if (bitmap.format() == BITMAP_FORMAT_ARGB32) { - auto *src32 = reinterpret_cast<uint32_t *>(bitmap.raw_pixptr(y)); + uint32_t const *src32 = reinterpret_cast<uint32_t const *>(bitmap.raw_pixptr(y)); for (x = 0; x < pnginfo.width; x++) { rgb_t raw = *src32++; |