summaryrefslogtreecommitdiff
path: root/libguile/random.c
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2004-12-27 02:10:14 +0000
committerMarius Vollmer <mvo@zagadka.de>2004-12-27 02:10:14 +0000
commitb590aceb96a8a483b0938e5b2fbe7c94fe9e7a1e (patch)
treebccd3db8aaa254187e3a681b230b9dc0deb27788 /libguile/random.c
parent1d0df896c97b3f876700206a4b5e2d8d452cece4 (diff)
downloadguile-b590aceb96a8a483b0938e5b2fbe7c94fe9e7a1e.tar.gz
(scm_uniform_vector_elements,
scm_u8vector_elements, etc): Made return value "const". (scm_uniform_vector_writable_elements, scm_u8vector_writable_elements, etc): New. (scm_uniform_vector_release, scm_uniform_vector_release_elements): Renamed former to latter. Added explicit call to scm_remember_upto_here_1. (scm_frame_uniform_vector_release, scm_frame_uniform_vector_release_elements): Renamed former to latter. (scm_uniform_vector_release_writable_elements, scm_frame_uniform_vector_release_writable_elements): New. Takes crown of longest identifier yet. Changed all uses as required by the changes above.
Diffstat (limited to 'libguile/random.c')
-rw-r--r--libguile/random.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libguile/random.c b/libguile/random.c
index 6c1e75d05..42a28097e 100644
--- a/libguile/random.c
+++ b/libguile/random.c
@@ -439,11 +439,11 @@ vector_scale_x (SCM v, double c)
else
{
/* must be a f64vector. */
- double *elts = scm_f64vector_elements (v);
+ double *elts = scm_f64vector_writable_elements (v);
n = scm_c_uniform_vector_length (v);
while (n-- > 0)
elts[n] *= c;
- scm_uniform_vector_release (v);
+ scm_uniform_vector_release_writable_elements (v);
}
}
@@ -464,14 +464,14 @@ vector_sum_squares (SCM v)
else
{
/* must be a f64vector. */
- double *elts = scm_f64vector_elements (v);
+ const double *elts = scm_f64vector_elements (v);
n = scm_c_uniform_vector_length (v);
while (n-- > 0)
{
x = elts[n];
sum += x * x;
}
- scm_uniform_vector_release (v);
+ scm_uniform_vector_release_elements (v);
}
return sum;
}
@@ -545,11 +545,11 @@ SCM_DEFINE (scm_random_normal_vector_x, "random:normal-vector!", 1, 1, 0,
else
{
/* must be a f64vector. */
- double *elts = scm_f64vector_elements (v);
+ double *elts = scm_f64vector_writable_elements (v);
n = scm_c_uniform_vector_length (v);
while (n-- > 0)
elts[n] = scm_c_normal01 (SCM_RSTATE (state));
- scm_uniform_vector_release (v);
+ scm_uniform_vector_release_writable_elements (v);
}
return SCM_UNSPECIFIED;
}