-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmatrix.cpp
More file actions
61 lines (46 loc) · 1.33 KB
/
matrix.cpp
File metadata and controls
61 lines (46 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "matrix.h"
#include <cstdlib>
#include <cstring>
namespace als{
array::array(int c):__col_num(c), __internal_data(NULL){}
array::array(int c, FLOAT *data):__col_num(c),
__internal_data(data){}
void array::create(){
__internal_data = new FLOAT[__col_num];
}
void array::destroy(){
if(NULL != __internal_data){
delete []__internal_data;
}
__internal_data = NULL;
}
array &array::operator=(array &row){
__col_num = row.__col_num;
memcpy(__internal_data, row.__internal_data, sizeof(FLOAT) * __col_num);
return *this;
}
FLOAT &array::operator[](int i){
return __internal_data[i];
}
matrix::matrix(int r, int c):__row_num(r),
__col_num(c),
__internal_data(NULL){}
matrix::matrix(int r, int c, FLOAT *data):__row_num(r),
__col_num(c),
__internal_data(data) {}
array matrix::operator[](int r){
array arr(__col_num, __internal_data + r * __col_num);
return arr;
}
void matrix::create(){
__internal_data = new FLOAT[__row_num * __col_num];
}
void matrix::destroy(){
if(NULL != __internal_data){
delete []__internal_data;
__internal_data = NULL;
}
}
void matrix::product(const matrix &rsh){
}
}