diff --git a/MMVII/src/Bench/BenchGeom.cpp b/MMVII/src/Bench/BenchGeom.cpp index 26a03730e3..a0ddc16523 100755 --- a/MMVII/src/Bench/BenchGeom.cpp +++ b/MMVII/src/Bench/BenchGeom.cpp @@ -151,7 +151,10 @@ template void TplBenchRotation3D(cParamExeBench & aParam) for (int aKTest=0 ; aKTest<20 ; aKTest++) { // generate WPK, with caution to have cos phi not to close to 0 - cPtxd aWPK(RandUnif_C()*20,RandUnif_C()*1.5,RandUnif_C()*20); + auto v1 = RandUnif_C()*20; + auto v2 = RandUnif_C()*1.5; + auto v3 = RandUnif_C()*20; + cPtxd aWPK(v1,v2,v3); // now force to PI/2 and -PI/2 sometime if (aKTest%3!=1) @@ -528,10 +531,13 @@ template void TplBenchMap2D_NonLinear(const tMap & aMa template void TplElBenchMap2D() { + auto v1 = cRot2D::RandomRot(5); + auto v2 = cPtxd::PRandC()*Type(0.3); + auto v3 = Type(RandUnif_C()*0.2); TplBenchMap2D_NonLinear ( - cRot2D::RandomRot(5) , - cRot2D(cPtxd::PRandC()*Type(0.3), Type(RandUnif_C()*0.2)), + v1, + cRot2D(v2, v3), (Type*)nullptr ); @@ -542,10 +548,18 @@ template void TplElBenchMap2D() TplBenchMap2D_LSQ>((Type*)nullptr); - TplBenchMap2D(cAffin2D::AllocRandom(1e-1),cAffin2D::AllocRandom(1e-1),(Type*)nullptr); - TplBenchMap2D(cSim2D::RandomSimInv(5,2,1e-1),cSim2D::RandomSimInv(3,4,1e-1),(Type*)nullptr); - TplBenchMap2D(cHomot2D::RandomHomotInv(5,2,1e-1),cHomot2D::RandomHomotInv(3,4,1e-1),(Type*)nullptr); - TplBenchMap2D(cRot2D::RandomRot(5),cRot2D::RandomRot(3),(Type*)nullptr); + auto v4 = cAffin2D::AllocRandom(1e-1); + auto v5 = cAffin2D::AllocRandom(1e-1); + TplBenchMap2D(v4,v5,(Type*)nullptr); + auto v6 = cSim2D::RandomSimInv(5,2,1e-1); + auto v7 = cSim2D::RandomSimInv(3,4,1e-1); + TplBenchMap2D(v6,v7,(Type*)nullptr); + auto v8 = cHomot2D::RandomHomotInv(5,2,1e-1); + auto v9 = cHomot2D::RandomHomotInv(3,4,1e-1); + TplBenchMap2D(v8,v9,(Type*)nullptr); + auto v10 = cRot2D::RandomRot(5); + auto v11 = cRot2D::RandomRot(3); + TplBenchMap2D(v10,v11,(Type*)nullptr); cHomogr2D aHgrId = RandomMapId>(0.1); cHomogr2D aHgGlob = cHomogr2D::AllocRandom(2.0); diff --git a/MMVII/src/Bench/BenchGlob.cpp b/MMVII/src/Bench/BenchGlob.cpp index 3a50c4b77d..9e82c0ad40 100755 --- a/MMVII/src/Bench/BenchGlob.cpp +++ b/MMVII/src/Bench/BenchGlob.cpp @@ -444,6 +444,8 @@ int cAppli_MMVII_Bench::ExecuteBench(cParamExeBench & aParam) { //==== Bench_0000 bench on very basic support functionnalities + Bench_Random(aParam); // Bench random generator, check they are acceptably unbiased + // Test on split Dir/File, string op, Bench_0000_SysDepString(aParam); Bench_0000_String(aParam); @@ -473,8 +475,6 @@ int cAppli_MMVII_Bench::ExecuteBench(cParamExeBench & aParam) Bench_Heap(aParam); // Basic numericall services - Bench_Random(aParam); // Bench random generator, check they are acceptably unbiased - Bench_SetI(aParam); // Bench manip on set of integers // Check read/write of object usign serialization diff --git a/MMVII/src/Bench/BenchImages.cpp b/MMVII/src/Bench/BenchImages.cpp index d8c3f27d7a..55a3eb264e 100755 --- a/MMVII/src/Bench/BenchImages.cpp +++ b/MMVII/src/Bench/BenchImages.cpp @@ -68,8 +68,12 @@ template void TestOneImage2D(const cPt2di & aP0,const cPt2di & aP1) MMVII_INTERNAL_ASSERT_bench(aIm.GetV(aP)==0,"Bench image error"); } } - cPt2di aP0Pert = cPt2di(RandUnif_N(3), RandUnif_N(3)); - cPt2di aP1Pert = aP0Pert + cPt2di(1+RandUnif_N(3),1+RandUnif_N(3)); + auto v1 = RandUnif_N(3); + auto v2 = RandUnif_N(3); + cPt2di aP0Pert = cPt2di(v1, v2); + auto v3 = 1+RandUnif_N(3); + auto v4 = 1+RandUnif_N(3); + cPt2di aP1Pert = aP0Pert + cPt2di(v3,v4); cIm2D aPIm(aP0Pert,aP1Pert); aPIm.DIm().Resize(aP0,aP1); @@ -230,7 +234,9 @@ template void TestInterBL(cPt2di aSz,Type aCste,Type aCoeffX,Type a for (int aNb=0 ; aNb<10000 ; aNb++) { double UnMinEpsilon = 0.99999; - cPt2dr aP(RandUnif_0_1() * (aSz.x()-1),RandUnif_0_1()*(aSz.y()-1)); + auto v1 = RandUnif_0_1() * (aSz.x()-1); + auto v2 = RandUnif_0_1()*(aSz.y()-1); + cPt2dr aP(v1,v2); aP = UnMinEpsilon * aP; double aV1 = aCste + aCoeffX * aP.x() + aCoeffY * aP.y() + aCXY * aP.x() * aP.y(); double aV2 = aDIm.GetVBL(aP); @@ -242,9 +248,11 @@ template void TestInterBL(cPt2di aSz,Type aCste,Type aCoeffX,Type a // =============== Test on grad ========================= // Make a pts not too close to pixel limit + auto v3 = RandUnif_0_1(); + auto v4 = RandUnif_0_1(); aP = cPt2dr(round_down(aP.x()),round_down(aP.y())) + cPt2dr(0.1,0.1) - + cPt2dr(RandUnif_0_1(),RandUnif_0_1()) * 0.8; + + cPt2dr(v3,v4) * 0.8; // compute Gx,Gy,Val diff --git a/MMVII/src/Bench/BenchMatrix.cpp b/MMVII/src/Bench/BenchMatrix.cpp index 1f2a3d2b50..a936845379 100755 --- a/MMVII/src/Bench/BenchMatrix.cpp +++ b/MMVII/src/Bench/BenchMatrix.cpp @@ -683,11 +683,13 @@ template void TplBenchLsq() StdOut() << "NBVARR=" << aNbVar << " NbE="<*> aVSys = { diff --git a/MMVII/src/CodedTarget/cExtractTarget.cpp b/MMVII/src/CodedTarget/cExtractTarget.cpp index 7f6a13d784..f592f1b16e 100644 --- a/MMVII/src/CodedTarget/cExtractTarget.cpp +++ b/MMVII/src/CodedTarget/cExtractTarget.cpp @@ -1854,7 +1854,9 @@ void cAppliExtractCodeTarget::benchEllipse(){ // Generate data int nb = (int)(RandInInterval(m, M)); double flat = (param[2]-param[3])/param[2]; - double noise = RandInInterval(0, noise_max)*param[3]*(RandInInterval(0,1) > 1e-1); + auto v1 = RandInInterval(0, noise_max); + auto v2 = RandInInterval(0,1); + double noise = v1*param[3]*(v2 > 1e-1); std::vector POINTS = generatePointsOnEllipse(param, nb, noise); StdOut() << "Generating " << nb << " pts: FLAT. = " << flat; StdOut() << " ANG = " << param[4]*180/PI << " NOISE = " << noise << " "; diff --git a/MMVII/src/Geom2D/Delaunay.cpp b/MMVII/src/Geom2D/Delaunay.cpp index e001193f10..368ca17da7 100755 --- a/MMVII/src/Geom2D/Delaunay.cpp +++ b/MMVII/src/Geom2D/Delaunay.cpp @@ -744,7 +744,9 @@ void BenchDelaunay(cParamExeBench & aParam) BenchDelaunayGrid(cPt2di(10,20)); for (int aK=0 ; aK<30 ;aK++) { - cPt2di aSz(2+RandUnif_N(10),2+RandUnif_N(10)); + auto v1 = 2+RandUnif_N(10); + auto v2 = 2+RandUnif_N(10); + cPt2di aSz(v1,v2); BenchDelaunayGrid(aSz); } diff --git a/MMVII/src/Geom2D/GeomsBase2D.cpp b/MMVII/src/Geom2D/GeomsBase2D.cpp index fb8bcfef93..58ba7b5d03 100755 --- a/MMVII/src/Geom2D/GeomsBase2D.cpp +++ b/MMVII/src/Geom2D/GeomsBase2D.cpp @@ -278,11 +278,9 @@ static constexpr int HomIndScale = 2; template cHomot2D cHomot2D::RandomHomotInv(const Type & AmplTr,const Type & AmplSc,const Type & AmplMinSc) { - return cHomot2D - ( - tPt::PRandC() * AmplTr, - RandUnif_C_NotNull(AmplMinSc/AmplSc)*AmplSc - ); + auto v1 = tPt::PRandC() * AmplTr; + auto v2 = RandUnif_C_NotNull(AmplMinSc/AmplSc)*AmplSc; + return cHomot2D ( v1, v2 ); } template cHomot2D cHomot2D::FromParam(const cDenseVect & aVec) @@ -382,11 +380,9 @@ template cSim2D cSim2D::FromMinimalSamples(const tTabM template cSim2D cSim2D::RandomSimInv(const Type & AmplTr,const Type & AmplSc,const Type & AmplMinSc) { - return cSim2D - ( - tPt::PRandC() * AmplTr, - tPt::PRandUnitDiff(tPt(0,0),AmplMinSc/AmplSc)*AmplSc - ); + auto v1 = tPt::PRandC() * AmplTr; + auto v2 = tPt::PRandUnitDiff(tPt(0,0),AmplMinSc/AmplSc)*AmplSc; + return cSim2D ( v1, v2 ); } @@ -466,11 +462,9 @@ template Type cSim2D::Divisor(const tPt & aPIn) const {retur template cRot2D cRot2D::RandomRot(const Type & AmplTr) { - return cRot2D - ( - tPt::PRandC() * AmplTr, - RandUnif_C() * 10 * M_PI - ); + auto v1 = tPt::PRandC() * AmplTr; + auto v2 = RandUnif_C() * 10 * M_PI; + return cRot2D( v1, v2 ); } @@ -639,7 +633,12 @@ template cAffin2D cAffin2D::AllocRandom(const Type & a tPt aP0(0,0); tTypeMap aRes(aP0,aP0,aP0); while (std::abs(aRes.mDelta)0,"BenchEllispe"); @@ -402,7 +407,9 @@ void cEllipse::BenchEllispe() cWeightAv aWAvg; for (int aKp=0 ; aKp<100 ; aKp++) { - cPt2dr aP1 = anEl.PtOfTeta(RandInInterval(0.9,1.1),RandInInterval(-M_PI,M_PI)); + auto v1 = RandInInterval(0.9,1.1); + auto v2 = RandInInterval(-M_PI,M_PI); + cPt2dr aP1 = anEl.PtOfTeta(v1,v2); tREAL8 aRatio= anEl.ApproxDist(aP1) / anEl.EuclidDist(aP1) ; UpdateMax(aMaxRatio,aRatio); aWAvg.Add(1.0,aRatio); diff --git a/MMVII/src/Geom2D/cTriangle2D.cpp b/MMVII/src/Geom2D/cTriangle2D.cpp index 37026fe709..fc8ae55f55 100755 --- a/MMVII/src/Geom2D/cTriangle2D.cpp +++ b/MMVII/src/Geom2D/cTriangle2D.cpp @@ -73,7 +73,10 @@ template void cTriangle2DCompiled::AssertRegular() const template cTriangle2DCompiled cTriangle2DCompiled::RandomRegularTri(Type aSz,Type aEps) { - cTriangle2DCompiled aTri(tPt::PRandC()*aSz,tPt::PRandC()*aSz,tPt::PRandC()*aSz); + auto v1 = tPt::PRandC()*aSz; + auto v2 = tPt::PRandC()*aSz; + auto v3 = tPt::PRandC()*aSz; + cTriangle2DCompiled aTri(v1,v2,v3); if (std::abs(aTri.mDelta)> aSz*aEps) return aTri; return RandomRegularTri(aSz,aEps); @@ -155,7 +158,9 @@ template void BenchTri2D(Type aSz) for (int aK=0 ; aK<1000 ; aK++) { // cPt2dr aP1 = aBox.GeneratePointInside(); - cPtxd aP1 (RandUnif_C()*2*aSz,RandUnif_C()*2*aSz); + auto v1 = RandUnif_C()*2*aSz; + auto v2 = RandUnif_C()*2*aSz; + cPtxd aP1 (v1,v2); cPtxd aCoBa = aTri.CoordBarry(aP1); cPtxd aP2 = aTri.FromCoordBarry(aCoBa); diff --git a/MMVII/src/Geom3D/GeomsBase3D.cpp b/MMVII/src/Geom3D/GeomsBase3D.cpp index fe3169a664..214c676567 100755 --- a/MMVII/src/Geom3D/GeomsBase3D.cpp +++ b/MMVII/src/Geom3D/GeomsBase3D.cpp @@ -306,7 +306,9 @@ std::vector cPlane3D::RandParam() cPt3dr aI = cPt3dr::PRandUnit() ; cPt3dr aJ = cPt3dr::PRandUnitDiff(aI) ; - return std::vector{aP0,aI*RandInInterval(0.1,2.0),aJ*RandInInterval(0.1,2.0)}; + auto v1 = aI*RandInInterval(0.1,2.0); + auto v2 = aJ*RandInInterval(0.1,2.0); + return std::vector{aP0,v1,v2}; } void BenchPlane3D() @@ -320,7 +322,10 @@ void BenchPlane3D() MMVII_INTERNAL_ASSERT_bench(std::abs(aPlane.ToLocCoord(aVP[0]+aVP[2]).z())<1e-5,"BenchPlane3D"); cPt3dr aP0 = cPt3dr::PRandC() * 100.0; - cPt3dr aP1 = aP0 + aPlane.AxeI() * RandUnif_C() + aPlane.AxeJ() * RandUnif_C() + aPlane.AxeK() * RandUnif_C_NotNull(0.1); + auto v1 = RandUnif_C(); + auto v2 = RandUnif_C(); + auto v3 = RandUnif_C_NotNull(0.1); + cPt3dr aP1 = aP0 + aPlane.AxeI() * v1 + aPlane.AxeJ() * v2 + aPlane.AxeK() * v3; cPt3dr aPI = aPlane.Inter(aP0,aP1); cPt3dr aPI2 = aPlane.Inter(tSeg3dr(aP0,aP1)); @@ -494,7 +499,10 @@ template T Determinant (const cPtxd & aP1,const cPtxd & aP template cTriangle RandomTriang(Type aAmpl) { - return cTriangle(cPtxd::PRandC()*aAmpl,cPtxd::PRandC()*aAmpl,cPtxd::PRandC()*aAmpl); + auto v1 = cPtxd::PRandC()*aAmpl; + auto v2 = cPtxd::PRandC()*aAmpl; + auto v3 = cPtxd::PRandC()*aAmpl; + return cTriangle(v1,v2,v3); } template cTriangle RandomTriangRegul(Type aRegulMin,Type aAmpl) diff --git a/MMVII/src/Geom3D/cRotation3D.cpp b/MMVII/src/Geom3D/cRotation3D.cpp index 29eeb30efc..d981d771f9 100755 --- a/MMVII/src/Geom3D/cRotation3D.cpp +++ b/MMVII/src/Geom3D/cRotation3D.cpp @@ -192,7 +192,9 @@ template cIsometry3D cIsometry3D::FromTriInAndOut template cIsometry3D cIsometry3D::RandomIsom3D(const Type & AmplPt) { - return cIsometry3D (tPt::PRandC()*AmplPt,cRotation3D::RandomRot()); + auto aTr = tPt::PRandC()*AmplPt; + auto aRot = cRotation3D::RandomRot(); + return cIsometry3D (aTr, aRot); } template cIsometry3D ToReal8(const cIsometry3D & anIsom) diff --git a/MMVII/src/Geoms/Triangles.cpp b/MMVII/src/Geoms/Triangles.cpp index a151f91cbd..762199336e 100755 --- a/MMVII/src/Geoms/Triangles.cpp +++ b/MMVII/src/Geoms/Triangles.cpp @@ -270,7 +270,10 @@ template cPtxd Normal(const cTriangle & aTri) template cTriangle cTriangle::RandomTri(const Type & aSz,const Type & aRegulMin ) { - cTriangle aRes(tPt::PRandC()*aSz,tPt::PRandC()*aSz,tPt::PRandC()*aSz); + auto v1 = tPt::PRandC()*aSz; + auto v2 = tPt::PRandC()*aSz; + auto v3 = tPt::PRandC()*aSz; + cTriangle aRes(v1,v2,v3); if (aRes.Regularity() > aRegulMin) return aRes; diff --git a/MMVII/src/ImagesInfoExtract/ExtracExtremum.cpp b/MMVII/src/ImagesInfoExtract/ExtracExtremum.cpp index 51a4e6ba59..2a4e8d04cb 100755 --- a/MMVII/src/ImagesInfoExtract/ExtracExtremum.cpp +++ b/MMVII/src/ImagesInfoExtract/ExtracExtremum.cpp @@ -697,8 +697,9 @@ void OneBenchAffineExtre() aVB = aMatReg(0,1); aVC = aMatReg(1,1); - - cPt2dr aCenter (aSz.x()/2.0+RandUnif_C()*3,aSz.y()/2.0+RandUnif_C()*3); + auto v1 = aSz.x()/2.0+RandUnif_C()*3; + auto v2 = aSz.y()/2.0+RandUnif_C()*3; + cPt2dr aCenter (v1,v2); // Generate image cIm2D aIm(aSz); @@ -716,7 +717,9 @@ void OneBenchAffineExtre() for (int aK=0 ; aK<10 ; aK++) { // Initialize at a random distance of 2 pixel - cPt2dr aP0 = aCenter + cPt2dr(RandUnif_C(),RandUnif_C())*2.0; + auto v3 = RandUnif_C(); + auto v4 = RandUnif_C(); + cPt2dr aP0 = aCenter + cPt2dr(v3,v4)*2.0; cPt2dr aCurC = aP0; for (int aNbIter=0 ; aNbIter< 6 ;aNbIter ++) { diff --git a/MMVII/src/Instrumental/cClinoInit.cpp b/MMVII/src/Instrumental/cClinoInit.cpp index 6b5defb3c2..7bb7bc55c4 100644 --- a/MMVII/src/Instrumental/cClinoInit.cpp +++ b/MMVII/src/Instrumental/cClinoInit.cpp @@ -340,7 +340,10 @@ int cAppli_ClinoInit::Exe() { if (IsInit(&mASim)) { - cPt3dr aWPK(RandUnif_C()*mASim[0],RandUnif_C()*mASim[1],RandUnif_C()*mASim[2]); + auto v1 = RandUnif_C()*mASim[0]; + auto v2 = RandUnif_C()*mASim[1]; + auto v3 = RandUnif_C()*mASim[2]; + cPt3dr aWPK(v1,v2,v3); cRotation3D aRPose = cRotation3D::RotFromWPK(aWPK); cSensorCamPC * aCam = new cSensorCamPC("",cIsometry3D::Identity(),nullptr); diff --git a/MMVII/src/Mappings/MappingSymDer.cpp b/MMVII/src/Mappings/MappingSymDer.cpp index ff94073dd7..2a4fdfd362 100755 --- a/MMVII/src/Mappings/MappingSymDer.cpp +++ b/MMVII/src/Mappings/MappingSymDer.cpp @@ -234,7 +234,8 @@ cRandInvertibleDist::cRandInvertibleDist(const cPt3di & aDeg,double aRhoMax,doub for (int aKPar=0 ; aKPar void cElemSpaceResection::OneTestCorrectness() cPtxd C = VUnit(aTriBund.Pt(2))*c; // put them anywhere and with any ratio using a random similitud - cSimilitud3D aSim( - static_cast(RandUnif_C_NotNull(1e-2)*10.0), - cPtxd::PRandC()*static_cast(100.0), - cRotation3D::RandomRot() - ); + auto v1 = static_cast(RandUnif_C_NotNull(1e-2)*10.0); + auto v2 = cPtxd::PRandC()*static_cast(100.0); + auto v3 = cRotation3D::RandomRot(); + cSimilitud3D aSim( v1, v2, v3 ); cTriangle aTriG(aSim.Value(A),aSim.Value(B),aSim.Value(C)); // Now see that we can recover b & c diff --git a/MMVII/src/PoseEstim/UnCalibratedSpaceResection.cpp b/MMVII/src/PoseEstim/UnCalibratedSpaceResection.cpp index ae0652eb5b..ee1353625f 100644 --- a/MMVII/src/PoseEstim/UnCalibratedSpaceResection.cpp +++ b/MMVII/src/PoseEstim/UnCalibratedSpaceResection.cpp @@ -533,8 +533,9 @@ void OneBenchUnCalibResection(int aKTest) { // StdOut() << "KKK=" << aKTest << std::endl; - - cPt2di aSz(2000+RandUnif_0_1()*2000,2000+RandUnif_0_1()*2000); + auto v1 = 2000+RandUnif_0_1()*2000; + auto v2 = 2000+RandUnif_0_1()*2000; + cPt2di aSz(v1,v2); tREAL8 aFoc = 1000 + RandUnif_0_1() * 10000; //cPt2dr aPP(1250.0,1100.0); cPt2dr aPP = ToR(aSz/2) + cPt2dr::PRandC() * 4000.0; diff --git a/MMVII/src/Sensors/cCamSimul.cpp b/MMVII/src/Sensors/cCamSimul.cpp index 3ad4a85f7c..01d9d4b3ce 100644 --- a/MMVII/src/Sensors/cCamSimul.cpp +++ b/MMVII/src/Sensors/cCamSimul.cpp @@ -52,10 +52,16 @@ bool cCamSimul::ValidateCenter(const cPt3dr & aP2) const cPt3dr cCamSimul::GenAnyCenter(bool SubVert) const { if (SubVert) - return mCenterGround - + cPt3dr(RandUnif_C()/mProfMax,RandUnif_C()/mProfMax,1.0) * RandInInterval(mProfMin,mProfMax); + { + auto v1 = RandUnif_C()/mProfMax; + auto v2 = RandUnif_C()/mProfMax; + auto v3 = RandInInterval(mProfMin,mProfMax); + return mCenterGround + cPt3dr(v1,v2,1.0) * v3; + } - return mCenterGround + cPt3dr::PRandUnit() * RandInInterval(mProfMin,mProfMax); + auto v1 = cPt3dr::PRandUnit(); + auto v2 = RandInInterval(mProfMin,mProfMax); + return mCenterGround + v1 * v2; } diff --git a/MMVII/src/Sensors/cCentralPerspCam.cpp b/MMVII/src/Sensors/cCentralPerspCam.cpp index 3c2cfe170b..8797fd0547 100644 --- a/MMVII/src/Sensors/cCentralPerspCam.cpp +++ b/MMVII/src/Sensors/cCentralPerspCam.cpp @@ -799,9 +799,13 @@ cPerspCamIntrCalib * cPerspCamIntrCalib::RandomCalib(eProjPC aTypeProj,int aKDeg { tREAL8 aDiag = 1000 * (1+10*RandUnif_0_1()); - cPt2di aSz (aDiag*(1+RandUnif_0_1()),aDiag*(1+RandUnif_0_1())); + auto aS1 = aDiag*(1+RandUnif_0_1()); + auto aS2 = aDiag*(1+RandUnif_0_1()); + cPt2di aSz (aS1,aS2); cPt2dr aMidle = ToR(aSz)/2.0; - cPt2dr aPP( aSz.x()*(0.5+0.1*RandUnif_C()) , aSz.y()*(0.5+0.1*RandUnif_C()) ); + auto v1 = aSz.x()*(0.5+0.1*RandUnif_C()); + auto v2 = aSz.y()*(0.5+0.1*RandUnif_C()); + cPt2dr aPP(v1,v2); tREAL8 aFoc = aDiag * (0.2 + 3.0*RandUnif_0_1()); UpdateMax(aFoc,2* Norm2(aPP-aMidle)); @@ -857,7 +861,9 @@ void BenchImAndZ() for (int aK= 0 ; aK < 40 ; aK++) { cPerspCamIntrCalib * aCalib = cPerspCamIntrCalib::RandomCalib(eProjPC::eStenope,(aK%4)); - cSensorCamPC aCamPC("TestStenopeSat",tPoseR(cPt3dr::PRandC(),tRotR::RandomRot(0.1)),aCalib); + auto v1 = cPt3dr::PRandC(); + auto v2 = tRotR::RandomRot(0.1); + cSensorCamPC aCamPC("TestStenopeSat",tPoseR(v1,v2),aCalib); for (int aK=0 ; aK< 10 ; aK++) { diff --git a/MMVII/src/Serial/BenchSerial.cpp b/MMVII/src/Serial/BenchSerial.cpp index 3b27c481c0..5b70bfa432 100755 --- a/MMVII/src/Serial/BenchSerial.cpp +++ b/MMVII/src/Serial/BenchSerial.cpp @@ -230,8 +230,9 @@ template void BenchSerialIm2D(const std::string & aDirOut) if (aK%4==2) aTypeS= eTypeSerial::edmp; if (aK%4==3) aTypeS= eTypeSerial::etxt; - - cPt2di aSz(1+RandUnif_N(10),1+RandUnif_N(10)); + auto v1 = 1+RandUnif_N(10); + auto v2 = 1+RandUnif_N(10); + cPt2di aSz(v1,v2); cIm2D anIm1(aSz,nullptr,eModeInitImage::eMIA_RandCenter); std::string aNameFile = aDirOut + "Image." + E2Str(aTypeS); diff --git a/MMVII/src/TutoBenchTrianguRSNL/BenchNetwRSNL.cpp b/MMVII/src/TutoBenchTrianguRSNL/BenchNetwRSNL.cpp index 93941093bd..81d23785b1 100755 --- a/MMVII/src/TutoBenchTrianguRSNL/BenchNetwRSNL.cpp +++ b/MMVII/src/TutoBenchTrianguRSNL/BenchNetwRSNL.cpp @@ -138,7 +138,9 @@ void BenchSSRNL(cParamExeBench & aParam) { int aNb = 3+ RandUnif_N(3); int aNbVar = 2 * Square(2*aNb+1); - cParamSparseNormalLstSq aParamSq(3.0,RandUnif_N(3),RandUnif_N(10)); + auto v1 = RandUnif_N(3); + auto v2 = RandUnif_N(10); + cParamSparseNormalLstSq aParamSq(3.0,v1,v2); // add random subset of dense variable for (const auto & aI: RandSet(aNbVar/10,aNbVar))