Java Double Array Create toDoubleArray(byte[] byteArray)

Here you can find the source of toDoubleArray(byte[] byteArray)

Description

to Double Array

License

Open Source License

Declaration

public static double[] toDoubleArray(byte[] byteArray) 

Method Source Code

//package com.java2s;
/**// w  w  w . ja va 2s  . c  om
 * Copyright 2007 DFKI GmbH.
 * All Rights Reserved.  Use is subject to license terms.
 *
 * This file is part of MARY TTS.
 *
 * MARY TTS is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, version 3 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

public class Main {
    public static double[] toDoubleArray(byte[] byteArray) {
        if (byteArray == null)
            return null;

        if (byteArray.length % 8 != 0)
            return null;

        double[] dbls = new double[byteArray.length / 8];

        for (int i = 0; i < dbls.length; i++) {
            dbls[i] = toDouble(new byte[] { byteArray[(i * 8)], byteArray[(i * 8) + 1], byteArray[(i * 8) + 2],
                    byteArray[(i * 8) + 3], byteArray[(i * 8) + 4], byteArray[(i * 8) + 5], byteArray[(i * 8) + 6],
                    byteArray[(i * 8) + 7], });
        }

        return dbls;
    }

    public static double toDouble(byte[] byteArray) {
        if (byteArray == null || byteArray.length != 8)
            return 0x0;

        return Double.longBitsToDouble(toLong(byteArray));
    }

    public static long toLong(byte[] byteArray) {
        if (byteArray == null || byteArray.length != 8)
            return 0x0;

        return (long) ((long) (0xff & byteArray[0]) << 56 | (long) (0xff & byteArray[1]) << 48
                | (long) (0xff & byteArray[2]) << 40 | (long) (0xff & byteArray[3]) << 32
                | (long) (0xff & byteArray[4]) << 24 | (long) (0xff & byteArray[5]) << 16
                | (long) (0xff & byteArray[6]) << 8 | (long) (0xff & byteArray[7]) << 0);
    }
}

Related

  1. doubleArrayFromString(String record)
  2. doubleArraySize(byte[] array)
  3. toDoubleA(byte[] data)
  4. toDoubleArr(short[] arr)
  5. toDoubleArray(boolean[] array)
  6. toDoubleArray(byte[] data)
  7. toDoubleArray(Double[] data)
  8. toDoubleArray(final byte[] array)
  9. toDoubleArray(final long[] array)