Changeset 22731


Ignore:
Timestamp:
05/01/18 05:51:22 (7 years ago)
Author:
Mathieu Morlighem
Message:

CHG: moving some double pointers to int

Location:
issm/trunk-jpl/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp

    r16166 r22731  
    1010
    1111int InterpFromMesh2dx(IssmSeqVec<IssmPDouble>** pdata_prime,
    12                         double* index_data, double* x_data, double* y_data, int nods_data,int nels_data, double* data, int data_length,
     12                        int* index_data, double* x_data, double* y_data, int nods_data,int nels_data, double* data, int data_length,
    1313                        double* x_prime, double* y_prime, int nods_prime,
    1414                        double* default_values,int num_default_values,Contour<IssmPDouble>** contours,int numcontours){
  • issm/trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.h

    r15000 r22731  
    1515        bool                debug;
    1616        int                 nels_data;
    17         double              *index_data;
     17        int                *index_data;
    1818        double              *x_data;
    1919        double              *y_data;
     
    3131} InterpFromMesh2dxThreadStruct;
    3232
    33 int InterpFromMesh2dx(IssmSeqVec<IssmPDouble>** pdata_prime,double* index_data, double* x_data, double* y_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, int nods_prime,
     33int InterpFromMesh2dx(IssmSeqVec<IssmPDouble>** pdata_prime,int* index_data, double* x_data, double* y_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, int nods_prime,
    3434                double* default_values,int num_default_values,Contour<IssmPDouble>** contours,int numcontours);
    3535
  • issm/trunk-jpl/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp

    r15557 r22731  
    2323        bool    debug                   = gate->debug;
    2424        int     nels_data               = gate->nels_data;
    25         double *index_data              = gate->index_data;
     25        int    *index_data              = gate->index_data;
    2626        double *x_data                  = gate->x_data;
    2727        double *y_data                  = gate->y_data;
     
    5050
    5151                /*if there is no point inside the domain, go to next iteration*/
    52                 if ( (x_data[(int)index_data[3*i+0]-1]<xmin) && (x_data[(int)index_data[3*i+1]-1]<xmin) && (x_data[(int)index_data[3*i+2]-1]<xmin)) continue;
    53                 if ( (x_data[(int)index_data[3*i+0]-1]>xmax) && (x_data[(int)index_data[3*i+1]-1]>xmax) && (x_data[(int)index_data[3*i+2]-1]>xmax)) continue;
    54                 if ( (y_data[(int)index_data[3*i+0]-1]<ymin) && (y_data[(int)index_data[3*i+1]-1]<ymin) && (y_data[(int)index_data[3*i+2]-1]<ymin)) continue;
    55                 if ( (y_data[(int)index_data[3*i+0]-1]>ymax) && (y_data[(int)index_data[3*i+1]-1]>ymax) && (y_data[(int)index_data[3*i+2]-1]>ymax)) continue;
     52                if ( (x_data[index_data[3*i+0]-1]<xmin) && (x_data[index_data[3*i+1]-1]<xmin) && (x_data[index_data[3*i+2]-1]<xmin)) continue;
     53                if ( (x_data[index_data[3*i+0]-1]>xmax) && (x_data[index_data[3*i+1]-1]>xmax) && (x_data[index_data[3*i+2]-1]>xmax)) continue;
     54                if ( (y_data[index_data[3*i+0]-1]<ymin) && (y_data[index_data[3*i+1]-1]<ymin) && (y_data[index_data[3*i+2]-1]<ymin)) continue;
     55                if ( (y_data[index_data[3*i+0]-1]>ymax) && (y_data[index_data[3*i+1]-1]>ymax) && (y_data[index_data[3*i+2]-1]>ymax)) continue;
    5656
    5757                /*get area of the current element (Jacobian = 2 * area)*/
    5858                //area =x2 * y3 - y2*x3 + x1 * y2 - y1 * x2 + x3 * y1 - y3 * x1;
    59                 area=x_data[(int)index_data[3*i+1]-1]*y_data[(int)index_data[3*i+2]-1]-y_data[(int)index_data[3*i+1]-1]*x_data[(int)index_data[3*i+2]-1]
    60                   +  x_data[(int)index_data[3*i+0]-1]*y_data[(int)index_data[3*i+1]-1]-y_data[(int)index_data[3*i+0]-1]*x_data[(int)index_data[3*i+1]-1]
    61                   +  x_data[(int)index_data[3*i+2]-1]*y_data[(int)index_data[3*i+0]-1]-y_data[(int)index_data[3*i+2]-1]*x_data[(int)index_data[3*i+0]-1];
     59                area=x_data[index_data[3*i+1]-1]*y_data[index_data[3*i+2]-1]-y_data[index_data[3*i+1]-1]*x_data[index_data[3*i+2]-1]
     60                  +  x_data[index_data[3*i+0]-1]*y_data[index_data[3*i+1]-1]-y_data[index_data[3*i+0]-1]*x_data[index_data[3*i+1]-1]
     61                  +  x_data[index_data[3*i+2]-1]*y_data[index_data[3*i+0]-1]-y_data[index_data[3*i+2]-1]*x_data[index_data[3*i+0]-1];
    6262
    6363                /*loop over the prime nodes*/
     
    6767
    6868                                /*Get first area coordinate = det(x-x3  x2-x3 ; y-y3   y2-y3)/area*/
    69                                 area_1=((x_prime[j]-x_data[(int)index_data[3*i+2]-1])*(y_data[(int)index_data[3*i+1]-1]-y_data[(int)index_data[3*i+2]-1])
    70                                                 -  (y_prime[j]-y_data[(int)index_data[3*i+2]-1])*(x_data[(int)index_data[3*i+1]-1]-x_data[(int)index_data[3*i+2]-1]))/area;
     69                                area_1=((x_prime[j]-x_data[index_data[3*i+2]-1])*(y_data[index_data[3*i+1]-1]-y_data[index_data[3*i+2]-1])
     70                                                -  (y_prime[j]-y_data[index_data[3*i+2]-1])*(x_data[index_data[3*i+1]-1]-x_data[index_data[3*i+2]-1]))/area;
    7171                                /*Get second area coordinate =det(x1-x3  x-x3 ; y1-y3   y-y3)/area*/
    72                                 area_2=((x_data[(int)index_data[3*i+0]-1]-x_data[(int)index_data[3*i+2]-1])*(y_prime[j]-y_data[(int)index_data[3*i+2]-1])
    73                                                 - (y_data[(int)index_data[3*i+0]-1]-y_data[(int)index_data[3*i+2]-1])*(x_prime[j]-x_data[(int)index_data[3*i+2]-1]))/area;
     72                                area_2=((x_data[index_data[3*i+0]-1]-x_data[index_data[3*i+2]-1])*(y_prime[j]-y_data[index_data[3*i+2]-1])
     73                                                - (y_data[index_data[3*i+0]-1]-y_data[index_data[3*i+2]-1])*(x_prime[j]-x_data[index_data[3*i+2]-1]))/area;
    7474                                /*Get third area coordinate = 1-area1-area2*/
    7575                                area_3=1-area_1-area_2;
     
    8181                                        if (interpolation_type==1){
    8282                                                /*nodal interpolation*/
    83                                                 data_value=area_1*data[(int)index_data[3*i+0]-1]+area_2*data[(int)index_data[3*i+1]-1]+area_3*data[(int)index_data[3*i+2]-1];
     83                                                data_value=area_1*data[index_data[3*i+0]-1]+area_2*data[index_data[3*i+1]-1]+area_3*data[index_data[3*i+2]-1];
    8484                                        }
    8585                                        else{
  • issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp

    r22729 r22731  
    6464
    6565                /*display current iteration*/
    66                 if(debug && fmod(double(n),1000)==0)
     66                if(debug && n%10000==0)
    6767                 _printf_("\r      interpolation progress: "<<setw(6)<<setprecision(2)<<double(n)/double(nels)*100<<"%   ");
    6868
  • issm/trunk-jpl/src/wrappers/InterpFromMesh2d/InterpFromMesh2d.cpp

    r20877 r22731  
    2323
    2424        /*input: */
    25         double* index_data=NULL;
     25        int*    index_data=NULL;
    2626        int     index_data_rows;
    2727        int     dummy;
    28 
    2928        double* x_data=NULL;
    3029        int     x_data_rows;
    31 
    3230        double* y_data=NULL;
    3331        int     y_data_rows;
    34 
    3532        double* data=NULL;
    3633        int     data_rows;
    3734        int     data_cols;
    38 
    3935        double* x_prime=NULL;
    4036        double* y_prime=NULL;
    41 
    4237        int     x_prime_rows;
    4338        int     y_prime_rows;
    44 
    4539        double* default_values=NULL;
    4640        int     num_default_values=0;
     
    139133
    140134        /*end module: */
    141         xDelete<double>(index_data);
     135        xDelete<int>(index_data);
    142136        xDelete<double>(x_data);
    143137        xDelete<double>(y_data);
Note: See TracChangeset for help on using the changeset viewer.