Here you can find the source of shift(double[] a, int shift, double insert)
Parameter | Description |
---|---|
a | a parameter |
shift | a parameter |
insert | a parameter |
public static double shift(double[] a, int shift, double insert)
//package com.java2s; /**//from w ww . j av a 2 s. c om * * Copyright 2017 Florian Erhard * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import java.util.Arrays; public class Main { /** * each entry is moved from index to index+shift * @param a * @param shift * @param insert */ public static double shift(double[] a, int shift, double insert) { if (shift > 0) { double re = sum(a, a.length - shift, a.length); for (int i = a.length - 1; i >= shift; i--) a[i] = a[i - shift]; Arrays.fill(a, 0, shift, insert); return re; } else { double re = sum(a, 0, -shift); for (int i = 0; i < a.length + shift; i++) a[i] = a[i - shift]; Arrays.fill(a, a.length + shift, a.length, insert); return re; } } public static int sum(int[] a) { int re = 0; for (int i : a) re += i; return re; } public static int sum(int[] a, int start, int end) { int re = 0; for (int i = start; i < end; i++) re += a[i]; return re; } public static double sum(double[][] m) { double re = 0; for (double[] a : m) for (double i : a) re += i; return re; } public static long sum(long[] a) { long re = 0; for (long i : a) re += i; return re; } public static float sum(float[] a) { float re = 0; for (float i : a) re += i; return re; } public static float sum(float[] a, int start, int end) { float re = 0; for (int i = start; i < end; i++) re += a[i]; return re; } /** * Computes the sum of the given array. * @param array the array * @return the sum */ public static double sum(double[] array) { if (array == null) return Double.NaN; double re = 0; for (double i : array) re += i; return re; } public static double sum(double[] array, int start, int end) { if (array == null) return Double.NaN; double re = 0; for (int i = start; i < end; i++) re += array[i]; return re; } }