diff --git a/src/AdvApp2Var/AdvApp2Var_ApproxF2var.cxx b/src/AdvApp2Var/AdvApp2Var_ApproxF2var.cxx index fc1cb110c6..8d1e0e39e9 100755 --- a/src/AdvApp2Var/AdvApp2Var_ApproxF2var.cxx +++ b/src/AdvApp2Var/AdvApp2Var_ApproxF2var.cxx @@ -798,7 +798,7 @@ int mma1fdi_(integer *ndimen, /* ---------------------- Legendre polynom of degree NBROOT ------------------- */ - foncnp.Evaluate (ndimen, + (*const_cast (&foncnp)).Evaluate (ndimen, &uvfonc[3], &uvfonc[5], isofav, @@ -870,8 +870,9 @@ int mma1fdi_(integer *ndimen, bid1 = (uvfonc[6] - uvfonc[5]) / 2.; i__1 = *iordre; for (iderv = 1; iderv <= i__1; ++iderv) { - foncnp.Evaluate (ndimen, &uvfonc[3], &uvfonc[5], isofav, tconst, - &nbp, ttable, &ideru, &iderv, &contr1[(iderv + 1) * + (*const_cast (&foncnp)).Evaluate ( + ndimen, &uvfonc[3], &uvfonc[5], isofav, tconst, & + nbp, ttable, &ideru, &iderv, &contr1[(iderv + 1) * contr1_dim1 + 1], iercod); if (*iercod > 0) { goto L9999; @@ -880,8 +881,9 @@ int mma1fdi_(integer *ndimen, } i__1 = *iordre; for (iderv = 1; iderv <= i__1; ++iderv) { - foncnp.Evaluate (ndimen, &uvfonc[3], &uvfonc[5], isofav, tconst, - &nbp, &ttable[*nbroot + 1], &ideru, &iderv, &contr2[( + (*const_cast (&foncnp)).Evaluate ( + ndimen, &uvfonc[3], &uvfonc[5], isofav, tconst, & + nbp, &ttable[*nbroot + 1], &ideru, &iderv, &contr2[( iderv + 1) * contr2_dim1 + 1], iercod); if (*iercod > 0) { goto L9999; @@ -894,8 +896,9 @@ int mma1fdi_(integer *ndimen, bid1 = (uvfonc[4] - uvfonc[3]) / 2.; i__1 = *iordre; for (ideru = 1; ideru <= i__1; ++ideru) { - foncnp.Evaluate (ndimen, &uvfonc[3], &uvfonc[5], isofav, tconst, - &nbp, ttable, &ideru, &iderv, &contr1[(ideru + 1) * + (*const_cast (&foncnp)).Evaluate ( + ndimen, &uvfonc[3], &uvfonc[5], isofav, tconst, & + nbp, ttable, &ideru, &iderv, &contr1[(ideru + 1) * contr1_dim1 + 1], iercod); if (*iercod > 0) { goto L9999; @@ -904,8 +907,9 @@ int mma1fdi_(integer *ndimen, } i__1 = *iordre; for (ideru = 1; ideru <= i__1; ++ideru) { - foncnp.Evaluate (ndimen, &uvfonc[3], &uvfonc[5], isofav, tconst, - &nbp, &ttable[*nbroot + 1], &ideru, &iderv, &contr2[( + (*const_cast (&foncnp)).Evaluate ( + ndimen, &uvfonc[3], &uvfonc[5], isofav, tconst, & + nbp, &ttable[*nbroot + 1], &ideru, &iderv, &contr2[( ideru + 1) * contr2_dim1 + 1], iercod); if (*iercod > 0) { goto L9999; @@ -1090,7 +1094,7 @@ int mma1fer_(integer *,//ndimen, i__2 = ndses; for (kk = 1; kk <= i__2; ++kk) { AdvApp2Var_SysBase::mvriraz_(&nbr0, - (char *)&crvjac[ncfnw + (idim + kk - 1) * crvjac_dim1]); + &crvjac[ncfnw + (idim + kk - 1) * crvjac_dim1]); /* L200: */ } } @@ -2235,14 +2239,14 @@ int AdvApp2Var_ApproxF2var::mma2can_(const integer *ncfmxu, pataux[1], &patcan[patcan_offset]); /* --> Write all in a greater table */ - AdvApp2Var_MathBase::mmfmca8_((integer *)ncoefu, - (integer *)ncoefv, - (integer *)ndimen, - (integer *)ncfmxu, - (integer *)ncfmxv, - (integer *)ndimen, - (doublereal *)&patcan[patcan_offset], - (doublereal *)&patcan[patcan_offset]); + AdvApp2Var_MathBase::mmfmca8_(ncoefu, + ncoefv, + ndimen, + ncfmxu, + ncfmxv, + ndimen, + &patcan[patcan_offset], + &patcan[patcan_offset]); /* --> Complete with zeros the resulting table. */ ilon1 = *ncfmxu - *ncoefu; @@ -2253,13 +2257,13 @@ int AdvApp2Var_ApproxF2var::mma2can_(const integer *ncfmxu, i__2 = *ncoefv; for (ii = 1; ii <= i__2; ++ii) { AdvApp2Var_SysBase::mvriraz_(&ilon1, - (char *)&patcan[*ncoefu + 1 + (ii + nd * patcan_dim2) * patcan_dim1]); + &patcan[*ncoefu + 1 + (ii + nd * patcan_dim2) * patcan_dim1]); /* L110: */ } } if (ilon2 > 0) { AdvApp2Var_SysBase::mvriraz_(&ilon2, - (char *)&patcan[(*ncoefv + 1 + nd * patcan_dim2) * patcan_dim1 + 1]); + &patcan[(*ncoefv + 1 + nd * patcan_dim2) * patcan_dim1 + 1]); } /* L100: */ } @@ -3316,12 +3320,12 @@ int AdvApp2Var_ApproxF2var::mma2cdi_( integer *ndimen, /* Local variables */ static integer ilong; - static long int iofwr; + static intptr_t iofwr; static doublereal wrkar[1]; static integer iszwr; static integer ibb, ier; static integer isz1, isz2, isz3, isz4; - static long int ipt1, ipt2, ipt3, ipt4; + static intptr_t ipt1, ipt2, ipt3, ipt4; @@ -3486,11 +3490,11 @@ int AdvApp2Var_ApproxF2var::mma2cdi_( integer *ndimen, */ ilong = (*nbpntu / 2 + 1) * (*nbpntv / 2 + 1) * *ndimen; - AdvApp2Var_SysBase::mvriraz_(&ilong, (char *)&sosotb[sosotb_offset]); - AdvApp2Var_SysBase::mvriraz_(&ilong, (char *)&diditb[diditb_offset]); + AdvApp2Var_SysBase::mvriraz_(&ilong, &sosotb[sosotb_offset]); + AdvApp2Var_SysBase::mvriraz_(&ilong, &diditb[diditb_offset]); ilong = *nbpntu / 2 * (*nbpntv / 2) * *ndimen; - AdvApp2Var_SysBase::mvriraz_(&ilong, (char *)&soditb[soditb_offset]); - AdvApp2Var_SysBase::mvriraz_(&ilong, (char *)&disotb[disotb_offset]); + AdvApp2Var_SysBase::mvriraz_(&ilong, &soditb[soditb_offset]); + AdvApp2Var_SysBase::mvriraz_(&ilong, &disotb[disotb_offset]); if (*iordru == -1 && *iordrv == -1) { goto L9999; } @@ -3629,12 +3633,12 @@ int AdvApp2Var_ApproxF2var::mma2ce1_(integer *numdec, /* Local variables */ static logical ldbg; - static long int iofwr; + static intptr_t iofwr; static doublereal wrkar[1]; static integer iszwr; static integer ier; static integer isz1, isz2, isz3, isz4, isz5, isz6, isz7; - static long int ipt1, ipt2, ipt3, ipt4, ipt5, ipt6, ipt7; + static intptr_t ipt1, ipt2, ipt3, ipt4, ipt5, ipt6, ipt7; @@ -4117,12 +4121,12 @@ int mma2ce2_(integer *numdec, *ndegpu = *ndminu; *ndegpv = *ndminv; /* --> For the moment, max errors are null */ - AdvApp2Var_SysBase::mvriraz_(nbsesp, (char *)&errmax[1]); + AdvApp2Var_SysBase::mvriraz_(nbsesp, &errmax[1]); nd = *ndimen << 2; - AdvApp2Var_SysBase::mvriraz_(&nd, (char *)&vecerr[vecerr_offset]); + AdvApp2Var_SysBase::mvriraz_(&nd, &vecerr[vecerr_offset]); /* --> and the square, too. */ nd = (*ndjacu + 1) * (*ndjacv + 1) * *ndimen; - AdvApp2Var_SysBase::mvriraz_(&nd, (char *)&patjac[patjac_offset]); + AdvApp2Var_SysBase::mvriraz_(&nd, &patjac[patjac_offset]); i2rdu = (*iordru + 1) << 1; i2rdv = (*iordrv + 1) << 1; @@ -5601,8 +5605,9 @@ int mma2ds2_(integer *ndimen, i__1 = nvroo; for (iv = 1; iv <= i__1; ++iv) { tcons = blinv + alinv * vrootb[iv]; - foncnp.Evaluate (ndimen, dbfn1, dbfn2, iiuouv, &tcons, nbpntu, - &ttable[1], &c__0, &c__0, &fpntab[fpntab_offset], iercod); + (*const_cast (&foncnp)).Evaluate ( + ndimen, dbfn1, dbfn2, iiuouv, &tcons, nbpntu, & + ttable[1], &c__0, &c__0, &fpntab[fpntab_offset], iercod); if (*iercod > 0) { goto L9999; } @@ -5642,8 +5647,9 @@ int mma2ds2_(integer *ndimen, if (*nbpntv % 2 != 0) { tcons = blinv; - foncnp.Evaluate (ndimen, dbfn1, dbfn2, iiuouv, &tcons, nbpntu, - &ttable[1], &c__0, &c__0, &fpntab[fpntab_offset], iercod); + (*const_cast (&foncnp)).Evaluate ( + ndimen, dbfn1, dbfn2, iiuouv, &tcons, nbpntu, & + ttable[1], &c__0, &c__0, &fpntab[fpntab_offset], iercod); if (*iercod > 0) { goto L9999; } @@ -5672,8 +5678,9 @@ int mma2ds2_(integer *ndimen, i__1 = nvroo; for (iv = 1; iv <= i__1; ++iv) { tcons = alinv * vrootb[(*nbpntv + 1) / 2 + iv] + blinv; - foncnp.Evaluate (ndimen, dbfn1, dbfn2, iiuouv, &tcons, nbpntu, - &ttable[1], &c__0, &c__0, &fpntab[fpntab_offset], iercod); + (*const_cast (&foncnp)).Evaluate ( + ndimen, dbfn1, dbfn2, iiuouv, &tcons, nbpntu, & + ttable[1], &c__0, &c__0, &fpntab[fpntab_offset], iercod); if (*iercod > 0) { goto L9999; } @@ -6165,7 +6172,7 @@ int AdvApp2Var_ApproxF2var::mma2fnc_(integer *ndimen, ndwrk; static doublereal wrkar[1]; static integer nupil; - static long int iofwr; + static intptr_t iofwr; static doublereal uvpav[4] /* was [2][2] */; static integer nd, ii; static integer ibb; @@ -6174,7 +6181,7 @@ int AdvApp2Var_ApproxF2var::mma2fnc_(integer *ndimen, static integer ncb1; static doublereal eps3; static integer isz1, isz2, isz3, isz4, isz5; - static long int ipt1, ipt2, ipt3, ipt4, ipt5,iptt, jptt; + static intptr_t ipt1, ipt2, ipt3, ipt4, ipt5,iptt, jptt; /* ********************************************************************** */ @@ -6376,7 +6383,7 @@ int AdvApp2Var_ApproxF2var::mma2fnc_(integer *ndimen, */ ilong = *ndimen * *ncflim * *nbcrmx; - AdvApp2Var_SysBase::mvriraz_(&ilong, (char *)&courbe[courbe_offset]); + AdvApp2Var_SysBase::mvriraz_(&ilong, &courbe[courbe_offset]); /* ********************************************************************** */ @@ -6577,7 +6584,7 @@ L1000: &wrkar[ipt2]); /*pkv t*/ ilong = *ndimen * *ncflim; - AdvApp2Var_SysBase::mvriraz_(&ilong, (char*)&wrkar[ipt5]); + AdvApp2Var_SysBase::mvriraz_(&ilong, &wrkar[ipt5]); /* -> Passage to canonic base (-1,1) (result in WRKAR(IPT5)). */ ndgre = ncoeff[ncb1] - 1; @@ -6633,7 +6640,7 @@ L1000: ideb = *nbcrbe + 1; ideb1 = ideb + 1; ilong = (nupil - *nbcrbe) << 3; - AdvApp2Var_SysBase::mcrfill_(&ilong, (char *)&tabdec[ideb],(char *)&tabdec[ideb1]); + AdvApp2Var_SysBase::mcrfill_(&ilong, &tabdec[ideb],&tabdec[ideb1]); tabdec[ideb] = tmil; ++nupil; } @@ -7908,8 +7915,8 @@ L1000: for (kjac = 0; kjac <= i__1; ++kjac) { iptt = iptdb + kjac * (*nbpnts / 2) + 1; AdvApp2Var_SysBase::mcrfill_(&ilong, - (char *)&mmapgss_.gslxjs[iptt - 1], - (char *)&cgauss[kjac * cgauss_dim1 + 1]); + &mmapgss_.gslxjs[iptt - 1], + &cgauss[kjac * cgauss_dim1 + 1]); /* L100: */ } /* --> Case when the number of points is uneven. */ @@ -7939,8 +7946,8 @@ L2000: for (kjac = 0; kjac <= i__1; ++kjac) { iptt = iptdb + kjac * (*nbpnts / 2) + 1; AdvApp2Var_SysBase::mcrfill_(&ilong, - (char *)&mmapgs0_.gslxj0[iptt - 1], - (char *)&cgauss[kjac * cgauss_dim1 + 1]); + &mmapgs0_.gslxj0[iptt - 1], + &cgauss[kjac * cgauss_dim1 + 1]); /* L200: */ } /* --> Case when the number of points is uneven. */ @@ -7970,8 +7977,8 @@ L3000: for (kjac = 0; kjac <= i__1; ++kjac) { iptt = iptdb + kjac * (*nbpnts / 2) + 1; AdvApp2Var_SysBase::mcrfill_(&ilong, - (char *)&mmapgs1_.gslxj1[iptt - 1], - (char *)&cgauss[kjac * cgauss_dim1 + 1]); + &mmapgs1_.gslxj1[iptt - 1], + &cgauss[kjac * cgauss_dim1 + 1]); /* L300: */ } /* --> Case when the number of points is uneven. */ @@ -8001,8 +8008,8 @@ L4000: for (kjac = 0; kjac <= i__1; ++kjac) { iptt = iptdb + kjac * (*nbpnts / 2) + 1; AdvApp2Var_SysBase::mcrfill_(&ilong, - (char *)&mmapgs2_.gslxj2[iptt - 1], - (char *)&cgauss[kjac * cgauss_dim1 + 1]); + &mmapgs2_.gslxj2[iptt - 1], + &cgauss[kjac * cgauss_dim1 + 1]); /* L400: */ } /* --> Cas of uneven number of points. */ @@ -8138,12 +8145,12 @@ int mmjacpt_(const integer *ndimen, /* Passage into canonical by u. */ kdim = *ndimen * *ncoefv; - AdvApp2Var_MathBase::mmjaccv_((integer *)ncoefu, - (integer *)&kdim, - (integer *)iordru, - (doublereal *)&ptclgd[ptclgd_offset], - (doublereal *)&ptcaux[ptcaux_offset], - (doublereal *)&ptccan[ptccan_offset]); + AdvApp2Var_MathBase::mmjaccv_(ncoefu, + &kdim, + iordru, + &ptclgd[ptclgd_offset], + &ptcaux[ptcaux_offset], + &ptccan[ptccan_offset]); /* Swapping of u and v. */ @@ -8166,12 +8173,12 @@ int mmjacpt_(const integer *ndimen, /* Passage into canonical by v. */ kdim = *ndimen * *ncoefu; - AdvApp2Var_MathBase::mmjaccv_((integer *)ncoefv, - (integer *)&kdim, - (integer *)iordrv, - (doublereal *)&ptcaux[((ptcaux_dim3 + 1) * ptcaux_dim2 + 1) * ptcaux_dim1 + 1], - (doublereal *)&ptccan[ptccan_offset], - (doublereal *)&ptcaux[(((ptcaux_dim3 << 1) + 1) * ptcaux_dim2 + 1) * ptcaux_dim1 + 1]); + AdvApp2Var_MathBase::mmjaccv_(ncoefv, + &kdim, + iordrv, + &ptcaux[((ptcaux_dim3 + 1) * ptcaux_dim2 + 1) * ptcaux_dim1 + 1], + &ptccan[ptccan_offset], + &ptcaux[(((ptcaux_dim3 << 1) + 1) * ptcaux_dim2 + 1) * ptcaux_dim1 + 1]); /* Swapping of u and v. */ diff --git a/src/AdvApp2Var/AdvApp2Var_MathBase.cxx b/src/AdvApp2Var/AdvApp2Var_MathBase.cxx index 973de1743c..e5ee691910 100755 --- a/src/AdvApp2Var/AdvApp2Var_MathBase.cxx +++ b/src/AdvApp2Var/AdvApp2Var_MathBase.cxx @@ -275,7 +275,7 @@ int AdvApp2Var_MathBase::mdsptpt_(integer *ndimen, static integer i__; static doublereal differ[100]; static integer ier; - long int iofset, j; + intptr_t iofset, j; /* ********************************************************************** */ @@ -1401,9 +1401,9 @@ int AdvApp2Var_MathBase::mmaperx_(integer *ncofmx, */ if (*ndimen == *ndimax && *upara0 == 0. && *upara1 == 1.) { nboct = (*ndimax << 3) * *ncoeff; - AdvApp2Var_SysBase::mcrfill_((integer *)&nboct, - (char *)&crvold[crvold_offset], - (char *)&crvnew[crvnew_offset]); + AdvApp2Var_SysBase::mcrfill_(&nboct, + &crvold[crvold_offset], + &crvnew[crvnew_offset]); goto L9999; } /* ********************************************************************** @@ -1854,8 +1854,8 @@ int mmatvec_(integer *nligne, /* Processing */ /* *********************************************************************** */ - AdvApp2Var_SysBase::mvriraz_((integer *)nligne, - (char *)&vecout[1]); + AdvApp2Var_SysBase::mvriraz_(nligne, + &vecout[1]); i__1 = *nligne; for (i__ = *deblig; i__ <= i__1; ++i__) { somme = 0.; @@ -3425,8 +3425,8 @@ int mmdrvcb_(integer *ideriv, goto L200; } iptpnt = *ndim * *ideriv; - AdvApp2Var_SysBase::mvriraz_((integer *)&iptpnt, - (char *)&tabpnt[tabpnt_dim1 + 1]); + AdvApp2Var_SysBase::mvriraz_(&iptpnt, + &tabpnt[tabpnt_dim1 + 1]); L200: /* ------------------------ Calculation of parameter TPARAM ------------------ @@ -4066,12 +4066,12 @@ int mmextrl_(integer *ndegre, //function : AdvApp2Var_MathBase::mmfmca8_ //purpose : //======================================================================= -int AdvApp2Var_MathBase::mmfmca8_(integer *ndimen, - integer *ncoefu, - integer *ncoefv, - integer *ndimax, - integer *ncfumx, - integer *,//ncfvmx, +int AdvApp2Var_MathBase::mmfmca8_(const integer *ndimen, + const integer *ncoefu, + const integer *ncoefv, + const integer *ndimax, + const integer *ncfumx, + const integer *,//ncfvmx, doublereal *tabini, doublereal *tabres) @@ -4174,9 +4174,9 @@ L1000: } ilong = (*ndimen << 3) * *ncoefu; for (k = *ncoefv; k >= 1; --k) { - AdvApp2Var_SysBase::mcrfill_((integer *)&ilong, - (char *)&tabini[(k * tabini_dim2 + 1) * tabini_dim1 + 1], - (char *)&tabres[(k * tabres_dim2 + 1) * tabres_dim1 + 1]); + AdvApp2Var_SysBase::mcrfill_(&ilong, + &tabini[(k * tabini_dim2 + 1) * tabini_dim1 + 1], + &tabres[(k * tabres_dim2 + 1) * tabres_dim1 + 1]); /* L500: */ } goto L9999; @@ -4186,9 +4186,9 @@ L1000: L2000: ilong = (*ndimen << 3) * *ncoefu * *ncoefv; - AdvApp2Var_SysBase::mcrfill_((integer *)&ilong, - (char *)&tabini[tabini_offset], - (char *)&tabres[tabres_offset]); + AdvApp2Var_SysBase::mcrfill_(&ilong, + &tabini[tabini_offset], + &tabres[tabres_offset]); goto L9999; /* ---------------------------- The end --------------------------------- @@ -4318,9 +4318,9 @@ L1000: ilong = (*ndimen << 3) * *ncoefu; i__1 = *ncoefv; for (k = 1; k <= i__1; ++k) { - AdvApp2Var_SysBase::mcrfill_((integer *)&ilong, - (char *)&tabini[(k * tabini_dim2 + 1) * tabini_dim1 + 1], - (char *)&tabres[(k * tabres_dim2 + 1) * tabres_dim1 + 1]); + AdvApp2Var_SysBase::mcrfill_(&ilong, + &tabini[(k * tabini_dim2 + 1) * tabini_dim1 + 1], + &tabres[(k * tabres_dim2 + 1) * tabres_dim1 + 1]); /* L500: */ } goto L9999; @@ -4330,9 +4330,9 @@ L1000: L2000: ilong = (*ndimen << 3) * *ncoefu * *ncoefv; - AdvApp2Var_SysBase::mcrfill_((integer *)&ilong, - (char *)&tabini[tabini_offset], - (char *)&tabres[tabres_offset]); + AdvApp2Var_SysBase::mcrfill_(&ilong, + &tabini[tabini_offset], + &tabres[tabres_offset]); goto L9999; /* ---------------------------- The end --------------------------------- @@ -4367,7 +4367,7 @@ int AdvApp2Var_MathBase::mmfmcar_(integer *ndimen, /* Local variables */ static doublereal tbaux[1]; static integer ksize, numax, kk; - static long int iofst; + static intptr_t iofst; static integer ibb, ier; /* *********************************************************************** @@ -4467,9 +4467,9 @@ int AdvApp2Var_MathBase::mmfmcar_(integer *ndimen, if (*upara1 == 0. && *upara2 == 1. && *vpara1 == 0. && *vpara2 == 1.) { ksize = (*ndimen << 3) * *ncofmx * *ncoefv; - AdvApp2Var_SysBase::mcrfill_((integer *)&ksize, - (char *)&patold[patold_offset], - (char *)&patnew[patnew_offset]); + AdvApp2Var_SysBase::mcrfill_(&ksize, + &patold[patold_offset], + &patnew[patnew_offset]); goto L9999; } @@ -4678,14 +4678,14 @@ V*/ if (*ndimen == 1 && *ncf1mx == *ncf2mx) { nboct = *ncf2mx << 3; if (*isenmsc == 1) { - AdvApp2Var_SysBase::mcrfill_((integer *)&nboct, - (char *)&courb1[courb1_offset], - (char *)&courb2[courb2_offset]); + AdvApp2Var_SysBase::mcrfill_(&nboct, + &courb1[courb1_offset], + &courb2[courb2_offset]); } if (*isenmsc == -1) { - AdvApp2Var_SysBase::mcrfill_((integer *)&nboct, - (char *)&courb2[courb2_offset], - (char *)&courb1[courb1_offset]); + AdvApp2Var_SysBase::mcrfill_(&nboct, + &courb2[courb2_offset], + &courb1[courb1_offset]); } *iercod = -3136; goto L9999; @@ -4756,7 +4756,7 @@ int AdvApp2Var_MathBase::mmfmtb1_(integer *maxsz1, /* Local variables */ static doublereal work[1]; static integer ilong, isize, ii, jj, ier; - static long int iofst,iipt, jjpt; + static intptr_t iofst,iipt, jjpt; /************************************************************************ @@ -4844,9 +4844,9 @@ int AdvApp2Var_MathBase::mmfmtb1_(integer *maxsz1, /* L100: */ } ilong = isize << 3; - AdvApp2Var_SysBase::mcrfill_((integer *)&ilong, - (char *)&work[iofst], - (char *)&table2[table2_offset]); + AdvApp2Var_SysBase::mcrfill_(&ilong, + &work[iofst], + &table2[table2_offset]); /* -------------- The number of elements of TABLE2 is returned ------------ */ @@ -5018,8 +5018,8 @@ int AdvApp2Var_MathBase::mmgaus1_(integer *ndimf, --saux1; /* Function Body */ - AdvApp2Var_SysBase::mvriraz_((integer *)ndimf, - (char *)&somme[1]); + AdvApp2Var_SysBase::mvriraz_(ndimf, + &somme[1]); *iercod = 0; /* ****** Loading of coefficients U and H ** */ @@ -5269,8 +5269,8 @@ L100: /* Init. matrix identity : */ ncmat = 36; - AdvApp2Var_SysBase::mvriraz_((integer *)&ncmat, - (char *)miden); + AdvApp2Var_SysBase::mvriraz_(&ncmat, + miden); for (ii = 1; ii <= 6; ++ii) { miden[ii + ii * 6 - 7] = 1.; @@ -5281,7 +5281,7 @@ L100: /* Init to 0 of table CMHERM */ - AdvApp2Var_SysBase::mvriraz_((integer *)&c__576, (char *)mmcmher_.cmherm); + AdvApp2Var_SysBase::mvriraz_(&c__576, mmcmher_.cmherm); /* Calculation by solution of linear systems */ @@ -5799,7 +5799,7 @@ int AdvApp2Var_MathBase::mmhjcan_(integer *ndimen, /* CONVERSION OF THE COEFFICIENTS OF THE PART OF THE CURVE EXPRESSED */ /* IN HERMIT BASE, INTO THE CANONIC BASE */ - AdvApp2Var_SysBase::mvriraz_((integer *)&ncoeff, (char *)taux1); + AdvApp2Var_SysBase::mvriraz_(&ncoeff, taux1); i__3 = aux2; for (k = 1; k <= i__3; ++k) { @@ -6042,17 +6042,17 @@ L70: nlgn = *nbrlgn - inser; if (nlgn > 0) { noct = (*ncolmx << 3) * nlgn; - AdvApp2Var_SysBase::mcrfill_((integer *)&noct, - (char *)&tabtri[inser * tabtri_dim1 + 1], - (char *)&tabtri[(inser + 1)* tabtri_dim1 + 1]); + AdvApp2Var_SysBase::mcrfill_(&noct, + &tabtri[inser * tabtri_dim1 + 1], + &tabtri[(inser + 1)* tabtri_dim1 + 1]); } /* --- Copy line */ noct = *nbrcol << 3; - AdvApp2Var_SysBase::mcrfill_((integer *)&noct, - (char *)&ajoute[1], - (char *)&tabtri[inser * tabtri_dim1 + 1]); + AdvApp2Var_SysBase::mcrfill_(&noct, + &ajoute[1], + &tabtri[inser * tabtri_dim1 + 1]); goto L9999; @@ -6081,7 +6081,7 @@ L9999: //function : AdvApp2Var_MathBase::mmjacan_ //purpose : //======================================================================= - int AdvApp2Var_MathBase::mmjacan_(integer *ideriv, + int AdvApp2Var_MathBase::mmjacan_(const integer *ideriv, integer *ndeg, doublereal *poljac, doublereal *polcan) @@ -6224,10 +6224,10 @@ L9999: //function : AdvApp2Var_MathBase::mmjaccv_ //purpose : //======================================================================= - int AdvApp2Var_MathBase::mmjaccv_(integer *ncoef, - integer *ndim, - integer *ider, - doublereal *crvlgd, + int AdvApp2Var_MathBase::mmjaccv_(const integer *ncoef, + const integer *ndim, + const integer *ider, + const doublereal *crvlgd, doublereal *polaux, doublereal *crvcan) @@ -6751,8 +6751,8 @@ L9900: /* Computing MAX */ i__1 = iorjac + 1; nwcof = advapp_max(i__1,1); - AdvApp2Var_SysBase::mvriraz_((integer *)&nwcof, - (char *)wpoly); + AdvApp2Var_SysBase::mvriraz_(&nwcof, + wpoly); wpoly[0] = 1.; if (*iordre == 2) { wpoly[2] = -3.; @@ -6945,8 +6945,8 @@ L9999: /* Function Body */ isize = *ndim << 3; - AdvApp2Var_SysBase::miraz_((integer *)&isize, - (char *)&pntcrb[1]); + AdvApp2Var_SysBase::miraz_(&isize, + &pntcrb[1]); if (*ncoeff <= 0) { goto L9999; @@ -7500,11 +7500,11 @@ L9999: static logical ldbg; static doublereal mcho[100]; static integer jmin, jmax, i__, j, k, l; - static long int iofv1, iofv2, iofv3, iofv4; + static intptr_t iofv1, iofv2, iofv3, iofv4; static doublereal v1[100], v2[100], v3[100], v4[100]; static integer deblig, dimhch; static doublereal hchole[100]; - static long int iofmch, iofmam, iofhch; + static intptr_t iofmch, iofmam, iofhch; static doublereal matsym[100]; static integer ier; static integer aux; @@ -7695,9 +7695,9 @@ L9999: i__1 = *gdimen; for (i__ = 1; i__ <= i__1; ++i__) { - AdvApp2Var_SysBase::mvriraz_((integer *)hdimen, (char *)&v1[iofv1]); - AdvApp2Var_SysBase::mvriraz_((integer *)hdimen, (char *)&v3[iofv3]); - AdvApp2Var_SysBase::mvriraz_((integer *)gdimen, (char *)&v4[iofv4]); + AdvApp2Var_SysBase::mvriraz_(hdimen, &v1[iofv1]); + AdvApp2Var_SysBase::mvriraz_(hdimen, &v3[iofv3]); + AdvApp2Var_SysBase::mvriraz_(gdimen, &v4[iofv4]); jmin = gposit[i__ * 3 + 3]; jmax = gposit[i__ * 3 + 1] + gposit[i__ * 3 + 3] - 1; aux = gposit[i__ * 3 + 2] - gposit[i__ * 3 + 1] - jmin + 1; @@ -7733,7 +7733,7 @@ L9999: /* WITH L=V4 */ - AdvApp2Var_SysBase::mvriraz_((integer *)gdimen, (char *)&v4[iofv4]); + AdvApp2Var_SysBase::mvriraz_(gdimen, &v4[iofv4]); AdvApp2Var_SysBase::macrar8_(mnstoc, &c__100, mcho, &iofmch, &ier); if (ier > 0) { goto L9102; @@ -7754,7 +7754,7 @@ L9999: */ /* = V1 */ - AdvApp2Var_SysBase::mvriraz_((integer *)hdimen, (char *)&v1[iofv1]); + AdvApp2Var_SysBase::mvriraz_(hdimen, &v1[iofv1]); mmtmave_(gdimen, hdimen, &gposit[4], gnstoc, &matsyg[1], &v4[iofv4], & v1[iofv1], &ier); if (ier > 0) { @@ -8478,9 +8478,9 @@ L9999: ilong = nsur2 << 3; ideb = nsur2 * (nsur2 - 1) / 2 + 1; - AdvApp2Var_SysBase::mcrfill_((integer *)&ilong, - (char *)&mlgdrtl_.rootab[ideb + nmod2 * 465 - 1], - (char *)&rtlegd[1]); + AdvApp2Var_SysBase::mcrfill_(&ilong, + &mlgdrtl_.rootab[ideb + nmod2 * 465 - 1], + &rtlegd[1]); /* ----------------------------- The end -------------------------------- */ @@ -9713,7 +9713,7 @@ L9999: vnorm = AdvApp2Var_MathBase::mzsnorm_(ndimen, &vector[1]); if (vnorm <= eps0) { - AdvApp2Var_SysBase::mvriraz_((integer *)ndimen, (char *)&vecnrm[1]); + AdvApp2Var_SysBase::mvriraz_(ndimen, &vecnrm[1]); *iercod = 101; goto L9999; } diff --git a/src/AdvApp2Var/AdvApp2Var_MathBase.hxx b/src/AdvApp2Var/AdvApp2Var_MathBase.hxx index 21dcfe2d9b..6de3759fa0 100755 --- a/src/AdvApp2Var/AdvApp2Var_MathBase.hxx +++ b/src/AdvApp2Var/AdvApp2Var_MathBase.hxx @@ -124,12 +124,12 @@ class AdvApp2Var_MathBase { Standard_EXPORT static int mmeps1_(doublereal *epsilo); - Standard_EXPORT static int mmfmca8_(integer *ndimen, - integer *ncoefu, - integer *ncoefv, - integer *ndimax, - integer *ncfumx, - integer *ncfvmx, + Standard_EXPORT static int mmfmca8_(const integer *ndimen, + const integer *ncoefu, + const integer *ncoefv, + const integer *ndimax, + const integer *ncfumx, + const integer *ncfvmx, doublereal *tabini, doublereal *tabres); @@ -190,10 +190,10 @@ class AdvApp2Var_MathBase { doublereal *epseg, integer *iercod); - Standard_EXPORT static int mmjaccv_(integer *ncoef, - integer *ndim, - integer *ider, - doublereal *crvlgd, + Standard_EXPORT static int mmjaccv_(const integer *ncoef, + const integer *ndim, + const integer *ider, + const doublereal *crvlgd, doublereal *polaux, doublereal *crvcan); @@ -292,7 +292,7 @@ class AdvApp2Var_MathBase { doublereal *curveo, doublereal *curve); - Standard_EXPORT static int mmjacan_(integer *ideriv, + Standard_EXPORT static int mmjacan_(const integer *ideriv, integer *ndeg, doublereal *poljac, doublereal *polcan); diff --git a/src/AdvApp2Var/AdvApp2Var_SysBase.cxx b/src/AdvApp2Var/AdvApp2Var_SysBase.cxx index ac945819f2..7c2f5260f5 100755 --- a/src/AdvApp2Var/AdvApp2Var_SysBase.cxx +++ b/src/AdvApp2Var/AdvApp2Var_SysBase.cxx @@ -22,6 +22,7 @@ #include #include #include +#include static @@ -37,15 +38,15 @@ static int macrchk_(); static -int macrclw_(long int *iadfld, - long int *iadflf, - integer *nalloc); -static -int macrerr_(long int *iad, +int macrclw_(intptr_t *iadfld, + intptr_t *iadflf, integer *nalloc); static -int macrgfl_(long int *iadfld, - long int *iadflf, +int macrerr_(intptr_t *iad, + intptr_t *nalloc); +static +int macrgfl_(intptr_t *iadfld, + intptr_t *iadflf, integer *iphase, integer *iznuti); static @@ -58,8 +59,8 @@ int macrmsg_(const char *crout, ftnlen ct_len); static -int macrstw_(integer *iadfld, - integer *iadflf, +int macrstw_(intptr_t *iadfld, + intptr_t *iadflf, integer *nalloc); static @@ -107,30 +108,30 @@ int matrsym_(const char *cnmsym, static int mcrcomm_(integer *kop, integer *noct, - long int *iadr, + intptr_t *iadr, integer *ier); static int mcrfree_(integer *ibyte, - uinteger *iadr, + void* *iadr, integer *ier); static int mcrgetv_(integer *sz, - uinteger *iad, + void* *iad, integer *ier); static int mcrlist_(integer *ier); static -int mcrlocv_(long int t, - long int *l); +int mcrlocv_(void* t, + intptr_t *l); /* Structures */ static struct { - long int icore[12000]; + intptr_t icore[12000]; integer ncore, lprot; } mcrgene_; @@ -241,7 +242,7 @@ int AdvApp2Var_SysBase::macinit_(integer *imode, int AdvApp2Var_SysBase::macrai4_(integer *nbelem, integer *maxelm, integer *itablo, - long int *iofset, + intptr_t *iofset, integer *iercod) { @@ -298,7 +299,7 @@ int AdvApp2Var_SysBase::macrai4_(integer *nbelem, iunit = sizeof(integer); /* Function Body */ if (*nbelem > *maxelm) { - AdvApp2Var_SysBase::mcrrqst_(&iunit, nbelem, (doublereal *)&itablo[1], iofset, iercod); + AdvApp2Var_SysBase::mcrrqst_(&iunit, nbelem, &itablo[1], iofset, iercod); } else { *iercod = 0; *iofset = 0; @@ -313,7 +314,7 @@ int AdvApp2Var_SysBase::macrai4_(integer *nbelem, int AdvApp2Var_SysBase::macrar8_(integer *nbelem, integer *maxelm, doublereal *xtablo, - long int *iofset, + intptr_t *iofset, integer *iercod) { @@ -398,9 +399,9 @@ int macrchk_() /* Local variables */ static integer i__, j; - static long int ioff; + static intptr_t ioff; static doublereal t[1]; - static integer loc; + static intptr_t loc; /* *********************************************************************** */ @@ -485,8 +486,7 @@ int macrchk_() */ /* CALCULATE ADDRESS OF T */ - mcrlocv_((long int)t, (long int *)&loc); - + mcrlocv_(t, &loc); /* CONTROL OF FLAGS IN THE TABLE */ i__1 = mcrgene_.ncore; for (i__ = 1; i__ <= i__1; ++i__) { @@ -502,8 +502,8 @@ int macrchk_() /* MSG : '*** ERREUR : REMOVAL FROM MEMORY OF ADDRESS E:',ICORE(J,I) */ /* AND OF RANK ICORE(12,I) */ - macrerr_((long int *)&mcrgene_.icore[j + i__ * 12 - 13], - (integer *)&mcrgene_.icore[i__ * 12 - 1]); + macrerr_(&mcrgene_.icore[j + i__ * 12 - 13], + &mcrgene_.icore[i__ * 12 - 1]); /* BACK-PARCING IN PHASE OF PRODUCTION */ maostrb_(); @@ -527,8 +527,8 @@ int macrchk_() //function : macrclw_ //purpose : //======================================================================= -int macrclw_(long int *,//iadfld, - long int *,//iadflf, +int macrclw_(intptr_t *,//iadfld, + intptr_t *,//iadflf, integer *)//nalloc) { @@ -542,7 +542,7 @@ int macrclw_(long int *,//iadfld, int AdvApp2Var_SysBase::macrdi4_(integer *nbelem, integer *,//maxelm, integer *itablo, - long int *iofset, /* Offset long (pmn) */ + intptr_t *iofset, /* Offset long (pmn) */ integer *iercod) { @@ -594,7 +594,7 @@ int AdvApp2Var_SysBase::macrdi4_(integer *nbelem, if (*iofset != 0) { AdvApp2Var_SysBase::mcrdelt_(&iunit, nbelem, - (doublereal *)&itablo[1], + &itablo[1], iofset, iercod); } else { @@ -610,7 +610,7 @@ int AdvApp2Var_SysBase::macrdi4_(integer *nbelem, int AdvApp2Var_SysBase::macrdr8_(integer *nbelem, integer *,//maxelm, doublereal *xtablo, - long int *iofset, + intptr_t *iofset, integer *iercod) { @@ -674,8 +674,8 @@ int AdvApp2Var_SysBase::macrdr8_(integer *nbelem, //function : macrerr_ //purpose : //======================================================================= -int macrerr_(long int *,//iad, - integer *)//nalloc) +int macrerr_(intptr_t *,//iad, + intptr_t *)//nalloc) { //static integer c__1 = 1; @@ -735,8 +735,8 @@ int macrerr_(long int *,//iad, //function : macrgfl_ //purpose : //======================================================================= -int macrgfl_(long int *iadfld, - long int *iadflf, +int macrgfl_(intptr_t *iadfld, + intptr_t *iadflf, integer *iphase, integer *iznuti) @@ -749,7 +749,7 @@ int macrgfl_(long int *iadfld, static integer ibid, ienr; static doublereal t[1]; static integer novfl; - static long int ioff,iadrfl, iadt; + static intptr_t ioff,iadrfl, iadt; /* *********************************************************************** @@ -845,7 +845,7 @@ int macrgfl_(long int *iadfld, } /* CALCULATE THE ADDRESS OF T */ - mcrlocv_((long int)t, (long int *)&iadt); + mcrlocv_(t, &iadt); /* CALCULATE THE OFFSET */ ioff = (*iadfld - iadt) / 8; @@ -1167,8 +1167,8 @@ t !! ')", 80L, 54L); //function : macrstw_ //purpose : //======================================================================= -int macrstw_(integer *,//iadfld, - integer *,//iadflf, +int macrstw_(intptr_t *,//iadfld, + intptr_t *,//iadflf, integer *)//nalloc) { @@ -1434,14 +1434,14 @@ int AdvApp2Var_SysBase::maitbr8_(integer *itaill, if (nbfois >= 1) { i__1 = nbfois; for (nufois = 1; nufois <= i__1; ++nufois) { - AdvApp2Var_SysBase::mcrfill_(&c__504, (char *)buff0, (char *)&xtab[(nufois - 1) * 63 + 1]); + AdvApp2Var_SysBase::mcrfill_(&c__504, buff0, &xtab[(nufois - 1) * 63 + 1]); /* L1000: */ } } if (nreste >= 1) { i__1 = nreste << 3; - AdvApp2Var_SysBase::mcrfill_(&i__1, (char *)buff0, (char *)&xtab[noffst + 1]); + AdvApp2Var_SysBase::mcrfill_(&i__1, buff0, &xtab[noffst + 1]); } } else { for (i__ = 1; i__ <= 63; ++i__) { @@ -1451,14 +1451,14 @@ int AdvApp2Var_SysBase::maitbr8_(integer *itaill, if (nbfois >= 1) { i__1 = nbfois; for (nufois = 1; nufois <= i__1; ++nufois) { - AdvApp2Var_SysBase::mcrfill_(&c__504, (char *)buffx, (char *)&xtab[(nufois - 1) * 63 + 1]); + AdvApp2Var_SysBase::mcrfill_(&c__504, buffx, &xtab[(nufois - 1) * 63 + 1]); /* L3000: */ } } if (nreste >= 1) { i__1 = nreste << 3; - AdvApp2Var_SysBase::mcrfill_(&i__1, (char *)buffx, (char *)&xtab[noffst + 1]); + AdvApp2Var_SysBase::mcrfill_(&i__1, buffx, &xtab[noffst + 1]); } } @@ -1837,12 +1837,12 @@ int maoverf_(integer *nbentr, /* Exception */ if (*nbentr < 63) { nrest = *nbentr << 3; - AdvApp2Var_SysBase::mcrfill_(&nrest, (char *)buff, (char *)&dtable[1]); + AdvApp2Var_SysBase::mcrfill_(&nrest, buff, &dtable[1]); } else { /* Start & initialization */ ioct = 504; - AdvApp2Var_SysBase::mcrfill_(&ioct, (char *)buff, (char *)&dtable[1]); + AdvApp2Var_SysBase::mcrfill_(&ioct, buff, &dtable[1]); indic = 63; /* Loop. The upper limit is the integer value of the logarithm of base 2 @@ -1852,7 +1852,7 @@ int maoverf_(integer *nbentr, ; for (ibid = 1; ibid <= i__1; ++ibid) { - AdvApp2Var_SysBase::mcrfill_(&ioct, (char *)&dtable[1], (char *)&dtable[indic + 1]); + AdvApp2Var_SysBase::mcrfill_(&ioct, &dtable[1], &dtable[indic + 1]); ioct += ioct; indic += indic; @@ -1862,7 +1862,7 @@ int maoverf_(integer *nbentr, nrest = ( *nbentr - indic ) << 3; if (nrest > 0) { - AdvApp2Var_SysBase::mcrfill_(&nrest, (char *)&dtable[1], (char *)&dtable[indic + 1]); + AdvApp2Var_SysBase::mcrfill_(&nrest, &dtable[1], &dtable[indic + 1]); } } @@ -1993,7 +1993,7 @@ int matrsym_(const char *cnmsym, //======================================================================= int mcrcomm_(integer *kop, integer *noct, - long int *iadr, + intptr_t *iadr, integer *ier) { @@ -2005,10 +2005,11 @@ int mcrcomm_(integer *kop, integer i__1, i__2; /* Local variables */ - static integer ideb; + static intptr_t ideb; static doublereal dtab[32000]; - static long int itab[160] /* was [4][40] */; - static integer ipre, i__, j, k; + static intptr_t itab[160] /* was [4][40] */; + static intptr_t ipre; + static integer i__, j, k; /************************************************************************ @@ -2116,7 +2117,7 @@ int mcrcomm_(integer *kop, itab[(i__ << 2) - 4] = *noct / 8 + 1; itab[(i__ << 2) - 3] = ipre; itab[(i__ << 2) - 2] = *noct; - mcrlocv_((long int)&dtab[ipre - 1], (long int *)iadr); + mcrlocv_(&dtab[ipre - 1], iadr); itab[(i__ << 2) - 1] = *iadr; goto L9900; } @@ -2171,8 +2172,8 @@ int mcrcomm_(integer *kop, //======================================================================= int AdvApp2Var_SysBase::mcrdelt_(integer *iunit, integer *isize, - doublereal *t, - long int *iofset, + void *t, + intptr_t *iofset, integer *iercod) { @@ -2180,7 +2181,7 @@ int AdvApp2Var_SysBase::mcrdelt_(integer *iunit, static doublereal xbid; static integer noct, iver, ksys, i__, n, nrang, ibyte, ier; - static long int iadfd, iadff, iaddr, loc; /* Long adDresses*/ + static intptr_t iadfd, iadff, iaddr, loc; /* Les adrresses en long*/ static integer kop; /* *********************************************************************** @@ -2304,16 +2305,13 @@ int AdvApp2Var_SysBase::mcrdelt_(integer *iunit, /* NBYTE : TOTAL NUMBER OF OCTETS OF ALLOCATIONS */ /* MBYTE : MAX NUMBER OF OCTETS */ - /* Parameter adjustments */ - --t; - /* Function Body */ *iercod = 0; /* SEARCH IN MCRGENE */ n = 0; - mcrlocv_((long int)&t[1], (long int *)&loc); + mcrlocv_(t, &loc); for (i__ = mcrgene_.ncore; i__ >= 1; --i__) { if (*iunit == mcrgene_.icore[i__ * 12 - 11] && *isize == @@ -2334,12 +2332,12 @@ L1100: /* ALLOCATION RECOGNIZED : RETURN OTHER INFOS */ - ksys = mcrgene_.icore[n * 12 - 7]; - ibyte = mcrgene_.icore[n * 12 - 6]; + ksys = static_cast (mcrgene_.icore[n * 12 - 7]); + ibyte = static_cast (mcrgene_.icore[n * 12 - 6]); iaddr = mcrgene_.icore[n * 12 - 5]; iadfd = mcrgene_.icore[n * 12 - 3]; iadff = mcrgene_.icore[n * 12 - 2]; - nrang = mcrgene_.icore[n * 12 - 1]; + nrang = static_cast (mcrgene_.icore[n * 12 - 1]); /* Control of flags */ @@ -2357,7 +2355,7 @@ L1100: } } else { /* DE-ALLOCATION SYSTEM */ - mcrfree_((integer *)&ibyte, (uinteger *)&iaddr, (integer *)&ier); + mcrfree_(&ibyte, reinterpret_cast (&iaddr), &ier); if (ier != 0) { goto L9002; } @@ -2374,21 +2372,27 @@ L1100: i__ = 2; } ++mcrstac_.ndelt[i__ - 1]; - mcrstac_.nbyte[i__ - 1] -= mcrgene_.icore[n * 12 - 11] * - mcrgene_.icore[n * 12 - 10]; + mcrstac_.nbyte[i__ - 1] -= static_cast (mcrgene_.icore[n * 12 - 11] * + mcrgene_.icore[n * 12 - 10]); /* REMOVAL OF PARAMETERS IN MCRGENE */ if (n < 1000) { /* noct = (mcrgene_1.ncore - n) * 48; */ - noct = (mcrgene_.ncore - n) * 12 * sizeof(long int); - AdvApp2Var_SysBase::mcrfill_((integer *)&noct, - (char *)&mcrgene_.icore[(n + 1) * 12 - 12], - (char *)&mcrgene_.icore[n * 12 - 12]); + noct = (mcrgene_.ncore - n) * 12 * sizeof(mcrgene_.icore[0]); + AdvApp2Var_SysBase::mcrfill_(&noct, + &mcrgene_.icore[(n + 1) * 12 - 12], + &mcrgene_.icore[n * 12 - 12]); } --mcrgene_.ncore; /* *** Set to overflow of IOFSET */ - *iofset = 2147483647; + { + /* nested scope needed to avoid gcc compilation error crossing + initialization with goto*/ + /* assign max positive integer to *iofset */ + const size_t shift = sizeof (*iofset) * 8 - 1; + *iofset = (uintptr_t(1) << shift) - 1 /*2147483647 for 32bit*/; + } goto L9900; /* ----------------------------------------------------------------------* @@ -2464,25 +2468,24 @@ C********************************************************************** //purpose : //======================================================================= int AdvApp2Var_SysBase::mcrfill_(integer *size, - char *tin, - char *tout) + void *tin, + void *tout) { - - if (mcrfill_ABS(tout-tin) >= *size) + register char *jmin=static_cast (tin); + register char *jmout=static_cast (tout); + if (mcrfill_ABS(jmout-jmin) >= *size) memcpy( tout, tin, *size); else if (tin > tout) { register integer n = *size; - register char *jmin=tin; - register char *jmout=tout; while (n-- > 0) *jmout++ = *jmin++; } else { register integer n = *size; - register char *jmin=tin+n; - register char *jmout=tout+n; + jmin+=n; + jmout+=n; while (n-- > 0) *--jmout = *--jmin; } return 0; @@ -2517,13 +2520,14 @@ int AdvApp2Var_SysBase::mcrfill_(integer *size, //purpose : //======================================================================= int mcrfree_(integer *,//ibyte, - uinteger *iadr, + void* *iadr, integer *ier) { *ier=0; - free((void*)*iadr); - if ( !*iadr ) *ier = 1; + Standard::Free(*iadr); + //Standard::Free always nullifies address, so check becomes incorrect + //if ( !*iadr ) *ier = 1; return 0; } @@ -2559,13 +2563,13 @@ int mcrfree_(integer *,//ibyte, //purpose : //======================================================================= int mcrgetv_(integer *sz, - uinteger *iad, + void* *iad, integer *ier) { *ier = 0; - *iad = (uinteger)malloc(*sz); + *iad = Standard::Allocate(*sz); if ( !*iad ) *ier = 1; return 0; } @@ -2701,7 +2705,7 @@ int mcrlist_(integer *ier) i__1 = mcrgene_.ncore; for (i__ = 1; i__ <= i__1; ++i__) { nufmt = 2; - ifmt = mcrgene_.icore[i__ * 12 - 11] * mcrgene_.icore[i__ * 12 - 10] + ifmt = static_cast (mcrgene_.icore[i__ * 12 - 11] * mcrgene_.icore[i__ * 12 - 10]) ; macrmsg_(subrou, &nufmt, &ifmt, &dfmt, cfmt, 7L, 1L); ntotal += ifmt; @@ -2720,11 +2724,11 @@ int mcrlist_(integer *ier) //function : mcrlocv_ //purpose : //======================================================================= -int mcrlocv_(long int t, - long int *l) +int mcrlocv_(void* t, + intptr_t *l) { - *l = t; + *l = reinterpret_cast (t); return 0 ; } @@ -2734,8 +2738,8 @@ int mcrlocv_(long int t, //======================================================================= int AdvApp2Var_SysBase::mcrrqst_(integer *iunit, integer *isize, - doublereal *t, - long int *iofset, + void *t, + intptr_t *iofset, integer *iercod) { @@ -2747,7 +2751,7 @@ int AdvApp2Var_SysBase::mcrrqst_(integer *iunit, static integer ifmt, iver; static char subr[7]; static integer ksys , ibyte, irest, isyst, ier; - static long int iadfd, iadff, iaddr,lofset, loc; + static intptr_t iadfd, iadff, iaddr,lofset, loc; static integer izu; @@ -2897,9 +2901,6 @@ int AdvApp2Var_SysBase::mcrrqst_(integer *iunit, /* ----------------------------------------------------------------------* */ - /* Parameter adjustments */ - --t; - /* Function Body */ *iercod = 0; @@ -2940,7 +2941,7 @@ int AdvApp2Var_SysBase::mcrrqst_(integer *iunit, /* . add delta for alinement with the base */ /* . round to multiple of 8 above */ - mcrlocv_((long int)&t[1], (long int *)&loc); + mcrlocv_(t, &loc); izu = ibyte + loc % *iunit; irest = izu % 8; if (irest != 0) { @@ -2972,7 +2973,7 @@ int AdvApp2Var_SysBase::mcrrqst_(integer *iunit, /* ELSE */ /* ALLOCATION SYSTEME */ ksys = 2; - mcrgetv_((integer *)&ibyte, (uinteger *)&iaddr, (integer *)&ier); + mcrgetv_(&ibyte, reinterpret_cast (&iaddr), &ier); if (ier != 0) { goto L9003; } @@ -3021,13 +3022,13 @@ int AdvApp2Var_SysBase::mcrrqst_(integer *iunit, /* CALL ALLOWING AUTOIMPLEMENTATION OF THE SET WATCH BY THE DEBUGGER */ - macrstw_((integer *)&iadfd, (integer *)&iadff, (integer *)&mcrgene_.ncore); + macrstw_(&iadfd, &iadff, &mcrgene_.ncore); /* STATISTICS */ ++mcrstac_.nrqst[ksys - 1]; - mcrstac_.nbyte[ksys - 1] += mcrgene_.icore[mcrgene_.ncore * 12 - 11] * - mcrgene_.icore[mcrgene_.ncore * 12 - 10]; + mcrstac_.nbyte[ksys - 1] += static_cast (mcrgene_.icore[mcrgene_.ncore * 12 - 11] * + mcrgene_.icore[mcrgene_.ncore * 12 - 10]); /* Computing MAX */ i__1 = mcrstac_.mbyte[ksys - 1], i__2 = mcrstac_.nbyte[ksys - 1]; mcrstac_.mbyte[ksys - 1] = advapp_max(i__1,i__2); @@ -3137,7 +3138,7 @@ C*********************************************************************** //purpose : //======================================================================= void AdvApp2Var_SysBase::miraz_(integer *taille, - char *adt) + void *adt) { integer offset; @@ -3217,7 +3218,7 @@ int AdvApp2Var_SysBase::msifill_(integer *nbintg, /* Function Body */ nocte = *nbintg * sizeof(integer); - AdvApp2Var_SysBase::mcrfill_((integer *)&nocte, (char *)&ivecin[1], (char *)&ivecou[1]); + AdvApp2Var_SysBase::mcrfill_(&nocte, &ivecin[1], &ivecou[1]); return 0 ; } /* msifill_ */ @@ -3272,8 +3273,8 @@ int AdvApp2Var_SysBase::msrfill_(integer *nbreel, --vecent; /* Function Body */ - nocte = *nbreel << 3; - AdvApp2Var_SysBase::mcrfill_((integer *)&nocte, (char *)&vecent[1], (char *)&vecsor[1]); + nocte = *nbreel * sizeof (doublereal); + AdvApp2Var_SysBase::mcrfill_(&nocte, &vecent[1], &vecsor[1]); return 0 ; } /* msrfill_ */ @@ -3442,7 +3443,7 @@ C*********************************************************************** //purpose : //======================================================================= void AdvApp2Var_SysBase::mvriraz_(integer *taille, - char *adt) + void *adt) { integer offset; diff --git a/src/AdvApp2Var/AdvApp2Var_SysBase.hxx b/src/AdvApp2Var/AdvApp2Var_SysBase.hxx index baced2a328..bc6ecb1519 100755 --- a/src/AdvApp2Var/AdvApp2Var_SysBase.hxx +++ b/src/AdvApp2Var/AdvApp2Var_SysBase.hxx @@ -21,6 +21,11 @@ #include #include +#if _MSC_VER +#include +#else +#include +#endif class AdvApp2Var_SysBase { public: @@ -32,18 +37,18 @@ class AdvApp2Var_SysBase { // Standard_EXPORT static int mcrdelt_(integer *iunit, integer *isize, - doublereal *t, - long int *iofset, + void *t, + intptr_t *iofset, integer *iercod); Standard_EXPORT static int mcrfill_(integer *size, - char *tin, - char *tout); + void *tin, + void *tout); Standard_EXPORT static int mcrrqst_(integer *iunit, integer *isize, - doublereal *t, - long int *iofset, + void *t, + intptr_t *iofset, integer *iercod); Standard_EXPORT static integer mnfndeb_(); @@ -57,23 +62,23 @@ class AdvApp2Var_SysBase { Standard_EXPORT static int macrai4_(integer *nbelem, integer *maxelm, integer *itablo, - long int *iofset, + intptr_t *iofset, integer *iercod); Standard_EXPORT static int macrar8_(integer *nbelem, integer *maxelm, doublereal *xtablo, - long int *iofset, + intptr_t *iofset, integer *iercod); Standard_EXPORT static int macrdi4_(integer *nbelem, integer *maxelm, integer *itablo, - long int *iofset, + intptr_t *iofset, integer *iercod); Standard_EXPORT static int macrdr8_(integer *nbelem, integer *maxelm, doublereal *xtablo, - long int *iofset, + intptr_t *iofset, integer *iercod); Standard_EXPORT static int maermsg_(const char *cnompg, integer *icoder, @@ -88,7 +93,7 @@ class AdvApp2Var_SysBase { Standard_EXPORT static int mgsomsg_(const char *nomprg, ftnlen nomprg_len); Standard_EXPORT static void miraz_(integer *taille, - char *adt); + void *adt); Standard_EXPORT static int msifill_(integer *nbintg, integer *ivecin, integer *ivecou); @@ -98,7 +103,7 @@ class AdvApp2Var_SysBase { Standard_EXPORT static int mswrdbg_(const char *ctexte, ftnlen ctexte_len); Standard_EXPORT static void mvriraz_(integer *taille, - char *adt); + void*adt); };