No more room for LISP objects error wxMaxima - performance
I am trying to solve a non-linear equation system with maxima.
I use wxmaxima (17.05.0). The non-linear system is rather long and I am deeply sorry for posting the hole problem, but otherwise I do not think my problem will be clear.
I would like to solve these equations for eleven unkowns (K2 to K11) When I run this after some time the error message "No more room for LISP objects" occurs.
I have no glue how I can give it more cpu or to avoid the error.
I need the symbolic solutions for further calculations.
debugmode(true);
gcd : subres;
eq1:mBA*(K10*RABm10 + K11*RABm11 + K12*RABm12 + K7*RABm7 + K8*RABm8 + K9*RABm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RBm2 + K3*RBm3 + K4*RBm4 + K5*RBm5 + K6*RBm6) +
mAB*(K10*RABm10 + K11*RABm11 + K12*RABm12 + K7*RABm7 + K8*RABm8 +
K9*RABm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RBm10 + K11*M11*RBm11 + K12*M12*RBm12 + K2*M2*RBm2 +
K3*M3*RBm3 + K4*M4*RBm4 + K5*M5*RBm5 + K6*M6*RBm6 + K7*M7*RBm7 +
K8*M8*RBm8 + K9*M9*RBm9) =
mBA*(K10*RABm10 + K11*RABm11 + K12*RABm12 + K7*RABm7 + K8*RABm8 +
K9*RABm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RBm10 + K11*RBm11 + K12*RBm12 + K7*RBm7 + K8*RBm8 + K9*RBm9) +
mAB*(K10*RABm10 + K11*RABm11 + K12*RABm12 + K7*RABm7 + K8*RABm8 +
K9*RABm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RBm10 + K11*M11*RBm11 + K12*M12*RBm12 +
K2*M2*RBm2 + K3*M3*RBm3 + K4*M4*RBm4 + K5*M5*RBm5 + K6*M6*RBm6 +
K7*M7*RBm7 + K8*M8*RBm8 + K9*M9*RBm9)$
eq2:mCA*(K10*RACm10 + K11*RACm11 + K12*RACm12 + K7*RACm7 + K8*RACm8 + K9*RACm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RCm2 + K3*RCm3 + K4*RCm4 + K5*RCm5 + K6*RCm6) +
mAC*(K10*RACm10 + K11*RACm11 + K12*RACm12 + K7*RACm7 + K8*RACm8 +
K9*RACm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RCm10 + K11*M11*RCm11 + K12*M12*RCm12 + K2*M2*RCm2 +
K3*M3*RCm3 + K4*M4*RCm4 + K5*M5*RCm5 + K6*M6*RCm6 + K7*M7*RCm7 +
K8*M8*RCm8 + K9*M9*RCm9) =
mCA*(K10*RACm10 + K11*RACm11 + K12*RACm12 + K7*RACm7 + K8*RACm8 +
K9*RACm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RCm10 + K11*RCm11 + K12*RCm12 + K7*RCm7 + K8*RCm8 + K9*RCm9) +
mAC*(K10*RACm10 + K11*RACm11 + K12*RACm12 + K7*RACm7 + K8*RACm8 +
K9*RACm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RCm10 + K11*M11*RCm11 + K12*M12*RCm12 +
K2*M2*RCm2 + K3*M3*RCm3 + K4*M4*RCm4 + K5*M5*RCm5 + K6*M6*RCm6 +
K7*M7*RCm7 + K8*M8*RCm8 + K9*M9*RCm9)$
eq3:mDA*(K10*RADm10 + K11*RADm11 + K12*RADm12 + K7*RADm7 + K8*RADm8 + K9*RADm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RDm2 + K3*RDm3 + K4*RDm4 + K5*RDm5 + K6*RDm6) +
mAD*(K10*RADm10 + K11*RADm11 + K12*RADm12 + K7*RADm7 + K8*RADm8 +
K9*RADm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RDm10 + K11*M11*RDm11 + K12*M12*RDm12 + K2*M2*RDm2 +
K3*M3*RDm3 + K4*M4*RDm4 + K5*M5*RDm5 + K6*M6*RDm6 + K7*M7*RDm7 +
K8*M8*RDm8 + K9*M9*RDm9) =
mDA*(K10*RADm10 + K11*RADm11 + K12*RADm12 + K7*RADm7 + K8*RADm8 +
K9*RADm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RDm10 + K11*RDm11 + K12*RDm12 + K7*RDm7 + K8*RDm8 + K9*RDm9) +
mAD*(K10*RADm10 + K11*RADm11 + K12*RADm12 + K7*RADm7 + K8*RADm8 +
K9*RADm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RDm10 + K11*M11*RDm11 + K12*M12*RDm12 +
K2*M2*RDm2 + K3*M3*RDm3 + K4*M4*RDm4 + K5*M5*RDm5 + K6*M6*RDm6 +
K7*M7*RDm7 + K8*M8*RDm8 + K9*M9*RDm9)$
eq4:mEA*(K10*RAEm10 + K11*RAEm11 + K12*RAEm12 + K7*RAEm7 + K8*RAEm8 + K9*RAEm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*REm2 + K3*REm3 + K4*REm4 + K5*REm5 + K6*REm6) +
mAE*(K10*RAEm10 + K11*RAEm11 + K12*RAEm12 + K7*RAEm7 + K8*RAEm8 +
K9*RAEm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*REm10 + K11*M11*REm11 + K12*M12*REm12 + K2*M2*REm2 +
K3*M3*REm3 + K4*M4*REm4 + K5*M5*REm5 + K6*M6*REm6 + K7*M7*REm7 +
K8*M8*REm8 + K9*M9*REm9) =
mEA*(K10*RAEm10 + K11*RAEm11 + K12*RAEm12 + K7*RAEm7 + K8*RAEm8 +
K9*RAEm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*REm10 + K11*REm11 + K12*REm12 + K7*REm7 + K8*REm8 + K9*REm9) +
mAE*(K10*RAEm10 + K11*RAEm11 + K12*RAEm12 + K7*RAEm7 + K8*RAEm8 +
K9*RAEm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*REm10 + K11*M11*REm11 + K12*M12*REm12 +
K2*M2*REm2 + K3*M3*REm3 + K4*M4*REm4 + K5*M5*REm5 + K6*M6*REm6 +
K7*M7*REm7 + K8*M8*REm8 + K9*M9*REm9)$
eq5:mFA*(K10*RAFm10 + K11*RAFm11 + K12*RAFm12 + K7*RAFm7 + K8*RAFm8 + K9*RAFm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RFm2 + K3*RFm3 + K4*RFm4 + K5*RFm5 + K6*RFm6) +
mAF*(K10*RAFm10 + K11*RAFm11 + K12*RAFm12 + K7*RAFm7 + K8*RAFm8 +
K9*RAFm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RFm10 + K11*M11*RFm11 + K12*M12*RFm12 + K2*M2*RFm2 +
K3*M3*RFm3 + K4*M4*RFm4 + K5*M5*RFm5 + K6*M6*RFm6 + K7*M7*RFm7 +
K8*M8*RFm8 + K9*M9*RFm9) =
mFA*(K10*RAFm10 + K11*RAFm11 + K12*RAFm12 + K7*RAFm7 + K8*RAFm8 +
K9*RAFm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RFm10 + K11*RFm11 + K12*RFm12 + K7*RFm7 + K8*RFm8 + K9*RFm9) +
mAF*(K10*RAFm10 + K11*RAFm11 + K12*RAFm12 + K7*RAFm7 + K8*RAFm8 +
K9*RAFm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RFm10 + K11*M11*RFm11 + K12*M12*RFm12 +
K2*M2*RFm2 + K3*M3*RFm3 + K4*M4*RFm4 + K5*M5*RFm5 + K6*M6*RFm6 +
K7*M7*RFm7 + K8*M8*RFm8 + K9*M9*RFm9)$
eq6:mGA*(K10*RAGm10 + K11*RAGm11 + K12*RAGm12 + K7*RAGm7 + K8*RAGm8 + K9*RAGm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RGm2 + K3*RGm3 + K4*RGm4 + K5*RGm5 + K6*RGm6) +
mAG*(K10*RAGm10 + K11*RAGm11 + K12*RAGm12 + K7*RAGm7 + K8*RAGm8 +
K9*RAGm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RGm10 + K11*M11*RGm11 + K12*M12*RGm12 + K2*M2*RGm2 +
K3*M3*RGm3 + K4*M4*RGm4 + K5*M5*RGm5 + K6*M6*RGm6 + K7*M7*RGm7 +
K8*M8*RGm8 + K9*M9*RGm9) =
mGA*(K10*RAGm10 + K11*RAGm11 + K12*RAGm12 + K7*RAGm7 + K8*RAGm8 +
K9*RAGm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RGm10 + K11*RGm11 + K12*RGm12 + K7*RGm7 + K8*RGm8 + K9*RGm9) +
mAG*(K10*RAGm10 + K11*RAGm11 + K12*RAGm12 + K7*RAGm7 + K8*RAGm8 +
K9*RAGm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RGm10 + K11*M11*RGm11 + K12*M12*RGm12 +
K2*M2*RGm2 + K3*M3*RGm3 + K4*M4*RGm4 + K5*M5*RGm5 + K6*M6*RGm6 +
K7*M7*RGm7 + K8*M8*RGm8 + K9*M9*RGm9)$
eq7:mHA*(K10*RAHm10 + K11*RAHm11 + K12*RAHm12 + K7*RAHm7 + K8*RAHm8 + K9*RAHm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RHm2 + K3*RHm3 + K4*RHm4 + K5*RHm5 + K6*RHm6) +
mAH*(K10*RAHm10 + K11*RAHm11 + K12*RAHm12 + K7*RAHm7 + K8*RAHm8 +
K9*RAHm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RHm10 + K11*M11*RHm11 + K12*M12*RHm12 + K2*M2*RHm2 +
K3*M3*RHm3 + K4*M4*RHm4 + K5*M5*RHm5 + K6*M6*RHm6 + K7*M7*RHm7 +
K8*M8*RHm8 + K9*M9*RHm9) =
mHA*(K10*RAHm10 + K11*RAHm11 + K12*RAHm12 + K7*RAHm7 + K8*RAHm8 +
K9*RAHm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RHm10 + K11*RHm11 + K12*RHm12 + K7*RHm7 + K8*RHm8 + K9*RHm9) +
mAH*(K10*RAHm10 + K11*RAHm11 + K12*RAHm12 + K7*RAHm7 + K8*RAHm8 +
K9*RAHm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RHm10 + K11*M11*RHm11 + K12*M12*RHm12 +
K2*M2*RHm2 + K3*M3*RHm3 + K4*M4*RHm4 + K5*M5*RHm5 + K6*M6*RHm6 +
K7*M7*RHm7 + K8*M8*RHm8 + K9*M9*RHm9)$
eq8:mIA*(K10*RAIm10 + K11*RAIm11 + K12*RAIm12 + K7*RAIm7 + K8*RAIm8 + K9*RAIm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RIm2 + K3*RIm3 + K4*RIm4 + K5*RIm5 + K6*RIm6) +
mAI*(K10*RAIm10 + K11*RAIm11 + K12*RAIm12 + K7*RAIm7 + K8*RAIm8 +
K9*RAIm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RIm10 + K11*M11*RIm11 + K12*M12*RIm12 + K2*M2*RIm2 +
K3*M3*RIm3 + K4*M4*RIm4 + K5*M5*RIm5 + K6*M6*RIm6 + K7*M7*RIm7 +
K8*M8*RIm8 + K9*M9*RIm9) =
mIA*(K10*RAIm10 + K11*RAIm11 + K12*RAIm12 + K7*RAIm7 + K8*RAIm8 +
K9*RAIm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RIm10 + K11*RIm11 + K12*RIm12 + K7*RIm7 + K8*RIm8 + K9*RIm9) +
mAI*(K10*RAIm10 + K11*RAIm11 + K12*RAIm12 + K7*RAIm7 + K8*RAIm8 +
K9*RAIm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RIm10 + K11*M11*RIm11 + K12*M12*RIm12 +
K2*M2*RIm2 + K3*M3*RIm3 + K4*M4*RIm4 + K5*M5*RIm5 + K6*M6*RIm6 +
K7*M7*RIm7 + K8*M8*RIm8 + K9*M9*RIm9)$
eq9:mJA*(K10*RAJm10 + K11*RAJm11 + K12*RAJm12 + K7*RAJm7 + K8*RAJm8 + K9*RAJm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RJm2 + K3*RJm3 + K4*RJm4 + K5*RJm5 + K6*RJm6) +
mAJ*(K10*RAJm10 + K11*RAJm11 + K12*RAJm12 + K7*RAJm7 + K8*RAJm8 +
K9*RAJm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RJm10 + K11*M11*RJm11 + K12*M12*RJm12 + K2*M2*RJm2 +
K3*M3*RJm3 + K4*M4*RJm4 + K5*M5*RJm5 + K6*M6*RJm6 + K7*M7*RJm7 +
K8*M8*RJm8 + K9*M9*RJm9) =
mJA*(K10*RAJm10 + K11*RAJm11 + K12*RAJm12 + K7*RAJm7 + K8*RAJm8 +
K9*RAJm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RJm10 + K11*RJm11 + K12*RJm12 + K7*RJm7 + K8*RJm8 + K9*RJm9) +
mAJ*(K10*RAJm10 + K11*RAJm11 + K12*RAJm12 + K7*RAJm7 + K8*RAJm8 +
K9*RAJm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RJm10 + K11*M11*RJm11 + K12*M12*RJm12 +
K2*M2*RJm2 + K3*M3*RJm3 + K4*M4*RJm4 + K5*M5*RJm5 + K6*M6*RJm6 +
K7*M7*RJm7 + K8*M8*RJm8 + K9*M9*RJm9)$
eq10:mKA*(K10*RAKm10 + K11*RAKm11 + K12*RAKm12 + K7*RAKm7 + K8*RAKm8 + K9*RAKm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RKm2 + K3*RKm3 + K4*RKm4 + K5*RKm5 + K6*RKm6) +
mAK*(K10*RAKm10 + K11*RAKm11 + K12*RAKm12 + K7*RAKm7 + K8*RAKm8 +
K9*RAKm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RKm10 + K11*M11*RKm11 + K12*M12*RKm12 + K2*M2*RKm2 +
K3*M3*RKm3 + K4*M4*RKm4 + K5*M5*RKm5 + K6*M6*RKm6 + K7*M7*RKm7 +
K8*M8*RKm8 + K9*M9*RKm9) =
mKA*(K10*RAKm10 + K11*RAKm11 + K12*RAKm12 + K7*RAKm7 + K8*RAKm8 +
K9*RAKm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RKm10 + K11*RKm11 + K12*RKm12 + K7*RKm7 + K8*RKm8 + K9*RKm9) +
mAK*(K10*RAKm10 + K11*RAKm11 + K12*RAKm12 + K7*RAKm7 + K8*RAKm8 +
K9*RAKm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RKm10 + K11*M11*RKm11 + K12*M12*RKm12 +
K2*M2*RKm2 + K3*M3*RKm3 + K4*M4*RKm4 + K5*M5*RKm5 + K6*M6*RKm6 +
K7*M7*RKm7 + K8*M8*RKm8 + K9*M9*RKm9)$
eq11:mLA*(K10*RALm10 + K11*RALm11 + K12*RALm12 + K7*RALm7 + K8*RALm8 + K9*RALm9)*
(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 + K2*M2*RAm2 +
K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 + K7*M7*RAm7 +
K8*M8*RAm8 + K9*M9*RAm9)*
(1 + K2*RLm2 + K3*RLm3 + K4*RLm4 + K5*RLm5 + K6*RLm6) +
mAL*(K10*RALm10 + K11*RALm11 + K12*RALm12 + K7*RALm7 + K8*RALm8 +
K9*RALm9)*(1 + K2*RAm2 + K3*RAm3 + K4*RAm4 + K5*RAm5 + K6*RAm6)*
(M1 + K10*M10*RLm10 + K11*M11*RLm11 + K12*M12*RLm12 + K2*M2*RLm2 +
K3*M3*RLm3 + K4*M4*RLm4 + K5*M5*RLm5 + K6*M6*RLm6 + K7*M7*RLm7 +
K8*M8*RLm8 + K9*M9*RLm9) =
mLA*(K10*RALm10 + K11*RALm11 + K12*RALm12 + K7*RALm7 + K8*RALm8 +
K9*RALm9)*(M1 + K10*M10*RAm10 + K11*M11*RAm11 + K12*M12*RAm12 +
K2*M2*RAm2 + K3*M3*RAm3 + K4*M4*RAm4 + K5*M5*RAm5 + K6*M6*RAm6 +
K7*M7*RAm7 + K8*M8*RAm8 + K9*M9*RAm9)*
(K10*RLm10 + K11*RLm11 + K12*RLm12 + K7*RLm7 + K8*RLm8 + K9*RLm9) +
mAL*(K10*RALm10 + K11*RALm11 + K12*RALm12 + K7*RALm7 + K8*RALm8 +
K9*RALm9)*(K10*RAm10 + K11*RAm11 + K12*RAm12 + K7*RAm7 + K8*RAm8 +
K9*RAm9)*(M1 + K10*M10*RLm10 + K11*M11*RLm11 + K12*M12*RLm12 +
K2*M2*RLm2 + K3*M3*RLm3 + K4*M4*RLm4 + K5*M5*RLm5 + K6*M6*RLm6 +
K7*M7*RLm7 + K8*M8*RLm8 + K9*M9*RLm9)$
sol:solve([eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10,eq11],[K2,K3,K4,K5,K6,K7,K8,K9,K10,K11])$
Here are the missing infos about my system.
wxMaxima version: 17.05.0
Maxima version: 5.40.0
Maxima build date: 2017-06-01 18:54:32
Host type: x86_64-w64-mingw32
System type:
gcc -mno-cygwin -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -Wno-format-nonliteral -O2 -fexpensive-optimizations -falign-functions=4 -D_WIN32 -DENABLE_UNICODE -I/usr/local/include -DDYNAMIC_FFI -I. -L/usr/local/lib -lintl /usr/local/lib/libreadline.dll.a -L/usr/local/lib -ltermcap /usr/local/lib/libavcall.a /usr/local/lib/libcallback.a -luser32 -lws2_32 -lole32 -loleaut32 -luuid -liconv -L/usr/local/lib -lsigsegv libgnu_cl.a
SAFETY=0 HEAPCODES STANDARD_HEAPCODES GENERATIONAL_GC SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY
libsigsegv 2.8
libiconv 1.13
libreadline 6.0 GNU C 3.4.5 (mingw-vista special r3) PC/386
Lisp implementation type: CLISP
Lisp implementation version: 2.49 (2010-07-07) (built on toshiba [192.168.43.206])
This seems to me like heap exhaustion. Using the :lisp directive from my comment above, you can investigate the current heap size in the underlying Lisp. This is implementation-specific, but assuming you're running on SBCL, the following would retrieve the heap size:
:lisp (cl-user::dynamic-space-size)
Now, Maxima recognizes an environment variable MAXIMA_LISP_OPTIONS, which is just a list of command line parameters passed to Lisp. In SBCL there's a parameter --dynamic-space-size, which specifies the heap size in megabytes. So by running Maxima as follows:
MAXIMA_LISP_OPTIONS="--dynamic-space-size 10000" maxima
you should run the underlying SBCL with 10 GB of heap space, which you can verify as above. This approach would have to be appropriately modified for other Lisp implementations. Let me know if this allows your calculations to run to completion.
I have changed a line in the maxima.bat file.
There you can find some thing like
if exist "%maxima_prefix%/bin/libgcc_s_seh-1.dll" (
if "%lisp_options%"=="" set lisp_options=--dynamic-space-size^ 200
)
I have changed the 200 MB to 8000 MB, this help me to increase the heap size but still I was not able to solve my system of non-linear equations.
Related
Passing string parameter JPA native query
I have a native query I want to pass parameters to the following query: SELECT dqlist.*,score(1) AS rank FROM dq_list_hash_full dqlist WHERE contains(dqlist.dq_english_name,'definescore(fuzzy(, 1, 6, weight),relevance)',1) > 0 I am using the question mark operator but somehow it is not understanding and giving me SQL grammer exception: Here is my try: SELECT dqlist.*,score(1) AS rank FROM dq_list_hash_full dqlist WHERE contains(dqlist.dq_english_name,'definescore(fuzzy('?1', 1, 6, weight),relevance)',1) > 0 My JPA repo method: #Query(nativeQuery = true,value="SELECT\r\n" + " a.EXTERNALID_ENC,\r\n" + " a.EXTERNALID,\r\n" + " a.TELNUMBER,\r\n" + " a.TELAREACODE,\r\n" + " a.DQ_ENGLISH_NAME,\r\n" + " a.DQ_ARABIC_NAME,\r\n" + " a.NAMEFIELD_1,\r\n" + " a.USAGETYPE,\r\n" + " a.STATE,\r\n" + " a.REGION,\r\n" + " a.LOCALITY,\r\n" + " a.ADDITIONALLOCALITYINFO,\r\n" + " a.GEN_TEXT_7,\r\n" + " a.GEN_SHORTTEXT_1,\r\n" + " a.GEN_SHORTTEXT_4,\r\n" + " a.GEN_SHORTTEXT_9,\r\n" + " a.GEN_SHORTTEXT_10,\r\n" + " a.CBCM_ENGLISH_NAME,\r\n" + " a.CBCM_ARABIC_NAME,\r\n" + " a.CBCM_EMIRATE_NAME,\r\n" + " a.CBCM_PARTY_ID,\r\n" + " a.CBCM_ACCOUNT_ID,\r\n" + " a.RECORD_ID,\r\n" + " a.DISPLAY_FLAG,\r\n" + " a.DISPLAY_FLAG_GROUP,\r\n" + " a.LONGITUDE,\r\n" + " a.LATITUDE,\r\n" + " a.NORMALIZED_ENGLISH_NAME,\r\n" + " a.CBCM_PARTY_ENGLISH_NAME,\r\n" + " a.CBCM_PARTY_ARABIC_NAME,\r\n" + " a.MANUAL_UPDATE_FLAG,\r\n" + " a.RULE_UPDATE_FLAG,\r\n" + " a.BUSINESS_UPDATE_FLAG,\r\n" + " a.EXCEL_UPDATE_FLAG\r\n" + " \r\n" + " FROM\r\n" + " (\r\n" + " SELECT\r\n" + " *\r\n" + " FROM\r\n" + " (\r\n" + " SELECT\r\n" + " dqlist.*,\r\n" + " score(1) AS rank\r\n" + " FROM\r\n" + " dq_list_hash_full dqlist\r\n" + " WHERE\r\n" + " contains(dqlist.dq_english_name,'definescore(fuzzy(?1, 1, 6, weight),relevance)',1) > 0\r\n" + " UNION\r\n" + " SELECT\r\n" + " dqlist.*,\r\n" + " score(1) AS rank\r\n" + " FROM\r\n" + " dq_list_hash_full dqlist\r\n" + " WHERE\r\n" + " contains(dqlist.dq_english_name,'!?1' ,1) > 0\r\n" + " )\r\n" + " ORDER BY\r\n" + " rank DESC\r\n" + " ) a\r\n" + "") public List<DqListHashFullEntity> findByEngName(#Param("englishName") String englishName); #Query(value="SELECT\r\n" + " a.EXTERNALID_ENC,\r\n" + " a.EXTERNALID,\r\n" + " a.TELNUMBER,\r\n" + " a.TELAREACODE,\r\n" + " a.DQ_ENGLISH_NAME,\r\n" + " a.DQ_ARABIC_NAME,\r\n" + " a.NAMEFIELD_1,\r\n" + " a.USAGETYPE,\r\n" + " a.STATE,\r\n" + " a.REGION,\r\n" + " a.LOCALITY,\r\n" + " a.ADDITIONALLOCALITYINFO,\r\n" + " a.GEN_TEXT_7,\r\n" + " a.GEN_SHORTTEXT_1,\r\n" + " a.GEN_SHORTTEXT_4,\r\n" + " a.GEN_SHORTTEXT_9,\r\n" + " a.GEN_SHORTTEXT_10,\r\n" + " a.CBCM_ENGLISH_NAME,\r\n" + " a.CBCM_ARABIC_NAME,\r\n" + " a.CBCM_EMIRATE_NAME,\r\n" + " a.CBCM_PARTY_ID,\r\n" + " a.CBCM_ACCOUNT_ID,\r\n" + " a.RECORD_ID,\r\n" + " a.DISPLAY_FLAG,\r\n" + " a.DISPLAY_FLAG_GROUP,\r\n" + " a.LONGITUDE,\r\n" + " a.LATITUDE,\r\n" + " a.NORMALIZED_ENGLISH_NAME,\r\n" + " a.CBCM_PARTY_ENGLISH_NAME,\r\n" + " a.CBCM_PARTY_ARABIC_NAME,\r\n" + " a.MANUAL_UPDATE_FLAG,\r\n" + " a.RULE_UPDATE_FLAG,\r\n" + " a.BUSINESS_UPDATE_FLAG,\r\n" + " a.EXCEL_UPDATE_FLAG\r\n" + " \r\n" + " FROM\r\n" + " (\r\n" + " SELECT\r\n" + " *\r\n" + " FROM\r\n" + " (\r\n" + " SELECT\r\n" + " dqlist.*,\r\n" + " score(1) AS rank\r\n" + " FROM\r\n" + " dq_list_hash_full dqlist\r\n" + " WHERE\r\n" + " contains(dqlist.dq_english_name,'!?1',1) > 0\r\n" + " )\r\n" + " ORDER BY\r\n" + " rank DESC\r\n" + " ) a\r\n" + "", nativeQuery=true) public List<DqListHashFullEntity> findByEngNameTwo(#Param("englishName") String englishName); I know I am missing something here. Can anybody help me out please? Edit 1 : I have added the JPA method with whole native query the englishName parameter is binded in two places. SQL generated in the logs: SELECT a.EXTERNALID_ENC, a.EXTERNALID, a.TELNUMBER, a.TELAREACODE, a.DQ_ENGLISH_NAME, a.DQ_ARABIC_NAME, a.NAMEFIELD_1, a.USAGETYPE, a.STATE, a.REGION, a.LOCALITY, a.ADDITIONALLOCALITYINFO, a.GEN_TEXT_7, a.GEN_SHORTTEXT_1, a.GEN_SHORTTEXT_4, a.GEN_SHORTTEXT_9, a.GEN_SHORTTEXT_10, a.CBCM_ENGLISH_NAME, a.CBCM_ARABIC_NAME, a.CBCM_EMIRATE_NAME, a.CBCM_PARTY_ID, a.CBCM_ACCOUNT_ID, a.RECORD_ID, a.DISPLAY_FLAG, a.DISPLAY_FLAG_GROUP, a.LONGITUDE, a.LATITUDE, a.NORMALIZED_ENGLISH_NAME, a.CBCM_PARTY_ENGLISH_NAME, a.CBCM_PARTY_ARABIC_NAME, a.MANUAL_UPDATE_FLAG, a.RULE_UPDATE_FLAG, a.BUSINESS_UPDATE_FLAG, a.EXCEL_UPDATE_FLAG FROM ( SELECT * FROM ( SELECT dqlist.*, score(1) AS rank FROM dq_list_hash_full dqlist WHERE contains(dqlist.dq_english_name,'definescore(fuzzy(?1, 1, 6, weight),relevance)',1) > 0 UNION SELECT dqlist.*, score(1) AS rank FROM dq_list_hash_full dqlist WHERE contains(dqlist.dq_english_name, '!Bhularam' ,1) > 0 ) ORDER BY rank DESC ) a
It should work by replacing '?1' with ? So all you have to do is remove the 1 and the '. You can work with multiple parameters by putting multiple ? There's no need to number or escape them
The Query should be like this SELECT dqlist,score(1) AS rank FROM dq_list_hash_full dqlist WHERE contains(dqlist.dq_english_name,'definescore(fuzzy('?1', 1, 6, weight),relevance)',1) > 0 the .* is not needed here then before exceuting the query you need to set the param as query.setParameter(1, "ABC").getResultList();
Try using :1 SELECT dqlist,score(1) AS rank FROM dq_list_hash_full dqlist WHERE contains(dqlist.dq_english_name,'definescore(fuzzy(:1, 1, 6, weight),relevance)',1) > 0 This should work
try :1 instead of ?1. It will work.
After a struggle I finally able to come up with a solution. I have use the '||' operator as it is used for String concatenation in Oracle. So my solution is: SELECT dqlist,score(1) AS rank FROM dq_list_hash_full dqlist WHERE contains(dqlist.dq_english_name,'definescore(fuzzy('||?1||', 1, 6, weight),relevance)',1) > 0
Visual Fox Pro file access
I have a function whitch creates .xml files with some data inside. Everytime firstly it deletes the old file. Everything works fine except it sometimes gets frozen and the file itself becomes locked. It's size is 0 kb and program can't even delete it. And I have to kill the process, delete the file by myself and then run the program again. Is it possible to kill all the processes of the same program before the begining of a new one? Or at least put some timer on it to make sure it turns off automatically after some time passes by? Need some ideas, thanks. fHandle = f_cFile("D:\Data\new_eur\Saskaitos.xml") if fHandle < 0 **=messagebox("Can't create file!",16,"!!!") =STRTOFILE("Can't create XML file" + CHR(13) + CHR(10), "d:\Log.txt", 1) quit ENDIF ** Header if fputs(fHandle, '<?xml version="1.0" encoding="windows-1257"?>') < 0 =fclose(fHandle) =STRTOFILE("Can't write to XML file" + CHR(13) + CHR(10), "d:\Log.txt", 1) quit endif =STRTOFILE(TTOC(dateTIME()) + ": " + "XML ok"+CHR(13)+CHR(10), "d:\LogData.txt", 1) =fputs(fHandle, "<Accounts>") enteris = CHR(13) DO WHILE NOT EOF() =fputs(fHandle, "<Detali>") =fputs(fHandle, "<Snr><![CDATA[" + ALLTRIM(Data.dok_nr) + "]]></Snr>" + enteris) =fputs(fHandle, "<Code_ks><![CDATA[" + ALLTRIM(Data.Code_ks) + "]]></Code_ks>" + enteris) =fputs(fHandle, "<Sdata>" + ALLTRIM(Data.dok_data) + "</Sdata>" + enteris) =fputs(fHandle, "<Term>" + ALLTRIM(Duomenys.Terminas) + "</Term>" + enteris) =fputs(fHandle, "<Manager><![CDATA[" + ALLTRIM(Data.Code_ms) + "]]></Manager>" + enteris) IF Data.val_poz = 0 =fputs(fHandle, "<MokSuma>" + ALLTRIM(STR(Duomenys.SumaMok, 12, 2)) + "</MokSuma>" + enteris) =fputs(fHandle, "<ApSuma>" + ALLTRIM(STR(Duomenys.ApSuma, 12, 2)) + "</ApSuma>" + enteris) ELSE =fputs(fHandle, "<MokSuma>" + ALLTRIM(STR(Duomenys.SumaVal, 12, 2)) + "</MokSuma>" + enteris) =fputs(fHandle, "<ApSuma>" + ALLTRIM(STR(Duomenys.ApVal, 12, 2)) + "</ApSuma>" + enteris) ENDIF =fputs(fHandle, "</Detali>") skip ENDDO fputs(fHandle, "</Accounts>") =fclose(fHandle) Now this is the code which puts xml data into the file. At some point it freezes and the next time program starts it is still using the same file. Function f_cFile: FUNCTION f_cFile PARAMETERS fName fHandle = fcreate(fName) IF fHandle < 0 IF FILE(fName,1) DELETE FILE fName IF FILE(fName,1) =STRTOFILE("Can't delete old file: " + fName + CHR(13) + CHR(10), " d:\Log.txt", 1) ELSE fHandle = fcreate(fName) ENDIF ENDIF ENDIF RETURN fHandle ENDFUNC
Wow... many other options to simplify your locking issue. First without changing your stuff too much is to build via strings... Make a variable and keep appending to it until you are done, then write it with a single write command such as.. enteris = CHR(13) myXML = '<?xml version="1.0" encoding="windows-1257"?>' + enteris; + "<Accounts>" SCAN myXML = myXML + "<Detali>"; + "<Snr><![CDATA[" + ALLTRIM(Data.dok_nr) + "]]></Snr>" + enteris; + "<Code_ks><![CDATA[" + ALLTRIM(Data.Code_ks) + "]]></Code_ks>" + enteris; + "<Sdata>" + ALLTRIM(Data.dok_data) + "</Sdata>" + enteris; + "<Term>" + ALLTRIM(Duomenys.Terminas) + "</Term>" + enteris; + "<Manager><![CDATA[" + ALLTRIM(Data.Code_ms) + "]]></Manager>" + enteris IF Data.val_poz = 0 myXML = myXML + "<MokSuma>" + ALLTRIM(STR(Duomenys.SumaMok, 12, 2)) + "</MokSuma>" + enteris; + "<ApSuma>" + ALLTRIM(STR(Duomenys.ApSuma, 12, 2)) + "</ApSuma>" + enteris ELSE myXML = myXML + "<MokSuma>" + ALLTRIM(STR(Duomenys.SumaVal, 12, 2)) + "</MokSuma>" + enteris; + "<ApSuma>" + ALLTRIM(STR(Duomenys.ApVal, 12, 2)) + "</ApSuma>" + enteris ENDIF myXML = myXML + "</Detali>"; ENDSCAN myXML = myXML + "</Accounts>" if StrToFile( myXML, "D:\Data\new_eur\Saskaitos.xml" ) = 0 =STRTOFILE("Can't create XML file" + CHR(13) + CHR(10), "d:\Log.txt", 1) endif Done... Let VFP handle the low level open and close of the writing.
Docusign Event Notification recipient events update not triggering
"<eventNotification>" + "<url>" + Tyc.Website.Properties.Settings.Default.DocusignStatusAPIUrl + "</url>" + "<loggingEnabled>" + true + "</loggingEnabled>" + "<requireAcknowledgment>" + true + "</requireAcknowledgment>" + "<includeDocuments>" + true + "</includeDocuments>" + "<EnvelopeEvents>" + "<envelopeEvent>" + "<envelopeEventStatusCode>" + "Completed" + "</envelopeEventStatusCode>" + "<includeDocuments>" + true + "</includeDocuments>" + "</envelopeEvent>" + "<envelopeEvent>" + "<envelopeEventStatusCode>" + "Sent" + "</envelopeEventStatusCode>" + "<includeDocuments>" + true + "</includeDocuments>" + "</envelopeEvent>" + "<envelopeEvent>" + "<envelopeEventStatusCode>" + "Delivered" + "</envelopeEventStatusCode>" + "<includeDocuments>" + true + "</includeDocuments>" + "</envelopeEvent>" + "<envelopeEvent>" + "<envelopeEventStatusCode>" + "Sent" + "</envelopeEventStatusCode>" + "<includeDocuments>" + true + "</includeDocuments>" + "</envelopeEvent>" + "<envelopeEvent>" + "<envelopeEventStatusCode>" + "Sent" + "</envelopeEventStatusCode>" + "<includeDocuments>" + true + "</includeDocuments>" + "</envelopeEvent>" + "</EnvelopeEvents>" + "<RecipientEvents>" + "<recipientEvent>" + "<includeDocuments>" + true + "</includeDocuments>" + "<recipientEventStatusCode>" + "Sent" + "</recipientEventStatusCode>" + "</recipientEvent>" + "<recipientEvent>" + "<includeDocuments>" + true + "</includeDocuments>" + "<recipientEventStatusCode>" + "Delivered" + "</recipientEventStatusCode>" + "</recipientEvent>" + "<recipientEvent>" + "<includeDocuments>" + true + "</includeDocuments>" + "<recipientEventStatusCode>" + "Completed" + "</recipientEventStatusCode>" + "</recipientEvent>" + "<recipientEvent>" + "<includeDocuments>" + true + "</includeDocuments>" + "<recipientEventStatusCode>" + "AutoResponded" + "</recipientEventStatusCode>" + "</recipientEvent>" + "</RecipientEvents>" + "</eventNotification>" I use the above request body for docusign event notification. I also tried instead of and am able to get status updates for envelope events but i am not receiving status updates for recipient events. What am i missing here?
Unity3d Terrain Generation Instantiates to much prefabs
I've got a block of code in my 'Update()' function wich gets the active chunk in my scene, when it has found that chunk, it passes those coordinates to the 'generateFromMiddleOfChunk()' function. That function will generate all the chunks in a 3 radius around the player, it does that with 25 'Instantiate()' functions and a formula. But it only should instantiate the chunks where there isn't already a chunk. It doesn't do that, if anyone could take a look at my code, I would greatly appreciate that. I'm sorry for the very repetetive code and alot of Debug.Log() functions. Every help is greatly appreciated, thank you very much. Jordi, I've got this block of code in my Update() function: function Update() { var gameObjects : GameObject[] = FindObjectsOfType(GameObject) as GameObject[]; for (var i = 0; i < gameObjects.length ; i++) { if(gameObjects[i].name.Substring(0,6) == "ACTIVE") if(gameObjects[i].tag != "Player") { var xco = gameObjects[i].transform.position.x; var yco = gameObjects[i].transform.position.y; var zco = gameObjects[i].transform.position.z; Debug.Log(xco.ToString()+yco.ToString()+zco.ToString()); generateFromMiddleOfChunk(xco, yco, zco); } } } This block of codes get the chunk in my scene and gets its x, y and z coordinates, it passes those coordinates to the generateFromMiddleOfChunk() function. This function looks like this: function generateFromMiddleOfChunk(xco : int, yco : int, zco : int) { //V1 chunk1 = "Chunk (" + xco.ToString() + ", " + yco.ToString() + ", " + zco.ToString() + ")"; chunk2 = "Chunk (" + (xco + chunkWidth).ToString() + ", " + yco.ToString() + ", " + (zco+chunkWidth).ToString() + ")"; chunk3 = "Chunk (" + (xco + chunkWidth).ToString() + ", " + yco.ToString() + ", " + zco.ToString() + ")"; chunk4 = "Chunk (" + (xco + chunkWidth).ToString() + ", " + yco.ToString() + ", " + (zco * -1).ToString() + ")"; chunk5 = "Chunk (" + (xco + chunkWidth * -1).ToString() + ", " + yco.ToString() + ", " + (zco+chunkWidth).ToString() + ")"; chunk6 = "Chunk (" + (xco + chunkWidth * -1).ToString() + ", " + yco.ToString() + ", " + zco.ToString() + ")"; chunk7 = "Chunk (" + (xco + chunkWidth * -1).ToString() + ", " + yco.ToString() + ", " + (zco * -1).ToString() + ")"; chunk8 = "Chunk (" + xco.ToString() + ", " + yco.ToString() + ", " + (zco + chunkWidth).ToString() + ")"; chunk9 = "Chunk (" + xco.ToString() + ", " + yco.ToString() + ", " + (zco * -1).ToString() + ")"; chunk10= "Chunk (" + (xco + chunkWidth * -2).ToString() + ", " + yco.ToString() + ", " + (zco + 2 * chunkWidth).ToString() + ")"; chunk11= "Chunk (" + (xco + chunkWidth * -2).ToString() + ", " + yco.ToString() + ", " + (zco + chunkWidth).ToString() + ")"; chunk12= "Chunk (" + (xco + chunkWidth * -2).ToString() + ", " + yco.ToString() + ", " + zco.ToString() + ")"; chunk13= "Chunk (" + (xco + chunkWidth * -2).ToString() + ", " + yco.ToString() + ", " + (zco * -1).ToString() + ")"; chunk14= "Chunk (" + (xco + chunkWidth * -2).ToString() + ", " + yco.ToString() + ", " + (zco + -2 * chunkWidth).ToString() + ")"; chunk15= "Chunk (" + (xco + chunkWidth * -1).ToString() + ", " + yco.ToString() + ", " + (zco + 2 * chunkWidth).ToString() + ")"; chunk16= "Chunk (" + (xco + chunkWidth * -1).ToString() + ", " + yco.ToString() + ", " + (zco + -2 * chunkWidth).ToString() + ")"; chunk17= "Chunk (" + xco.ToString() + ", " + yco.ToString() + ", " + (zco + 2 * chunkWidth).ToString() + ")"; chunk18= "Chunk (" + xco.ToString() + ", " + yco.ToString() + ", " + (zco + -2 * chunkWidth).ToString() + ")"; chunk19= "Chunk (" + (xco + chunkWidth).ToString() + ", " + yco.ToString() + ", " + (zco + 2 * chunkWidth).ToString() + ")"; chunk20= "Chunk (" + (xco + chunkWidth).ToString() + ", " + yco.ToString() + ", " + (zco + -2 * chunkWidth).ToString() + ")"; chunk21= "Chunk (" + (xco + 2 * chunkWidth).ToString() + ", " + yco.ToString() + ", " + (zco + 2 * chunkWidth).ToString() + ")"; chunk22= "Chunk (" + (xco + 2 * chunkWidth).ToString() + ", " + yco.ToString() + ", " + (zco + chunkWidth).ToString() + ")"; chunk23= "Chunk (" + (xco + 2 * chunkWidth).ToString() + ", " + yco.ToString() + ", " + zco.ToString() + ")"; chunk24= "Chunk (" + (xco + 2 * chunkWidth).ToString() + ", " + yco.ToString() + ", " + (zco * -1).ToString() + ")"; chunk25= "Chunk (" + (xco + 2 * chunkWidth).ToString() + ", " + yco.ToString() + ", " + (zco + -2 * chunkWidth).ToString() + ")"; var chunksInScene : GameObject[] = FindObjectsOfType(GameObject) as GameObject[]; for (var i = 0; i < chunksInScene.length ; i++) { if(chunksInScene[i].name.Substring(0,5) == "Chunk" || chunksInScene[i].name.Substring(0,5) == "_TERR" || chunksInScene[i].name.Substring(0,5) == "ACTIV") { if(chunksInScene[i].tag != "Player") { var oldXco = chunksInScene[i].transform.position.x; var oldYco = chunksInScene[i].transform.position.y; var oldZco = chunksInScene[i].transform.position.z; oldChunk1 = "Chunk (" + oldXco.ToString() + ", " + oldYco.ToString() + ", " + oldZco.ToString() + ")"; oldChunk2 = "Chunk (" + (oldXco + chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + (oldZco+chunkWidth).ToString() + ")"; oldChunk3 = "Chunk (" + (oldXco + chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + oldZco.ToString() + ")"; oldChunk4 = "Chunk (" + (oldXco + chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + (oldZco * -1).ToString() + ")"; oldChunk5 = "Chunk (" + (oldXco + chunkWidth * -1).ToString() + ", " + oldYco.ToString() + ", " + (oldZco+chunkWidth).ToString() + ")"; oldChunk6 = "Chunk (" + (oldXco + chunkWidth * -1).ToString() + ", " + oldYco.ToString() + ", " + oldZco.ToString() + ")"; oldChunk7 = "Chunk (" + (oldXco + chunkWidth * -1).ToString() + ", " + oldYco.ToString() + ", " + (oldZco * -1).ToString() + ")"; oldChunk8 = "Chunk (" + oldXco.ToString() + ", " + oldYco.ToString() + ", " + (oldZco + chunkWidth).ToString() + ")"; oldChunk9 = "Chunk (" + oldXco.ToString() + ", " + oldYco.ToString() + ", " + (oldZco * -1).ToString() + ")"; oldChunk10= "Chunk (" + (oldXco + chunkWidth * -2).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + 2 * chunkWidth).ToString() + ")"; oldChunk11= "Chunk (" + (oldXco + chunkWidth * -2).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + chunkWidth).ToString() + ")"; oldChunk12= "Chunk (" + (oldXco + chunkWidth * -2).ToString() + ", " + oldYco.ToString() + ", " + oldZco.ToString() + ")"; oldChunk13= "Chunk (" + (oldXco + chunkWidth * -2).ToString() + ", " + oldYco.ToString() + ", " + (oldZco * -1).ToString() + ")"; oldChunk14= "Chunk (" + (oldXco + chunkWidth * -2).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + -2 * chunkWidth).ToString() + ")"; oldChunk15= "Chunk (" + (oldXco + chunkWidth * -1).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + 2 * chunkWidth).ToString() + ")"; oldChunk16= "Chunk (" + (oldXco + chunkWidth * -1).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + -2 * chunkWidth).ToString() + ")"; oldChunk17= "Chunk (" + oldXco.ToString() + ", " + oldYco.ToString() + ", " + (oldZco + 2 * chunkWidth).ToString() + ")"; oldChunk18= "Chunk (" + oldXco.ToString() + ", " + oldYco.ToString() + ", " + (oldZco + -2 * chunkWidth).ToString() + ")"; oldChunk19= "Chunk (" + (oldXco + chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + 2 * chunkWidth).ToString() + ")"; oldChunk20= "Chunk (" + (oldXco + chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + -2 * chunkWidth).ToString() + ")"; oldChunk21= "Chunk (" + (oldXco + 2 * chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + 2 * chunkWidth).ToString() + ")"; oldChunk22= "Chunk (" + (oldXco + 2 * chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + chunkWidth).ToString() + ")"; oldChunk23= "Chunk (" + (oldXco + 2 * chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + oldZco.ToString() + ")"; oldChunk24= "Chunk (" + (oldXco + 2 * chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + (oldZco * -1).ToString() + ")"; oldChunk25= "Chunk (" + (oldXco + 2 * chunkWidth).ToString() + ", " + oldYco.ToString() + ", " + (oldZco + -2 * chunkWidth).ToString() + ")"; } } } if(oldChunk1.Equals(chunk1)){load1 = false;} if(oldChunk2.Equals(chunk2)){load2 = false;} if(oldChunk3.Equals(chunk3)){load3 = false;} if(oldChunk4.Equals(chunk4)){load4 = false;} if(oldChunk5.Equals(chunk5)){load5 = false;} if(oldChunk6.Equals(chunk6)){load6 = false;} if(oldChunk7.Equals(chunk7)){load7 = false;} if(oldChunk8.Equals(chunk8)){load8 = false;} if(oldChunk9.Equals(chunk9)){load9 = false;} if(oldChunk10.Equals(chunk10)){load10 = false;} if(oldChunk11.Equals(chunk11)){load11 = false;} if(oldChunk12.Equals(chunk12)){load12 = false;} if(oldChunk13.Equals(chunk13)){load13 = false;} if(oldChunk14.Equals(chunk14)){load14 = false;} if(oldChunk15.Equals(chunk15)){load15 = false;} if(oldChunk16.Equals(chunk16)){load16 = false;} if(oldChunk17.Equals(chunk17)){load17 = false;} if(oldChunk18.Equals(chunk18)){load18 = false;} if(oldChunk19.Equals(chunk19)){load19 = false;} if(oldChunk20.Equals(chunk20)){load20 = false;} if(oldChunk21.Equals(chunk21)){load21 = false;} if(oldChunk22.Equals(chunk22)){load22 = false;} if(oldChunk23.Equals(chunk23)){load23 = false;} if(oldChunk24.Equals(chunk24)){load24 = false;} if(oldChunk25.Equals(chunk25)){load25 = false;} Debug.Log("1" + chunk1 + oldChunk1 + load1); Debug.Log("2" + chunk2 + oldChunk2 + load2); Debug.Log("3" + chunk3 + oldChunk3 + load3); Debug.Log("4" + chunk4 + oldChunk4 + load4); Debug.Log("5" + chunk5 + oldChunk5 + load5); Debug.Log("6" + chunk6 + oldChunk6 + load6); Debug.Log("7" + chunk7 + oldChunk7 + load7); Debug.Log("8" + chunk8 + oldChunk8 + load8); Debug.Log("9" + chunk9 + oldChunk9 + load9); Debug.Log("10" + chunk10 + oldChunk10 + load10); Debug.Log("11" + chunk11 + oldChunk11 + load11); Debug.Log("12" + chunk12 + oldChunk12 + load12); Debug.Log("13" + chunk13 + oldChunk13 + load13); Debug.Log("14" + chunk14 + oldChunk14 + load14); Debug.Log("15" + chunk15 + oldChunk15 + load15); Debug.Log("16" + chunk16 + oldChunk16 + load16); Debug.Log("17" + chunk17 + oldChunk17 + load17); Debug.Log("18" + chunk18 + oldChunk18 + load18); Debug.Log("19" + chunk19 + oldChunk19 + load19); Debug.Log("20" + chunk20 + oldChunk20 + load20); Debug.Log("21" + chunk21 + oldChunk21 + load21); Debug.Log("22" + chunk22 + oldChunk22 + load22); Debug.Log("23" + chunk23 + oldChunk23 + load23); Debug.Log("24" + chunk24 + oldChunk24 + load24); Debug.Log("25" + chunk25 + oldChunk25 + load25); /* //V1 if(load1){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco, yco, zco), Quaternion.identity);} //V2 if(load2){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth, yco, zco + chunkWidth), Quaternion.identity);} if(load3){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth, yco, zco), Quaternion.identity);} if(load4){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth, yco, zco * -1), Quaternion.identity);} if(load5){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -1, yco, zco + chunkWidth), Quaternion.identity);} if(load6){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -1, yco, zco), Quaternion.identity);} if(load7){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -1, yco, zco * -1), Quaternion.identity);} if(load8){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco, yco, zco + chunkWidth), Quaternion.identity);} if(load9){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco, yco, zco * -1), Quaternion.identity);} //V3 if(load10){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -2, yco, zco + 2 * chunkWidth), Quaternion.identity);} if(load11){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -2, yco, zco + chunkWidth), Quaternion.identity);} if(load12){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -2, yco, zco), Quaternion.identity);} if(load13){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -2, yco, zco * -1), Quaternion.identity);} if(load14){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -2, yco, zco + -2 * chunkWidth), Quaternion.identity);} if(load15){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -1, yco, zco + 2 * chunkWidth), Quaternion.identity);} if(load16){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth * -1, yco, zco + -2 * chunkWidth), Quaternion.identity);} if(load17){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco, yco, zco + 2 * chunkWidth), Quaternion.identity);} if(load18){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco, yco, zco + -2 * chunkWidth), Quaternion.identity);} if(load19){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth, yco, zco + 2 * chunkWidth), Quaternion.identity);} if(load20){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + chunkWidth, yco, zco + -2 * chunkWidth), Quaternion.identity);} if(load21){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + 2 * chunkWidth, yco, zco + 2 * chunkWidth), Quaternion.identity);} if(load22){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + 2 * chunkWidth, yco, zco + chunkWidth), Quaternion.identity);} if(load23){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + 2 * chunkWidth, yco, zco), Quaternion.identity);} if(load24){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + 2 * chunkWidth, yco, zco * -1), Quaternion.identity);} if(load25){Instantiate(terrains[Random.Range(0,terrains.length)], Vector3(xco + 2 * chunkWidth, yco, zco + -2 * chunkWidth), Quaternion.identity);} */ }
http://answers.unity3d.com/questions/177931/tutorial-minecraft-chunks.html This is a link to the UnityAnswers with a tutorial on how to chunk in Unity3D . You can look ther efor more information ,and hopefully an answer to your quetsion.
4x4 Fixed point matrix multiplication doesn't work
I have this function which concatenates two matrices: out->_11 = MAT_MUL(b->_11, a->_11) + MAT_MUL(b->_21, a->_12) + MAT_MUL(b->_31, a->_13) + MAT_MUL(b->_41, a->_14); out->_12 = MAT_MUL(b->_12, a->_11) + MAT_MUL(b->_22, a->_12) + MAT_MUL(b->_32, a->_13) + MAT_MUL(b->_42, a->_14); out->_13 = MAT_MUL(b->_13, a->_11) + MAT_MUL(b->_23, a->_12) + MAT_MUL(b->_33, a->_13) + MAT_MUL(b->_43, a->_14); out->_14 = MAT_MUL(b->_14, a->_11) + MAT_MUL(b->_24, a->_12) + MAT_MUL(b->_34, a->_13) + MAT_MUL(b->_44, a->_14); out->_21 = MAT_MUL(b->_11, a->_21) + MAT_MUL(b->_21, a->_22) + MAT_MUL(b->_31, a->_23) + MAT_MUL(b->_41, a->_24); out->_22 = MAT_MUL(b->_12, a->_21) + MAT_MUL(b->_22, a->_22) + MAT_MUL(b->_32, a->_23) + MAT_MUL(b->_42, a->_24); out->_23 = MAT_MUL(b->_13, a->_21) + MAT_MUL(b->_23, a->_22) + MAT_MUL(b->_33, a->_23) + MAT_MUL(b->_43, a->_24); out->_24 = MAT_MUL(b->_14, a->_21) + MAT_MUL(b->_24, a->_22) + MAT_MUL(b->_34, a->_23) + MAT_MUL(b->_44, a->_24); out->_31 = MAT_MUL(b->_11, a->_31) + MAT_MUL(b->_21, a->_32) + MAT_MUL(b->_31, a->_33) + MAT_MUL(b->_41, a->_34); out->_32 = MAT_MUL(b->_12, a->_31) + MAT_MUL(b->_22, a->_32) + MAT_MUL(b->_32, a->_33) + MAT_MUL(b->_42, a->_34); out->_33 = MAT_MUL(b->_13, a->_31) + MAT_MUL(b->_23, a->_32) + MAT_MUL(b->_33, a->_33) + MAT_MUL(b->_43, a->_34); out->_34 = MAT_MUL(b->_14, a->_31) + MAT_MUL(b->_24, a->_32) + MAT_MUL(b->_34, a->_33) + MAT_MUL(b->_44, a->_34); out->_41 = MAT_MUL(b->_11, a->_41) + MAT_MUL(b->_21, a->_42) + MAT_MUL(b->_31, a->_43) + MAT_MUL(b->_41, a->_44); out->_42 = MAT_MUL(b->_12, a->_41) + MAT_MUL(b->_22, a->_42) + MAT_MUL(b->_32, a->_43) + MAT_MUL(b->_42, a->_44); out->_43 = MAT_MUL(b->_13, a->_41) + MAT_MUL(b->_23, a->_42) + MAT_MUL(b->_33, a->_43) + MAT_MUL(b->_43, a->_44); out->_44 = MAT_MUL(b->_14, a->_41) + MAT_MUL(b->_24, a->_42) + MAT_MUL(b->_34, a->_43) + MAT_MUL(b->_44, a->_44); MAT_MUL looks like this: #define MAT_MUL(o1,o2) ((GLfixed)((long)(o1)*(long)(o2))>>16) The odd thing is that it doesn't work with fixed point values but with float values (MAT_MUL(o1,o2) (o1)*(o2) in this case). I traced the error down to this bit of code. Any ideas? Thanks