Basic operations

Define two int64 arrays

```a = int64(1:10)'
b = int64(-5:4)'
```
```a =

1
2
3
4
5
6
7
8
9
10

b =

-5
-4
-3
-2
-1
0
1
2
3
4

```

```a+b
```
```ans =

-4
-2
0
2
4
6
8
10
12
14

```

Every operation also works with scalar values

```a+1
```
```ans =

2
3
4
5
6
7
8
9
10
11

```

Test subtraction

```a-b
```
```ans =

6
6
6
6
6
6
6
6
6
6

```

Test multiplication

```a.*b
```
```ans =

-5
-8
-9
-8
-5
0
7
16
27
40

```

Test division and absolute value

```a./ (abs(b) + 1)
```
```ans =

0
0
0
1
2
6
3
2
2
2

```

Powers

```int64(2)^50
```
```ans =

1125899906842624

```

Test modulo

```mod(a,2)
```
```ans =

1
2
3
4
5
6
7
8
9
10

```

Bitshift

```bitshift(int64(1),40)
```
```ans =

1099511627776

```

Matrix multiplication

Matrix multiplication is also supported

```A = int64(100*rand(5))
B = int64(100*rand(5,3))

C = A*B
Cdouble = double(A)*double(B)
```
```A =

91                   34                    5                   85                   69
49                   42                   22                   83                   65
79                   41                   79                    8                   27
91                   96                   18                   48                    0
86                   41                    5                   35                   45

B =

94                   73                   21
30                   38                   17
41                   55                   86
14                    1                   46
56                    3                   96

C =

14833                 8502                13453
11570                 6661                13693
13519                11759                12110
12844                11329                 7299
12529                 8281                 8863

Cdouble =

14833        8502       13453
11570        6661       13693
13519       11759       12110
12844       11329        7299
12529        8281        8863

```

Timing

Generate large matrices

```A = int64(100*rand(400));
B = int64(100*rand(400));
```

Time the multiplication using int64

```tic
C = A*B;
toc
```
```Elapsed time is 0.343107 seconds.
```

```A = double(A);
```Elapsed time is 0.017866 seconds.