;+ ; ; NAME: ; HXISBOOST ; ; PURPOSE: ; ; ; CATEGORY: ; ; ; CALLING SEQUENCE: ; HXISBOOST, DEST, APP ; ; CALLED BY: ; HXISCPLOT ; ; CALLS TO: ; none ; ; INPUTS: ; ; OPTIONAL INPUTS: ; ; OUTPUTS: ; ; OPTIONAL OUTPUTS: ; ; COMMON BLOCKS: ; none ; ; SIDE EFFECTS: ; none ; ; RESTRICTIONS: ; ; PROCEDURE: ; ; MODIFICATION HISTORY: ; Paul Hick (ARC) ;- pro hxisboost, dest, app on_error,2 if n_elements(app) eq 0 then message, 'no array available to be appended' if n_elements(dest) eq 0 then begin & dest=app & return & endif sd = size(dest) & sa = size(app) & ddim = sd(0) & adim = sa(0) if ddim gt 2 or adim gt 2 then message, 'Cannot handle greater than 2-D arrays' dtype= sd(n_elements(sd)-2) & atype =sa(n_elements(sa)-2) if dtype eq 7 then d_string = 1 else d_string = 0 if atype eq 7 then a_string = 1 else a_string = 0 if d_string ne a_string then $ message, 'Data arrays should be both string or both noe_string' if ddim eq 2 then dr = sd(2) else dr = 1 ; # rows in input dest if adim eq 2 then ar = sa(2) else ar = 1 ; # rows in app r = dr+ar ; # rows in output dest if ddim ne 0 then dc = sd(1) else dc = 1 ; # columns in input dest if adim ne 0 then ac = sa(1) else ac = 1 ; # columns in app c = max([dc,ac]) ; 3 columns in output dest if a_string then buf = '' else buf = byte(0)*(dest(0)+app(0)) ; fix data type buf = replicate(buf,c,r) ; buffer array for output buf(0:dc-1,0:dr-1) = dest & buf(0:ac-1,dr:r-1) = app ; dest and app to buffer dest = buf ; copy buffer back to dest return & end