summaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader/ec/EC_Data.java
diff options
context:
space:
mode:
authorJ08nY2017-05-01 22:30:34 +0200
committerJ08nY2017-05-01 22:30:34 +0200
commitcc4e981402369ce14150d3949e0b02905865c37f (patch)
tree00299d22cc6e69f41d736600bd11c88e528316d2 /src/cz/crcs/ectester/reader/ec/EC_Data.java
parent24bac3f0773950a76346c0d7bf1131c1e8c8df99 (diff)
downloadECTester-cc4e981402369ce14150d3949e0b02905865c37f.tar.gz
ECTester-cc4e981402369ce14150d3949e0b02905865c37f.tar.zst
ECTester-cc4e981402369ce14150d3949e0b02905865c37f.zip
Reworked invalid curve testing, added generated anomalous curves
Diffstat (limited to 'src/cz/crcs/ectester/reader/ec/EC_Data.java')
-rw-r--r--src/cz/crcs/ectester/reader/ec/EC_Data.java36
1 files changed, 31 insertions, 5 deletions
diff --git a/src/cz/crcs/ectester/reader/ec/EC_Data.java b/src/cz/crcs/ectester/reader/ec/EC_Data.java
index 5197665..9dcbbe0 100644
--- a/src/cz/crcs/ectester/reader/ec/EC_Data.java
+++ b/src/cz/crcs/ectester/reader/ec/EC_Data.java
@@ -3,16 +3,13 @@ package cz.crcs.ectester.reader.ec;
import cz.crcs.ectester.reader.Util;
import java.io.*;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Scanner;
+import java.util.*;
import java.util.regex.Pattern;
/**
* @author Jan Jancar johny@neuromancer.sk
*/
-public class EC_Data {
+public abstract class EC_Data {
String id;
int count;
byte[][] data;
@@ -167,4 +164,33 @@ public class EC_Data {
public String toString() {
return String.join(",", expand());
}
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof EC_Data) {
+ EC_Data other = (EC_Data) obj;
+ if (this.id != null || other.id != null) {
+ return Objects.equals(this.id, other.id);
+ }
+
+ if (this.count != other.count)
+ return false;
+ for (int i = 0; i < this.count; ++i) {
+ if (!Arrays.equals(this.data[i], other.data[i])) {
+ return false;
+ }
+ }
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public int hashCode() {
+ if (this.id != null) {
+ return this.id.hashCode();
+ }
+ return Arrays.deepHashCode(this.data);
+ }
}