1 /* Copyright 2013-2019 CS Systèmes d'Information
2 * Licensed to CS Systèmes d'Information (CS) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * CS licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. 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 package org.orekit.rugged.utils;
18
19 /** Utility class for grids creation.
20 * @author Guylaine Prat
21 * @since 2.1
22 */
23 public final class GridCreation {
24
25 /** Private constructor for utility class.
26 * Suppress default constructor for non instantiability ...
27 */
28 private GridCreation() {
29 super();
30 }
31
32 /** Create a linear grid between min and max value for a number n of points.
33 * TBN: no checks are performed here. Must be done by the calling method.
34 * @param min value for grid[0]
35 * @param max value for grid[n-1]
36 * @param n number of points
37 * @return the linear grid
38 */
39 public static double[] createLinearGrid(final double min, final double max, final int n) {
40
41 final double[] grid = new double[n];
42 for (int i = 0; i < n; ++i) {
43 grid[i] = ((n - 1 - i) * min + i * max) / (n - 1);
44 }
45 return grid;
46 }
47 }