Changeset 12456
- Timestamp:
- 06/18/12 16:01:24 (13 years ago)
- Location:
- issm/trunk-jpl/src/c/objects
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/objects/Bamg/BamgGeom.cpp
r12365 r12456 22 22 BamgGeom::~BamgGeom(){ 23 23 24 x free((void**)&this->Vertices);25 x free((void**)&this->Edges);26 x free((void**)&this->TangentAtEdges);27 x free((void**)&this->Corners);28 x free((void**)&this->RequiredVertices);29 x free((void**)&this->RequiredEdges);30 x free((void**)&this->CrackedEdges);31 x free((void**)&this->SubDomains);24 xDelete<double>(this->Vertices); 25 xDelete<double>(this->Edges); 26 xDelete<double>(this->TangentAtEdges); 27 xDelete<double>(this->Corners); 28 xDelete<double>(this->RequiredVertices); 29 xDelete<double>(this->RequiredEdges); 30 xDelete<double>(this->CrackedEdges); 31 xDelete<double>(this->SubDomains); 32 32 33 33 } -
issm/trunk-jpl/src/c/objects/Bamg/BamgMesh.cpp
r12365 r12456 33 33 BamgMesh::~BamgMesh(){ 34 34 35 x free((void**)&this->Vertices);36 x free((void**)&this->Edges);37 x free((void**)&this->Triangles);38 x free((void**)&this->Quadrilaterals);35 xDelete<double>(this->Vertices); 36 xDelete<double>(this->Edges); 37 xDelete<double>(this->Triangles); 38 xDelete<double>(this->Quadrilaterals); 39 39 40 x free((void**)&this->SubDomains);41 x free((void**)&this->SubDomainsFromGeom);42 x free((void**)&this->CrackedVertices);43 x free((void**)&this->CrackedEdges);40 xDelete<double>(this->SubDomains); 41 xDelete<double>(this->SubDomainsFromGeom); 42 xDelete<double>(this->CrackedVertices); 43 xDelete<double>(this->CrackedEdges); 44 44 45 x free((void**)&this->VerticesOnGeomVertex);46 x free((void**)&this->VerticesOnGeomEdge);47 x free((void**)&this->EdgesOnGeomEdge);45 xDelete<double>(this->VerticesOnGeomVertex); 46 xDelete<double>(this->VerticesOnGeomEdge); 47 xDelete<double>(this->EdgesOnGeomEdge); 48 48 49 x free((void**)&this->IssmEdges);50 x free((void**)&this->IssmSegments);49 xDelete<double>(this->IssmEdges); 50 xDelete<double>(this->IssmSegments); 51 51 52 xfree((void**)&this->ElementConnectivity); 53 xfree((void**)&this->NodalConnectivity); 54 xfree((void**)&this->NodalElementConnectivity); 55 56 52 xDelete<double>(this->ElementConnectivity); 53 xDelete<double>(this->NodalConnectivity); 54 xDelete<double>(this->NodalElementConnectivity); 57 55 } 58 56 /*}}}*/ -
issm/trunk-jpl/src/c/objects/Bamg/BamgOpts.cpp
r12365 r12456 44 44 BamgOpts::~BamgOpts(){ 45 45 46 x free((void**)&this->hminVertices);47 x free((void**)&this->hmaxVertices);48 x free((void**)&this->hVertices);49 x free((void**)&this->metric);50 x free((void**)&this->field);51 x free((void**)&this->err);46 xDelete<double>(this->hminVertices); 47 xDelete<double>(this->hmaxVertices); 48 xDelete<double>(this->hVertices); 49 xDelete<double>(this->metric); 50 xDelete<double>(this->field); 51 xDelete<double>(this->err); 52 52 53 53 } -
issm/trunk-jpl/src/c/objects/Bamg/Geometry.cpp
r12365 r12456 298 298 bamggeom->VerticesSize[1]=3; 299 299 if (nbv){ 300 bamggeom->Vertices= (double*)xmalloc(3*nbv*sizeof(double));300 bamggeom->Vertices=xNew<double>(3*nbv); 301 301 for (i=0;i<nbv;i++){ 302 302 bamggeom->Vertices[i*3+0]=vertices[i].r.x; … … 314 314 bamggeom->EdgesSize[1]=3; 315 315 if (nbe){ 316 bamggeom->Edges= (double*)xmalloc(3*nbe*sizeof(double));316 bamggeom->Edges=xNew<double>(3*nbe); 317 317 for (i=0;i<nbe;i++){ 318 318 bamggeom->Edges[i*3+0]=GetId(edges[i][0])+1; //back to Matlab indexing … … 332 332 bamggeom->RequiredEdgesSize[1]=1; 333 333 if (nbreq){ 334 bamggeom->RequiredEdges= (double*)xmalloc(1*nbreq*sizeof(double));334 bamggeom->RequiredEdges=xNew<double>(1*nbreq); 335 335 count=0; 336 336 for (i=0;i<nbe;i++){ … … 349 349 bamggeom->RequiredVerticesSize[1]=1; 350 350 if (nbreqv){ 351 bamggeom->RequiredVertices= (double*)xmalloc(1*nbreqv*sizeof(double));351 bamggeom->RequiredVertices=xNew<double>(1*nbreqv); 352 352 count=0; 353 353 for (i=0;i<nbv;i++){ … … 364 364 bamggeom->SubDomainsSize[1]=4; 365 365 if (nbsubdomains){ 366 bamggeom->SubDomains= (double*)xmalloc(4*nbsubdomains*sizeof(double));366 bamggeom->SubDomains=xNew<double>(4*nbsubdomains); 367 367 for (i=0;i<nbsubdomains;i++){ 368 368 bamggeom->SubDomains[4*i+0]=2; … … 378 378 bamggeom->TangentAtEdgesSize[1]=4; 379 379 if (nbtan){ 380 bamggeom->TangentAtEdges= (double*)xmalloc(4*nbtan*sizeof(double));380 bamggeom->TangentAtEdges=xNew<double>(4*nbtan); 381 381 count=0; 382 382 for (i=0;i<nbe;i++){ -
issm/trunk-jpl/src/c/objects/Bamg/Mesh.cpp
r12408 r12456 281 281 //Vertices 282 282 if (verbose) printf("Reading vertices (%i)\n",nbv); 283 vertices= (BamgVertex*)xmalloc(nbv*sizeof(BamgVertex));284 orderedvertices= (BamgVertex**)xmalloc(nbv*sizeof(BamgVertex*));283 vertices=xNew<BamgVertex>(nbv); 284 orderedvertices=xNew<BamgVertex*>(nbv); 285 285 for (i=0;i<nbv;i++){ 286 286 vertices[i].r.x=x[i]; … … 296 296 if (verbose) printf("Reading triangles (%i)\n",nbt); 297 297 triangles =new Triangle[maxnbt]; //we cannot allocate only nbt triangles since 298 nodeflags= (bool*)xmalloc(nbv*sizeof(bool));298 nodeflags=xNew<bool>(nbv); 299 299 for(i=0;i<nbv;i++) nodeflags[i]=false; 300 300 //other triangles will be added for each edge … … 326 326 327 327 /*Clean up*/ 328 x free((void**)&nodeflags);328 xDelete<bool>(nodeflags); 329 329 } 330 330 /*}}}*/ … … 348 348 if(verbose>5) printf(" processing Vertices\n"); 349 349 350 vertices= (BamgVertex*)xmalloc(nbv*sizeof(BamgVertex));351 orderedvertices= (BamgVertex**)xmalloc(nbv*sizeof(BamgVertex*));350 vertices=xNew<BamgVertex>(nbv); 351 orderedvertices=xNew<BamgVertex*>(nbv); 352 352 353 353 for (i=0;i<nbv;i++){ … … 553 553 554 554 //Memory Allocation 555 head_1= (int*)xmalloc(nbv*sizeof(int));556 next_1= (int*)xmalloc(3*nbt*sizeof(int));557 connectivitysize_1= (int*)xmalloc(nbv*sizeof(int));555 head_1=xNew<int>(nbv); 556 next_1=xNew<int>(3*nbt); 557 connectivitysize_1=xNew<int>(nbv); 558 558 559 559 //Initialization … … 588 588 bamgmesh->VerticesSize[1]=3; 589 589 if (nbv){ 590 bamgmesh->Vertices= (double*)xmalloc(3*nbv*sizeof(double));590 bamgmesh->Vertices=xNew<double>(3*nbv); 591 591 for (i=0;i<nbv;i++){ 592 592 bamgmesh->Vertices[i*3+0]=vertices[i].r.x; … … 602 602 int NumIssmSegments=0; 603 603 if (nbe){ 604 bamgmesh->Edges= (double*)xmalloc(3*nbe*sizeof(double));604 bamgmesh->Edges=xNew<double>(3*nbe); 605 605 for (i=0;i<nbe;i++){ 606 606 bamgmesh->Edges[i*3+0]=GetId(edges[i][0])+1; //back to M indexing … … 617 617 SetOfEdges4* edge4=new SetOfEdges4(nbt*3,nbv); 618 618 double* elemedge=NULL; 619 elemedge= (double*)xmalloc(3*nbt*sizeof(double));619 elemedge=xNew<double>(3*nbt); 620 620 for (i=0;i<3*nbt;i++) elemedge[i]=NAN; 621 621 k=0; … … 642 642 bamgmesh->IssmEdgesSize[0]=edge4->nb(); 643 643 bamgmesh->IssmEdgesSize[1]=4; 644 bamgmesh->IssmEdges= (double*)xmalloc(4*edge4->nb()*sizeof(double));644 bamgmesh->IssmEdges=xNew<double>(4*edge4->nb()); 645 645 for (i=0;i<edge4->nb();i++){ 646 646 /*Invert first two vertices if necessary*/ … … 667 667 //clean up 668 668 delete edge4; 669 x free((void**)&elemedge);669 xDelete<double>(elemedge); 670 670 671 671 /*IssmSegments*/ … … 673 673 bamgmesh->IssmSegmentsSize[0]=NumIssmSegments; 674 674 bamgmesh->IssmSegmentsSize[1]=4; 675 bamgmesh->IssmSegments= (double*)xmalloc(4*NumIssmSegments*sizeof(double));675 bamgmesh->IssmSegments=xNew<double>(4*NumIssmSegments); 676 676 num=0; 677 677 for (i=0;i<nbe;i++){ … … 719 719 bamgmesh->TrianglesSize[1]=4; 720 720 if (k){ 721 bamgmesh->Triangles= (double*)xmalloc(4*k*sizeof(double));721 bamgmesh->Triangles=xNew<double>(4*k); 722 722 for (i=0;i<nbt;i++){ 723 723 Triangle &t=triangles[i]; … … 738 738 bamgmesh->QuadrilateralsSize[1]=5; 739 739 if (nbq){ 740 bamgmesh->Quadrilaterals= (double*)xmalloc(5*nbq*sizeof(double));740 bamgmesh->Quadrilaterals=xNew<double>(5*nbq); 741 741 for (i=0;i<nbt;i++){ 742 742 Triangle &t =triangles[i]; … … 759 759 bamgmesh->SubDomainsSize[1]=4; 760 760 if (nbsubdomains){ 761 bamgmesh->SubDomains= (double*)xmalloc(4*nbsubdomains*sizeof(double));761 bamgmesh->SubDomains=xNew<double>(4*nbsubdomains); 762 762 for (i=0;i<nbsubdomains;i++){ 763 763 bamgmesh->SubDomains[i*4+0]=3; … … 773 773 bamgmesh->SubDomainsFromGeomSize[1]=4; 774 774 if (Gh.nbsubdomains){ 775 bamgmesh->SubDomainsFromGeom= (double*)xmalloc(4*Gh.nbsubdomains*sizeof(double));775 bamgmesh->SubDomainsFromGeom=xNew<double>(4*Gh.nbsubdomains); 776 776 for (i=0;i<Gh.nbsubdomains;i++){ 777 777 bamgmesh->SubDomainsFromGeom[i*4+0]=2; … … 787 787 bamgmesh->VerticesOnGeomVertexSize[1]=2; 788 788 if (NbVerticesOnGeomVertex){ 789 bamgmesh->VerticesOnGeomVertex= (double*)xmalloc(2*NbVerticesOnGeomVertex*sizeof(double));789 bamgmesh->VerticesOnGeomVertex=xNew<double>(2*NbVerticesOnGeomVertex); 790 790 for (i=0;i<NbVerticesOnGeomVertex;i++){ 791 791 VertexOnGeom &v=VerticesOnGeomVertex[i]; … … 801 801 bamgmesh->VerticesOnGeomEdgeSize[1]=3; 802 802 if (NbVerticesOnGeomEdge){ 803 bamgmesh->VerticesOnGeomEdge= (double*)xmalloc(3*NbVerticesOnGeomEdge*sizeof(double));803 bamgmesh->VerticesOnGeomEdge=xNew<double>(3*NbVerticesOnGeomEdge); 804 804 for (i=0;i<NbVerticesOnGeomEdge;i++){ 805 805 const VertexOnGeom &v=VerticesOnGeomEdge[i]; … … 822 822 bamgmesh->EdgesOnGeomEdgeSize[1]=2; 823 823 if (k){ 824 bamgmesh->EdgesOnGeomEdge= (double*)xmalloc(2*(int)k*sizeof(double));824 bamgmesh->EdgesOnGeomEdge=xNew<double>(2*(int)k); 825 825 int count=0; 826 826 for (i=0;i<nbe;i++){ … … 837 837 bamgmesh->ElementConnectivitySize[0]=nbt-nbtout; 838 838 bamgmesh->ElementConnectivitySize[1]=3; 839 bamgmesh->ElementConnectivity= (double*)xmalloc(3*(nbt-nbtout)*sizeof(double));839 bamgmesh->ElementConnectivity=xNew<double>(3*(nbt-nbtout)); 840 840 for (i=0;i<3*(nbt-nbtout);i++) bamgmesh->ElementConnectivity[i]=NAN; 841 841 num=0; … … 857 857 bamgmesh->NodalElementConnectivitySize[0]=nbv; 858 858 bamgmesh->NodalElementConnectivitySize[1]=connectivitymax_1; 859 bamgmesh->NodalElementConnectivity= (double*)xmalloc(connectivitymax_1*nbv*sizeof(double));859 bamgmesh->NodalElementConnectivity=xNew<double>(connectivitymax_1*nbv); 860 860 for (i=0;i<connectivitymax_1*nbv;i++) bamgmesh->NodalElementConnectivity[i]=NAN; 861 861 for (i=0;i<nbv;i++){ … … 877 877 i1=bamgmesh->IssmEdgesSize[0]; 878 878 i2=bamgmesh->IssmEdgesSize[1]; 879 head_2= (int*)xmalloc(nbv*sizeof(int));880 next_2= (int*)xmalloc(2*i1*sizeof(int));881 connectivitysize_2= (int*)xmalloc(nbv*sizeof(int));879 head_2=xNew<int>(nbv); 880 next_2=xNew<int>(2*i1); 881 connectivitysize_2=xNew<int>(nbv); 882 882 //Initialization 883 883 for (i=0;i<nbv;i++) head_2[i]=-1; … … 902 902 bamgmesh->NodalConnectivitySize[0]=nbv; 903 903 bamgmesh->NodalConnectivitySize[1]=connectivitymax_2; 904 bamgmesh->NodalConnectivity= (double*)xmalloc(connectivitymax_2*nbv*sizeof(double));904 bamgmesh->NodalConnectivity=xNew<double>(connectivitymax_2*nbv); 905 905 for (i=0;i<connectivitymax_2*nbv;i++) bamgmesh->NodalConnectivity[i]=NAN; 906 906 for (i=0;i<nbv;i++){ … … 925 925 bamgmesh->CrackedVerticesSize[1]=2; 926 926 if (NbCrackedVertices){ 927 bamgmesh->CrackedVertices= (double*)xmalloc(2*NbCrackedVertices*sizeof(double));927 bamgmesh->CrackedVertices=xNew<double>(2*NbCrackedVertices); 928 928 for (i=0;i<NbCrackedVertices;i++){ 929 929 bamgmesh->CrackedVertices[i*2+0]=CrackedVertices[i*2+0]+1; //M indexing … … 937 937 bamgmesh->CrackedEdgesSize[1]=4; 938 938 if (NbCrackedEdges){ 939 bamgmesh->CrackedEdges= (double*)xmalloc(2*NbCrackedEdges*sizeof(double));939 bamgmesh->CrackedEdges=xNew<double>(2*NbCrackedEdges); 940 940 for (i=0;i<NbCrackedEdges;i++){ 941 941 bamgmesh->CrackedEdges[i*2+0]=0;//CrackedEdges[i]->+1; //M indexing … … 945 945 946 946 //clean up 947 x free((void**)&connectivitysize_1);948 x free((void**)&head_1);949 x free((void**)&next_1);950 x free((void**)&connectivitysize_2);951 x free((void**)&head_2);952 x free((void**)&next_2);947 xDelete<int>(connectivitysize_1); 948 xDelete<int>(head_1); 949 xDelete<int>(next_1); 950 xDelete<int>(connectivitysize_2); 951 xDelete<int>(head_2); 952 xDelete<int>(next_2); 953 953 delete [] reft; 954 954 delete [] numt; … … 996 996 void Mesh::WriteMetric(BamgOpts* bamgopts) { 997 997 int i; 998 x free((void**)&bamgopts->metric);999 bamgopts->metric= (double*)xmalloc(3*nbv*sizeof(double));998 xDelete<double>(bamgopts->metric); 999 bamgopts->metric=xNew<double>(3*nbv); 1000 1000 for (i=0;i<nbv;i++){ 1001 1001 bamgopts->metric[i*3+0]=vertices[i].m.a11; … … 1023 1023 1024 1024 if (k){ 1025 index= (int*)xmalloc(3*k*sizeof(double));1025 index=xNew<int>(3*k); 1026 1026 num=0; 1027 1027 for (i=0;i<nbt;i++){ … … 1795 1795 //first, build the chains that will be used for the Hessian computation, as weel as the area of each element 1796 1796 int* head_s=NULL; 1797 head_s= (int*)xmalloc(nbv*sizeof(int));1797 head_s=xNew<int>(nbv); 1798 1798 int* next_p=NULL; 1799 next_p= (int*)xmalloc(3*nbt*sizeof(int));1799 next_p=xNew<int>(3*nbt); 1800 1800 int p=0; 1801 1801 //initialization … … 1936 1936 1937 1937 //clean up 1938 x free((void**)&head_s);1939 x free((void**)&next_p);1938 xDelete<int>(head_s); 1939 xDelete<int>(next_p); 1940 1940 delete [] detT; 1941 1941 delete [] alpha; … … 2307 2307 if (verbose>4) printf(" number of Cracked Vertices = %i\n",NbCrackedVertices); 2308 2308 if (NbCrackedVertices){ 2309 CrackedVertices= (long*)xmalloc(2*NbCrackedVertices*sizeof(double));2309 CrackedVertices=xNew<long>(2*NbCrackedVertices); 2310 2310 num=0; 2311 2311 for (i=0;i<nbv;i++){ -
issm/trunk-jpl/src/c/objects/Constraints/SpcTransient.cpp
r12365 r12456 38 38 nsteps=spc_nsteps; 39 39 if(spc_nsteps){ 40 values= (double*)xmalloc(spc_nsteps*sizeof(double));41 times= (double*)xmalloc(spc_nsteps*sizeof(double));40 values=xNew<double>(spc_nsteps); 41 times=xNew<double>(spc_nsteps); 42 42 memcpy(values,spc_values,nsteps*sizeof(double)); 43 43 memcpy(times,spc_times,nsteps*sizeof(double)); … … 49 49 /*FUNCTION SpcTransient::~SpcTransient{{{*/ 50 50 SpcTransient::~SpcTransient(){ 51 x free((void**)×);52 x free((void**)&values);51 xDelete<double>(times); 52 xDelete<double>(values); 53 53 return; 54 54 } -
issm/trunk-jpl/src/c/objects/ExternalResults/BoolExternalResult.cpp
r12365 r12456 102 102 fwrite(&length,sizeof(int),1,fid); 103 103 fwrite(name,length,1,fid); 104 x free((void**)&name);104 xDelete<char>(name); 105 105 106 106 /*Now write time and step: */ -
issm/trunk-jpl/src/c/objects/ExternalResults/DoubleExternalResult.cpp
r12365 r12456 101 101 fwrite(&length,sizeof(int),1,fid); 102 102 fwrite(name,length,1,fid); 103 x free((void**)&name);103 xDelete<char>(name); 104 104 105 105 /*Now write time and step: */ -
issm/trunk-jpl/src/c/objects/ExternalResults/DoubleMatExternalResult.cpp
r12365 r12456 36 36 /*Copy result in values*/ 37 37 if(M*N){ 38 values= (double*)xmalloc(M*N*sizeof(double));38 values=xNew<double>(M*N); 39 39 memcpy(values,in_values,M*N*sizeof(double)); 40 40 } … … 48 48 DoubleMatExternalResult::~DoubleMatExternalResult(){ 49 49 50 x free((void**)&this->values);50 xDelete<double>(this->values); 51 51 return; 52 52 } … … 131 131 fwrite(&length,sizeof(int),1,fid); 132 132 fwrite(name,length,1,fid); 133 x free((void**)&name);133 xDelete<char>(name); 134 134 135 135 /*Now write time and step: */ -
issm/trunk-jpl/src/c/objects/ExternalResults/DoubleVecExternalResult.cpp
r12365 r12456 34 34 35 35 if(M){ 36 values= (double*)xmalloc(M*sizeof(double));36 values=xNew<double>(M); 37 37 memcpy(values,in_values,M*sizeof(double)); 38 38 } … … 45 45 /*FUNCTION DoubleVecExternalResult::~DoubleVecExternalResult(){{{*/ 46 46 DoubleVecExternalResult::~DoubleVecExternalResult(){ 47 x free((void**)&values);47 xDelete<double>(values); 48 48 return; 49 49 } … … 120 120 fwrite(&length,sizeof(int),1,fid); 121 121 fwrite(name,length,1,fid); 122 x free((void**)&name);122 xDelete<char>(name); 123 123 124 124 /*Now write time and step: */ -
issm/trunk-jpl/src/c/objects/ExternalResults/IntExternalResult.cpp
r12365 r12456 102 102 fwrite(&length,sizeof(int),1,fid); 103 103 fwrite(name,length,1,fid); 104 x free((void**)&name);104 xDelete<char>(name); 105 105 106 106 /*Now write time and step: */ -
issm/trunk-jpl/src/c/objects/ExternalResults/PetscVecExternalResult.cpp
r12365 r12456 118 118 fwrite(&length,sizeof(int),1,fid); 119 119 fwrite(name,length,1,fid); 120 x free((void**)&name);120 xDelete<char>(name); 121 121 122 122 /*Now write time and step: */ … … 132 132 133 133 /*Free ressources:*/ 134 x free((void**)&serialvec);134 xDelete<char>(serialvec); 135 135 } 136 136 /*}}}*/ -
issm/trunk-jpl/src/c/objects/ExternalResults/StringExternalResult.cpp
r12365 r12456 31 31 id=in_id; 32 32 enum_type=in_enum_type; 33 value= (char*)xmalloc((strlen(in_value)+1)*sizeof(char));33 value=xNew<char>(strlen(in_value)+1); 34 34 memcpy(value,in_value,(strlen(in_value)+1)*sizeof(char)); 35 35 … … 41 41 /*FUNCTION StringExternalResult::~StringExternalResult(){{{*/ 42 42 StringExternalResult::~StringExternalResult(){ 43 x free((void**)&value);43 xDelete<char>(value); 44 44 } 45 45 /*}}}*/ … … 103 103 fwrite(&length,sizeof(int),1,fid); 104 104 fwrite(name,length,1,fid); 105 x free((void**)&name);105 xDelete<char>(name); 106 106 107 107 /*Now write time and step: */
Note:
See TracChangeset
for help on using the changeset viewer.