Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package testproject8;
- import java.math.*;
- import java.util.*;
- /**
- *
- * @author Paul O'Brien Hunter
- */
- public class Testproject8
- {
- BigDecimal number_of_1_s;
- BigDecimal number_of_sqrt_3_s;
- int totalAccuracyNeeded;
- BigDecimal xValue;
- BigDecimal yValue;
- BigDecimal CENTER_POINT_VALUE[] = new BigDecimal[2];
- BigDecimal CENTER_POINT_VALUE_COUNT[] = new BigDecimal[2];
- BigDecimal finalVirtualSqrt3[] = new BigDecimal[1];
- BigDecimal nineToZeroInclusive[] = new BigDecimal[10];
- BigDecimal newVirtualSqrt3[] = new BigDecimal[1];
- int j = 0;
- {
- for(int i = 9; i >= 0; i--)
- {
- nineToZeroInclusive[j]=new BigDecimal(i);
- j++;
- }
- }
- public BigDecimal getVirtualSqrt3MoreAccurate(BigDecimal virtualSqrt3, int desiredScale)
- {
- if ((desiredScale + 7) - virtualSqrt3.scale() > 0)
- {
- for (BigDecimal nineToZero : nineToZeroInclusive)
- {
- if (virtualSqrt3.add(nineToZero.movePointLeft(virtualSqrt3.scale
- () + 1)).pow(2).compareTo(new BigDecimal("3")) > 0)
- {
- continue;
- }
- else
- {
- newVirtualSqrt3[0] = virtualSqrt3.add(nineToZero.movePointLeft
- (virtualSqrt3.scale() + 1));
- getVirtualSqrt3MoreAccurate(newVirtualSqrt3[0], desiredScale);
- if ((desiredScale + 7) - newVirtualSqrt3[0].scale() == 0)
- {
- finalVirtualSqrt3[0] = newVirtualSqrt3[0];
- }
- }
- break;
- }
- }
- return finalVirtualSqrt3[0];
- }
- public Testproject8(BigDecimal number_of_1_s, BigDecimal number_of_sqrt_3_s){
- this.number_of_1_s = number_of_1_s;
- this.number_of_sqrt_3_s = number_of_sqrt_3_s;
- this.totalAccuracyNeeded = (number_of_sqrt_3_s.precision() - 1) + 51;
- this.xValue = number_of_1_s;
- if (number_of_sqrt_3_s.compareTo(new BigDecimal("0")) == 0)
- {
- this.yValue = number_of_sqrt_3_s;
- }
- else
- {
- this.yValue = number_of_sqrt_3_s.multiply(getVirtualSqrt3MoreAccurate
- (new BigDecimal("1"), totalAccuracyNeeded + (number_of_sqrt_3_s.precision
- () - 1)), new MathContext(0, RoundingMode.UNNECESSARY)).stripTrailingZeros();
- }
- CENTER_POINT_VALUE[0] = xValue;
- CENTER_POINT_VALUE[1] = yValue;
- CENTER_POINT_VALUE_COUNT[0] = number_of_1_s;
- CENTER_POINT_VALUE_COUNT[1] = number_of_sqrt_3_s;
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- //Testproject8 example = new Testproject8(new BigDecimal("2"), new BigDecimal("2"));
- //System.out.println(example.CENTER_POINT_VALUE_COUNT[0] + ", " + example.CENTER_POINT_VALUE_COUNT[1]);
- // TODO code application logic here
- Map<String, List<String>> VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES = new HashMap<>();
- List<String> ZERO_TWO = new LinkedList<>();
- ZERO_TWO.add("1");
- ZERO_TWO.add("1");
- ZERO_TWO.add("-1");
- ZERO_TWO.add("1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("0,2", ZERO_TWO);
- List<String> ONE_ONE = new LinkedList<>();
- ONE_ONE.add("2");
- ONE_ONE.add("0");
- ONE_ONE.add("-1");
- ONE_ONE.add("1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("1,1", ONE_ONE);
- List<String> TWO_TWO = new LinkedList<>();
- TWO_TWO.add("1");
- TWO_TWO.add("1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("2,2", TWO_TWO);
- List<String> THREE_ONE = new LinkedList<>();
- THREE_ONE.add("1");
- THREE_ONE.add("1");
- THREE_ONE.add("2");
- THREE_ONE.add("0");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("3,1", THREE_ONE);
- List<String> TWO_ZERO = new LinkedList<>();
- TWO_ZERO.add("1");
- TWO_ZERO.add("1");
- TWO_ZERO.add("1");
- TWO_ZERO.add("-1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("2,0", TWO_ZERO);
- List<String> FOUR_ZERO = new LinkedList<>();
- FOUR_ZERO.add("2");
- FOUR_ZERO.add("0");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("4,0", FOUR_ZERO);
- List<String> THREE_NEGATIVE_ONE = new LinkedList<>();
- THREE_NEGATIVE_ONE.add("2");
- THREE_NEGATIVE_ONE.add("0");
- THREE_NEGATIVE_ONE.add("1");
- THREE_NEGATIVE_ONE.add("-1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("3,-1", THREE_NEGATIVE_ONE);
- List<String> ONE_NEGATIVE_ONE = new LinkedList<>();
- ONE_NEGATIVE_ONE.add("2");
- ONE_NEGATIVE_ONE.add("0");
- ONE_NEGATIVE_ONE.add("-1");
- ONE_NEGATIVE_ONE.add("-1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("1,-1", ONE_NEGATIVE_ONE);
- List<String> TWO_NEGATIVE_TWO = new LinkedList<>();
- TWO_NEGATIVE_TWO.add("1");
- TWO_NEGATIVE_TWO.add("-1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("2,-2", TWO_NEGATIVE_TWO);
- List<String> ZERO_NEGATIVE_TWO = new LinkedList<>();
- ZERO_NEGATIVE_TWO.add("1");
- ZERO_NEGATIVE_TWO.add("-1");
- ZERO_NEGATIVE_TWO.add("-1");
- ZERO_NEGATIVE_TWO.add("-1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("0,-2", ZERO_NEGATIVE_TWO);
- List<String> NEGATIVE_ONE_NEGATIVE_ONE = new LinkedList<>();
- NEGATIVE_ONE_NEGATIVE_ONE.add("1");
- NEGATIVE_ONE_NEGATIVE_ONE.add("-1");
- NEGATIVE_ONE_NEGATIVE_ONE.add("-2");
- NEGATIVE_ONE_NEGATIVE_ONE.add("0");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("-1,-1", NEGATIVE_ONE_NEGATIVE_ONE);
- List<String> NEGATIVE_TWO_NEGATIVE_TWO = new LinkedList<>();
- NEGATIVE_TWO_NEGATIVE_TWO.add("-1");
- NEGATIVE_TWO_NEGATIVE_TWO.add("-1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("-2,-2", NEGATIVE_TWO_NEGATIVE_TWO);
- List<String> NEGATIVE_THREE_NEGATIVE_ONE = new LinkedList<>();
- NEGATIVE_THREE_NEGATIVE_ONE.add("-1");
- NEGATIVE_THREE_NEGATIVE_ONE.add("-1");
- NEGATIVE_THREE_NEGATIVE_ONE.add("-2");
- NEGATIVE_THREE_NEGATIVE_ONE.add("0");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("-3,-1", NEGATIVE_THREE_NEGATIVE_ONE);
- List<String> NEGATIVE_TWO_ZERO = new LinkedList<>();
- NEGATIVE_TWO_ZERO.add("-1");
- NEGATIVE_TWO_ZERO.add("-1");
- NEGATIVE_TWO_ZERO.add("-1");
- NEGATIVE_TWO_ZERO.add("1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("-2,0", NEGATIVE_TWO_ZERO);
- List<String> NEGATIVE_FOUR_ZERO = new LinkedList<>();
- NEGATIVE_FOUR_ZERO.add("-2");
- NEGATIVE_FOUR_ZERO.add("0");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("-4,0", NEGATIVE_FOUR_ZERO);
- List<String> NEGATIVE_THREE_ONE = new LinkedList<>();
- NEGATIVE_THREE_ONE.add("-2");
- NEGATIVE_THREE_ONE.add("0");
- NEGATIVE_THREE_ONE.add("-1");
- NEGATIVE_THREE_ONE.add("1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("-3,1", NEGATIVE_THREE_ONE);
- List<String> NEGATIVE_ONE_ONE = new LinkedList<>();
- NEGATIVE_ONE_ONE.add("1");
- NEGATIVE_ONE_ONE.add("1");
- NEGATIVE_ONE_ONE.add("-2");
- NEGATIVE_ONE_ONE.add("0");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("-1,1", NEGATIVE_ONE_ONE);
- List<String> NEGATIVE_TWO_TWO = new LinkedList<>();
- NEGATIVE_TWO_TWO.add("-1");
- NEGATIVE_TWO_TWO.add("1");
- VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.put("-2,2", NEGATIVE_TWO_TWO);
- //System.out.println(VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.entrySet());
- List<Testproject8> Circles_Last_Created = new LinkedList<>();
- Circles_Last_Created.add(new Testproject8(new BigDecimal("0"), new BigDecimal("0")));
- Circles_Last_Created.add(new Testproject8(new BigDecimal("2"), new BigDecimal("0")));
- List<Testproject8> Points_Where_Circles_Last_Created_Intersect = new LinkedList<>();
- ListIterator Circles_Last_Created_Iterator = Circles_Last_Created.listIterator();
- while (Circles_Last_Created_Iterator.hasNext())
- {
- Testproject8 compareTo = (Testproject8) Circles_Last_Created_Iterator.next();
- ListIterator Circles_Last_Created_Iterator_2 = Circles_Last_Created.listIterator();
- while (Circles_Last_Created_Iterator_2.hasNext())
- {
- Testproject8 comparedAt = (Testproject8) Circles_Last_Created_Iterator_2.next();
- if (compareTo.CENTER_POINT_VALUE_COUNT[0] == comparedAt.CENTER_POINT_VALUE_COUNT[0]
- && compareTo.CENTER_POINT_VALUE_COUNT[1] == comparedAt.CENTER_POINT_VALUE_COUNT[1])
- {
- continue;
- }
- else
- {
- //System.out.println(compareTo.CENTER_POINT_VALUE_COUNT[0] + ", " + compareTo.CENTER_POINT_VALUE_COUNT[1]
- //+ " | " + comparedAt.CENTER_POINT_VALUE_COUNT[0] + ", " + comparedAt.CENTER_POINT_VALUE_COUNT[1]);
- BigDecimal[] CENTER_POINT_VALUE_COUNT_DIFFERENCE = new BigDecimal[2];
- CENTER_POINT_VALUE_COUNT_DIFFERENCE[0] = new BigDecimal("" +
- comparedAt.CENTER_POINT_VALUE_COUNT[0].subtract(compareTo.CENTER_POINT_VALUE_COUNT[0]));
- CENTER_POINT_VALUE_COUNT_DIFFERENCE[1] = new BigDecimal("" +
- comparedAt.CENTER_POINT_VALUE_COUNT[1].subtract(compareTo.CENTER_POINT_VALUE_COUNT[1]));
- String POTENTIALLY_VALID_VALUE_COUNT_DIFFERENCE = "" + CENTER_POINT_VALUE_COUNT_DIFFERENCE[0] + ","
- + CENTER_POINT_VALUE_COUNT_DIFFERENCE[1];
- //System.out.println(CENTER_POINT_VALUE_COUNT_DIFFERENCE[0] + ", " + CENTER_POINT_VALUE_COUNT_DIFFERENCE[1]);
- //System.out.println(POTENTIALLY_VALID_VALUE_COUNT_DIFFERENCE);
- //System.out.println(VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.containsKey(POTENTIALLY_VALID_VALUE_COUNT_DIFFERENCE));
- if (VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.containsKey
- (POTENTIALLY_VALID_VALUE_COUNT_DIFFERENCE))
- {
- List<String> VALUE_COUNT_TRANSLATION = VALID_CENTER_POINT_VALUE_COUNT_DIFFERENCES.get
- (POTENTIALLY_VALID_VALUE_COUNT_DIFFERENCE);
- //System.out.println(VALUE_COUNT_TRANSLATION);
- //System.out.println(VALUE_COUNT_TRANSLATION.get(0) + " | " + VALUE_COUNT_TRANSLATION.get(1)
- //+ " | " + VALUE_COUNT_TRANSLATION.get(2) + " | " + VALUE_COUNT_TRANSLATION.get(3));
- //System.out.println(VALUE_COUNT_TRANSLATION.size());
- if (VALUE_COUNT_TRANSLATION.size() == 4)
- {
- BigDecimal[] VALUE_TO_BE_ADDED_TO_COMPARE_TO = new BigDecimal[4];
- BigDecimal PAIR_ONE_ONE = new BigDecimal("" + CENTER_POINT_VALUE_COUNT_DIFFERENCE[0]).subtract
- (new BigDecimal("" + VALUE_COUNT_TRANSLATION.get(0)));
- BigDecimal PAIR_ONE_TWO = new BigDecimal("" + CENTER_POINT_VALUE_COUNT_DIFFERENCE[1]).subtract
- (new BigDecimal("" + VALUE_COUNT_TRANSLATION.get(1)));
- BigDecimal PAIR_TWO_ONE = new BigDecimal("" + CENTER_POINT_VALUE_COUNT_DIFFERENCE[0]).subtract
- (new BigDecimal("" + VALUE_COUNT_TRANSLATION.get(2)));
- BigDecimal PAIR_TWO_TWO = new BigDecimal("" + CENTER_POINT_VALUE_COUNT_DIFFERENCE[1]).subtract
- (new BigDecimal("" + VALUE_COUNT_TRANSLATION.get(3)));
- //System.out.println(PAIR_ONE_ONE + " | " + PAIR_ONE_TWO + " | " + PAIR_TWO_ONE + " | " + PAIR_TWO_TWO);
- VALUE_TO_BE_ADDED_TO_COMPARE_TO[0] = PAIR_ONE_ONE;
- VALUE_TO_BE_ADDED_TO_COMPARE_TO[1] = PAIR_ONE_TWO;
- VALUE_TO_BE_ADDED_TO_COMPARE_TO[2] = PAIR_TWO_ONE;
- VALUE_TO_BE_ADDED_TO_COMPARE_TO[3] = PAIR_TWO_TWO;
- //System.out.println(VALUE_TO_BE_ADDED_TO_COMPARE_TO[0] + " | " + VALUE_TO_BE_ADDED_TO_COMPARE_TO[1] + " | "
- //+ VALUE_TO_BE_ADDED_TO_COMPARE_TO[2] + " | " + VALUE_TO_BE_ADDED_TO_COMPARE_TO[3]);
- BigDecimal ONE = compareTo.CENTER_POINT_VALUE_COUNT[0].add
- (VALUE_TO_BE_ADDED_TO_COMPARE_TO[0]);
- BigDecimal TWO = compareTo.CENTER_POINT_VALUE_COUNT[1].add
- (VALUE_TO_BE_ADDED_TO_COMPARE_TO[1]);
- BigDecimal THREE = compareTo.CENTER_POINT_VALUE_COUNT[0].add
- (VALUE_TO_BE_ADDED_TO_COMPARE_TO[2]);
- BigDecimal FOUR = compareTo.CENTER_POINT_VALUE_COUNT[1].add
- (VALUE_TO_BE_ADDED_TO_COMPARE_TO[3]);
- //System.out.println(ONE + " | " + TWO + " | " + THREE + " | " + FOUR);
- Points_Where_Circles_Last_Created_Intersect.add
- (new Testproject8(ONE, TWO));
- Points_Where_Circles_Last_Created_Intersect.add
- (new Testproject8(THREE, FOUR));
- }
- else
- {
- BigDecimal[] VALUE_TO_BE_ADDED_TO_COMPARE_TO = new BigDecimal[2];
- BigDecimal PAIR_ONE_ONE = new BigDecimal("" + CENTER_POINT_VALUE_COUNT_DIFFERENCE[0]).subtract
- (new BigDecimal("" + VALUE_COUNT_TRANSLATION.get(0)));
- BigDecimal PAIR_ONE_TWO = new BigDecimal("" + CENTER_POINT_VALUE_COUNT_DIFFERENCE[1]).subtract
- (new BigDecimal("" + VALUE_COUNT_TRANSLATION.get(1)));
- VALUE_TO_BE_ADDED_TO_COMPARE_TO[0] = PAIR_ONE_ONE;
- VALUE_TO_BE_ADDED_TO_COMPARE_TO[1] = PAIR_ONE_TWO;
- BigDecimal ONE = compareTo.CENTER_POINT_VALUE_COUNT[0].add
- (VALUE_TO_BE_ADDED_TO_COMPARE_TO[0]);
- BigDecimal TWO = compareTo.CENTER_POINT_VALUE_COUNT[1].add
- (VALUE_TO_BE_ADDED_TO_COMPARE_TO[1]);
- Points_Where_Circles_Last_Created_Intersect.add
- (new Testproject8(ONE, TWO));
- }
- }
- else
- {
- continue;
- }
- }
- }
- }
- /*Do your magic here please /g/entlemen ie remove all duplicates from linkedlist
- Points_Where_Circles_Last_Created_Intersect*/
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement