MCPcopy Index your code
hub / github.com/bcgit/bc-java / Nat256

Class Nat256

core/src/main/java/org/bouncycastle/math/raw/Nat256.java:7–1580  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5import org.bouncycastle.util.Pack;
6
7public abstract class Nat256
8{
9 private static final long M = 0xFFFFFFFFL;
10
11 public static int add(int[] x, int[] y, int[] z)
12 {
13 long c = 0;
14 c += (x[0] & M) + (y[0] & M);
15 z[0] = (int)c;
16 c >>>= 32;
17 c += (x[1] & M) + (y[1] & M);
18 z[1] = (int)c;
19 c >>>= 32;
20 c += (x[2] & M) + (y[2] & M);
21 z[2] = (int)c;
22 c >>>= 32;
23 c += (x[3] & M) + (y[3] & M);
24 z[3] = (int)c;
25 c >>>= 32;
26 c += (x[4] & M) + (y[4] & M);
27 z[4] = (int)c;
28 c >>>= 32;
29 c += (x[5] & M) + (y[5] & M);
30 z[5] = (int)c;
31 c >>>= 32;
32 c += (x[6] & M) + (y[6] & M);
33 z[6] = (int)c;
34 c >>>= 32;
35 c += (x[7] & M) + (y[7] & M);
36 z[7] = (int)c;
37 c >>>= 32;
38 return (int)c;
39 }
40
41 public static int add(int[] x, int xOff, int[] y, int yOff, int[] z, int zOff)
42 {
43 long c = 0;
44 c += (x[xOff + 0] & M) + (y[yOff + 0] & M);
45 z[zOff + 0] = (int)c;
46 c >>>= 32;
47 c += (x[xOff + 1] & M) + (y[yOff + 1] & M);
48 z[zOff + 1] = (int)c;
49 c >>>= 32;
50 c += (x[xOff + 2] & M) + (y[yOff + 2] & M);
51 z[zOff + 2] = (int)c;
52 c >>>= 32;
53 c += (x[xOff + 3] & M) + (y[yOff + 3] & M);
54 z[zOff + 3] = (int)c;
55 c >>>= 32;
56 c += (x[xOff + 4] & M) + (y[yOff + 4] & M);
57 z[zOff + 4] = (int)c;
58 c >>>= 32;
59 c += (x[xOff + 5] & M) + (y[yOff + 5] & M);
60 z[zOff + 5] = (int)c;
61 c >>>= 32;
62 c += (x[xOff + 6] & M) + (y[yOff + 6] & M);
63 z[zOff + 6] = (int)c;
64 c >>>= 32;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected