Ignore:
Timestamp:
07/21/06 14:47:49 (18 years ago)
Author:
navarro
Message:

english and nicer header (2a)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SRC/ToBeReviewed/MATRICE/colle.pro

    r134 r142  
    22; @file_comments  
    33; This concatenation function exist in IDL so long  
    4 ;as we do not try to stick with a dimension superior or equal at 4.   
     4; as we do not try to stick with a dimension superior or equal at 4.   
    55; 
    66; @categories utilities 
     
    4848; @param a20 {in}{required} 
    4949; 
    50 ; @param CAS 1 {in}{required} 
    51 ;        table_of_pointer: It is a table of pointers, where each  
    52 ;        element point on a table to stick 
    53 ;        
    54 ;        For exemple, in a program, we want to stick n table ones with others. 
    55 ; 
    56 ;          tab=ptrarr(n,/allocate_heap) 
    57 ;          for i=0,n-1 do begin 
    58 ;             *tab[n]=replicate(n,2,3) 
    59 ;          endfor 
    60 ;          res=colle(tab,1) 
    61 ; 
    62 ; @param CAS 2 {in}{required} 
    63 ;        we directly give tables to stick 
    64 ;        Comment: In this case, the plus we can give is 20 tables. 
    65 ; 
    66 ;        BEWARE: whitout the keyword /SAUVE entry arguments are  
    67 ;                delete when, we build res. In the first case,we  
    68 ;                delete the table of pointers and variables on which we point. 
    69 ; 
    70 ; @param direc {in}{required} The direction on which stick them, 1,2,3...  
    71 ; 
    7250; @keyword SAUVE mot cle qui force a sauvegarder le tableau de 
    7351;         pointeur et les tableaux a coller. 
     
    9876   res = -1 
    9977;------------------------------------------------------------ 
    100 ; on met en place ptrtab et direc en fonction des arguments en entree 
     78; We put in place ptrtab and direc in function of input arguments 
    10179;------------------------------------------------------------ 
    10280   case 1 of 
    103       n_params() EQ 2:BEGIN     ; cas ou l'on donne directement le tableau de pointeurs 
     81      n_params() EQ 2:BEGIN     ; case where we directly give the pointer array 
    10482         ptrtab = a0 
    10583         direc = a1 
    10684         if NOT keyword_set(sauve) then undefine, a0 
    107 ; on recupere le nombre de tableaux a coller 
     85; on recuperate the number of array to be pasted. 
    10886         nbretab = (size(ptrtab))[1] 
    10987      end 
    11088      n_params() GT 2:BEGIN 
    111 ; on recupere le nombre de tableaux a coller 
     89; on recuperate the number of array to be pasted. 
    11290         nbretab = n_params()-1 
    11391         bidon = execute('direc = a'+strtrim(n_params()-1, 2)) 
    114 ; on ecrit le tableau de pointeur dont chaque element pointe sur un tableau 
     92; We write the pointer array whose each element point on an array. 
    11593         ptrtab=ptrarr(nbretab,/allocate_heap) 
    11694         for n = 0,nbretab-1 do begin 
     
    123101   endcase 
    124102;------------------------------------------------------------ 
    125 ; case sur la valeure de direc 
     103; case on the direct's value. 
    126104;------------------------------------------------------------ 
    127105   case direc of 
    128       1:BEGIN                   ; on colle suivant la dimension 1 
     106      1:BEGIN                   ; we paste following the dimension 1 
    129107         res = *ptrtab[0] 
    130108         if NOT keyword_set(sauve) then ptr_free, ptrtab[0] 
     
    134112         ENDFOR  
    135113      END  
    136       2:BEGIN                   ; on colle suivant la dimension 2 
     114      2:BEGIN                   ; we paste following the dimension 2 
    137115         res = *ptrtab[0] 
    138116         if NOT keyword_set(sauve) then ptr_free, ptrtab[0] 
     
    142120         ENDFOR  
    143121      END  
    144       3:BEGIN                   ; on colle suivant la dimension 3 
     122      3:BEGIN                   ; we paste following the dimension 3 
    145123         res = *ptrtab[0] 
    146124         if NOT keyword_set(sauve) then ptr_free, ptrtab[0] 
     
    151129      END 
    152130      ELSE:BEGIN  
    153 ; on transpose res de facon a mettre la dimension a coller numero 1. 
    154 ; pour cela on contient le vecteur permute qui donne la place que 
    155 ; doivent prendre les dimensions ds la matrice transposee 
     131; We transpose res in order to put the dimension to be pasted number 1 
     132; To this, we contain the permuter vector which give the place that dimension  
     133; in the transposed matrix must take. 
    156134        siz = (size(*ptrtab[0]))[0] 
    157135         if siz LT direc then $ 
     
    162140         res = transpose(*ptrtab[0], permute) 
    163141         if NOT keyword_set(sauve) then ptr_free, ptrtab[0] 
    164          FOR n = 1,nbretab-1 DO BEGIN ; on colle suivant la dimension 1 
     142         FOR n = 1,nbretab-1 DO BEGIN ; we paste following the dimension 1on colle suivant la dimension 1 
    165143            if (size(*ptrtab[n]))[0] LT direc then $ 
    166144             *ptrtab[n] = reform(*ptrtab[n], [(size(*ptrtab[n]))[1:siz], replicate(1, direc-siz)])             
Note: See TracChangeset for help on using the changeset viewer.