Changeset 23606


Ignore:
Timestamp:
01/06/19 09:38:48 (6 years ago)
Author:
Mathieu Morlighem
Message:

CHG: added GetLocalVector to IssmSeqVec

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h

    r23604 r23606  
    144144                }/*}}}*/
    145145                void GetLocalVector(doubletype** pvector,int** pindices){/*{{{*/
    146                         _error_("not implemented");
     146
     147                        /*First, check that vector size is not 0*/
     148                        int vector_size;
     149                        this->GetSize(&vector_size);
     150                        if(vector_size==0){
     151                                *pvector=NULL;
     152                                *pindices=NULL;
     153                                return;
     154                        }
     155
     156                        /*Build indices*/
     157                        int* indices=xNew<int>(vector_size);
     158                        for(int i=0;i<vector_size;i++) indices[i]=i;
     159
     160                        /*Get vector*/
     161                        doubletype* values =xNew<doubletype>(vector_size);
     162                        xMemCpy<doubletype>(values,this->vector,vector_size);
     163
     164                        *pvector  = values;
     165                        *pindices = indices;
    147166                } /*}}}*/
    148167                IssmSeqVec<doubletype>* Duplicate(void){/*{{{*/
Note: See TracChangeset for help on using the changeset viewer.