mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 17:50:29 +02:00
(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.
This commit is contained in:
parent
1d0df896c9
commit
b590aceb96
6 changed files with 90 additions and 35 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue