1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
//
// GENERATED FILE
//
use super::*;
use crate::SpiceContext;
use f2rust_std::*;
/// Move a integer array to another
///
/// Copy the elements of one integer array into another
/// array.
///
/// # Brief I/O
///
/// ```text
/// VARIABLE I/O DESCRIPTION
/// -------- --- --------------------------------------------------
/// ARRFRM I Integer array to be moved.
/// NDIM I Number of elements to copy, i.e. the dimension
/// of ARRFRM and ARRTO.
/// ARRTO O Destination array.
/// ```
///
/// # Detailed Input
///
/// ```text
/// ARRFRM is an array from which to copy items.
///
/// NDIM is the number of items to copy.
/// ```
///
/// # Detailed Output
///
/// ```text
/// ARRTO is the array to which items should be copied.
/// ```
///
/// # Exceptions
///
/// ```text
/// Error free.
/// ```
///
/// # Particulars
///
/// ```text
/// This routine is simply shorthand for the following 3 lines of
/// code.
///
/// DO I = 1, NDIM
/// ARRTO(I) = ARRFRM(I)
/// END DO
/// ```
///
/// # Examples
///
/// ```text
/// Often one needs to make a temporary copy of an array so that
/// it can be manipulated without altering the original array.
/// As pointed out in particulars, you could just do this within
/// the code that needs the copy. However, if you have several
/// arrays to copy, you can cut the number of lines of code that
/// are needed by a third.
///
/// For example:
///
/// DO I = 1, 19
/// TEMPA(I) = A(I)
/// END DO
///
/// DO I = 1, 38
/// TEMPB(I) = B(I)
/// END DO
///
/// Can be rewritten as
///
/// CALL MOVEI ( A, 19, TEMPA )
/// CALL MOVEI ( B, 38, TEMPB )
/// ```
///
/// # Author and Institution
///
/// ```text
/// J. Diaz del Rio (ODC Space)
/// W.M. Owen (JPL)
/// W.L. Taber (JPL)
/// ```
///
/// # Version
///
/// ```text
/// - SPICELIB Version 1.1.0, 12-AUG-2021 (JDR)
///
/// Added IMPLICIT NONE statement.
///
/// Edited the header to comply with NAIF standard.
///
/// - SPICELIB Version 1.0.1, 10-MAR-1992 (WLT)
///
/// Comment section for permuted index source lines was added
/// following the header.
///
/// - SPICELIB Version 1.0.0, 31-JAN-1990 (WMO)
/// ```
///
/// # Revisions
///
/// ```text
/// - Beta Version 1.0.1, 4-FEB-1989 (WLT)
///
/// Header fully filled out.
/// ```
pub fn movei(arrfrm: &[i32], ndim: i32, arrto: &mut [i32]) {
MOVEI(arrfrm, ndim, arrto);
}
//$Procedure MOVEI ( Move a integer array to another )
pub fn MOVEI(ARRFRM: &[i32], NDIM: i32, ARRTO: &mut [i32]) {
let ARRFRM = DummyArray::new(ARRFRM, 1..);
let mut ARRTO = DummyArrayMut::new(ARRTO, 1..);
//
// Local variables
//
for I in 1..=NDIM {
ARRTO[I] = ARRFRM[I];
}
}