# HG changeset patch # User jwe # Date 745103159 0 # Node ID 9eda1009cf95a4d85efaf410cf9d59790714e27d # Parent 7806354a10d35116a56038e030b9c981b6ef239b [project @ 1993-08-11 21:05:59 by jwe] diff -r 7806354a10d3 -r 9eda1009cf95 src/expm.cc --- a/src/expm.cc Wed Aug 11 20:50:40 1993 +0000 +++ b/src/expm.cc Wed Aug 11 21:05:59 1993 +0000 @@ -60,7 +60,7 @@ extern int empty_arg (tree_constant&); tree_constant -matrix_exp (const tree_constant& a) +matrix_exp (tree_constant& a) { tree_constant retval; tree_constant tmp = a.make_numeric (); @@ -132,12 +132,12 @@ fortran_vec (), &n_cols, work.fortran_vec ()); - sqpow = 1.0 + log (inf_norm) / log (2.0); + sqpow = (int) (1.0 + log (inf_norm) / log (2.0)); // Check whether we need to square at all. - if (sqpow <= 0.0) - sqpow = 0.0; + if (sqpow < 0) + sqpow = 0; else { for (inf_norm = 1.0, i = 0; i < sqpow; i++) @@ -235,12 +235,12 @@ m.fortran_vec (), &n_cols, work.fortran_vec ()); - sqpow = 1.0 + log (inf_norm) / log (2.0); + sqpow = (int) (1.0 + log (inf_norm) / log (2.0)); // Check whether we need to square at all. - if (sqpow <= 0.0) - sqpow = 0.0; + if (sqpow < 0) + sqpow = 0; else { for (inf_norm = 1.0, i = 0; i < sqpow; i++)