summaryrefslogtreecommitdiff
path: root/libguile/random.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/random.c')
-rw-r--r--libguile/random.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/random.c b/libguile/random.c
index 6fd567cca..a7b9c56d6 100644
--- a/libguile/random.c
+++ b/libguile/random.c
@@ -552,9 +552,10 @@ vector_scale_x (SCM v, double c)
}
else if (handle.element_type == SCM_ARRAY_ELEMENT_TYPE_SCM)
{
+ SCM cc = scm_from_double (c);
SCM *elts = (SCM *)(handle.writable_elements) + handle.base;
for (i = dims[0].lbnd; i <= ubnd; ++i, elts += inc)
- SCM_REAL_VALUE (*elts) *= c;
+ *elts = scm_product (*elts, cc);
return;
}
}