Advertisement
Guest User

Untitled

a guest
May 21st, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. class Matrix{
  2. constructor(width, height, element = (x, y) => undefined) {
  3.  
  4. this.width = width;
  5. this.height = height;
  6. this.content = [];
  7.  
  8. for(let y = 0; y < height; y++){
  9. for(let x = 0; x < width; x++){
  10. this.content[y * width + x ] = element(x,y);
  11. }
  12. }
  13. }
  14.  
  15. get(x,y) {
  16. return this.content[y * this.width + x];
  17. }
  18. set(x, y, value){
  19. this.content[y * this.width + x] = value;
  20. }
  21. }
  22.  
  23. class SymmetricMatrix extends Matrix {
  24. constructor(size, element = (x,y) => undefined) {
  25. super(size, size, (x,y) => {
  26. if (x < y) return element(y,x);
  27. else return element(x,y);
  28. });
  29. }
  30.  
  31. set(x, y, value) {
  32. super.set(x, y, value);
  33. if (x != y) {
  34. super.set(y, x, value);
  35. }
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement