Mercurial > hg > octave-lyh
view libcruft/odepack/vnorm.f @ 13970:c93b953f7d54
plug some memory leaks
* oct-parse.yy, parse.h (cleanup_statement_list): New function.
* toplev.cc (main_loop): Put cleanup_statement_list on the
unwind_protect stack to delete the command list created by the
parser instead of deleting it directly.
* oct-parse.yy (parse_fcn_file, eval_string): Likewise.
* input.cc (get_debug_input): Likewise.
* pt-loop.cc (tree_simple_for_command::~tree_simple_for_command,
tree_complex_for_command::~tree_complex_for_command):
Also delete lhs expression.
* pt-idx.cc (tree_index_expression::~tree_index_expression):
Also delete contents of dyn_field list.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 01 Dec 2011 04:26:46 -0500 |
parents | 30c606bec7a8 |
children |
line wrap: on
line source
DOUBLE PRECISION FUNCTION VNORM (N, V, W) CLLL. OPTIMIZE C----------------------------------------------------------------------- C THIS FUNCTION ROUTINE COMPUTES THE WEIGHTED ROOT-MEAN-SQUARE NORM C OF THE VECTOR OF LENGTH N CONTAINED IN THE ARRAY V, WITH WEIGHTS C CONTAINED IN THE ARRAY W OF LENGTH N.. C VNORM = SQRT( (1/N) * SUM( V(I)*W(I) )**2 ) C----------------------------------------------------------------------- INTEGER N, I DOUBLE PRECISION V, W, SUM DIMENSION V(N), W(N) SUM = 0.0D0 DO 10 I = 1,N 10 SUM = SUM + (V(I)*W(I))**2 VNORM = DSQRT(SUM/DBLE(N)) RETURN C----------------------- END OF FUNCTION VNORM ------------------------- END