mpu9250_i2c/
vector.rs

1/*****************************************************************************
2 *                                                                           *
3 *  Copyright 2018 Simon M. Werner                                           *
4 *                                                                           *
5 *  Licensed under the Apache License, Version 2.0 (the "License");          *
6 *  you may not use this file except in compliance with the License.         *
7 *  You may obtain a copy of the License at                                  *
8 *                                                                           *
9 *      http://www.apache.org/licenses/LICENSE-2.0                           *
10 *                                                                           *
11 *  Unless required by applicable law or agreed to in writing, software      *
12 *  distributed under the License is distributed on an "AS IS" BASIS,        *
13 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14 *  See the License for the specific language governing permissions and      *
15 *  limitations under the License.                                           *
16 *                                                                           *
17 *****************************************************************************/
18
19/// Simple vector structure
20pub struct Vector<T: Copy> {
21  /// x-axis
22  pub x: T,
23  /// y-axis
24  pub y: T,
25  /// z-axis
26  pub z: T,
27}
28
29impl<T: Copy> Vector<T> {
30  /// Make a copy of the vector.
31  pub fn copy(v: &Self) -> Vector<T> {
32    Vector {
33      x: v.x,
34      y: v.y,
35      z: v.z,
36    }
37  }
38}