Java Array Multiply multiplyP(int[] x)

Here you can find the source of multiplyP(int[] x)

Description

multiply P

License

Open Source License

Declaration

public static void multiplyP(int[] x) 

Method Source Code

//package com.java2s;

public class Main {
    private static final int E1 = 0xe1000000;

    public static void multiplyP(int[] x) {
        int m = shiftRight(x) >> 8;
        x[0] ^= (m & E1);//  www.  j  a v a 2  s .c  o  m
    }

    public static void multiplyP(int[] x, int[] z) {
        int m = shiftRight(x, z) >> 8;
        z[0] ^= (m & E1);
    }

    static int shiftRight(int[] x) {
        //        int c = 0;
        //        for (int i = 0; i < 4; ++i)
        //        {
        //            int b = x[i];
        //            x[i] = (b >>> 1) | c;
        //            c = b << 31;
        //        }
        //        return c;

        int b = x[0];
        x[0] = b >>> 1;
        int c = b << 31;
        b = x[1];
        x[1] = (b >>> 1) | c;
        c = b << 31;
        b = x[2];
        x[2] = (b >>> 1) | c;
        c = b << 31;
        b = x[3];
        x[3] = (b >>> 1) | c;
        return b << 31;
    }

    static int shiftRight(int[] x, int[] z) {
        //      int c = 0;
        //      for (int i = 0; i < 4; ++i)
        //      {
        //          int b = x[i];
        //          z[i] = (b >>> 1) | c;
        //          c = b << 31;
        //      }
        //      return c;

        int b = x[0];
        z[0] = b >>> 1;
        int c = b << 31;
        b = x[1];
        z[1] = (b >>> 1) | c;
        c = b << 31;
        b = x[2];
        z[2] = (b >>> 1) | c;
        c = b << 31;
        b = x[3];
        z[3] = (b >>> 1) | c;
        return b << 31;
    }

    static long shiftRight(long[] x) {
        long b = x[0];
        x[0] = b >>> 1;
        long c = b << 63;
        b = x[1];
        x[1] = (b >>> 1) | c;
        return b << 63;
    }

    static long shiftRight(long[] x, long[] z) {
        long b = x[0];
        z[0] = b >>> 1;
        long c = b << 63;
        b = x[1];
        z[1] = (b >>> 1) | c;
        return b << 63;
    }
}

Related

  1. multiplyHarmonics(float[] powerSpectrumInOut, int nHarmonics)
  2. multiplyInPlace(double[] img, double val)
  3. multiplyInto(double[] out, double[] a, double[] b)
  4. multiplyP(int[] x)
  5. multiplyP(int[] x)
  6. multiplyP(int[] x)
  7. multiplyP8(int[] x)
  8. multiplyP8(int[] x)
  9. MultiplyPointSimilarityInhomogenous(double[] xp, int idx, double[] H, double[] x, int idx2)