source: branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/TriangleMatrix.java @ 1568

Last change on this file since 1568 was 1568, checked in by rkrimmel, 10 years ago

Building distance matrix between sequences

File size: 995 bytes
Line 
1package de.ugoe.cs.autoquest.tasktrees.alignment.substitution;
2
3public class TriangleMatrix {
4       
5        private double[] matrix;
6        private int size;
7       
8        public TriangleMatrix(int size) {
9                this.size = size;
10                matrix = new double [size*(size+1)/2];
11        }
12       
13        public double get(int first, int second) {
14                int row = Math.min(first, second);
15                int col = Math.max(first, second);
16                return matrix[row*size-(row*(row+1)/2 - (size-col))];
17               
18        }
19       
20        public void set(int first, int second, double value) {
21                int row = Math.min(first, second);
22                int col = Math.max(first, second);
23                matrix[row*size-(row*(row+1)/2 - (size-col))] = value;
24        }
25
26       
27       
28       
29        //Note: String just looks good for small. testing matrices
30        public String toString() {
31                String result = "";
32                for (int i = 0; i < size; i++) {
33                        for(int j = 0; j< size; j++) {
34                                if(i<j) {
35                                        result = result + String.format("%+4.1f",this.get(i,j));
36                                }
37                                else {
38                                        result = result + ("      ");
39                                }
40                        }
41                        result = result + "\n";
42                }
43                return result;
44        }
45}
Note: See TracBrowser for help on using the repository browser.