File: test55b.m

package info (click to toggle)
suitesparse-graphblas 7.4.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 67,112 kB
  • sloc: ansic: 1,072,243; cpp: 8,081; sh: 512; makefile: 506; asm: 369; python: 125; awk: 10
file content (74 lines) | stat: -rw-r--r-- 1,233 bytes parent folder | download | duplicates (3)
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
62
63
64
65
66
67
68
69
70
71
72
73
74
function test55b
%TEST55B test GrB_assign, illustrate duplicate indices

% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2022, All Rights Reserved.
% SPDX-License-Identifier: Apache-2.0

A = magic (5)

A ([2 2], [4 5])

B = [1000 800 ; 60000 2000 ]
% B (1,1) = nan

i = [2 2]
j = [4 5]

C1 = A ;
C1 ([2 2], [4 5]) = A ([2 2], [4 5]) + B

a = sparse (A)
b = sparse (B)
i0 = uint64 (i-1)
j0 = uint64 (j-1)

C2 = GB_mex_assign (a, [], 'plus', b, i0, j0)

C1
full (C2.matrix)

c = sparse ([ 1 2 3 4 5 ])
i = uint64 (0)
j = uint64 ([ 0 0 4 ]) 
a = sparse ([ 10 100 1000]) 
e = GB_mex_assign (c, [], 'plus', a, i, j)
e = full (e.matrix)

ac = accumarray (double (j+1)', full(a)')'
e2 = c ;
e2 (i+1, :) = e2 (i+1, :) + ac
e2 = full (e2)

e2 = c ;
e2 (i+1,j+1) = e2 (i+1,j+1) + a
e2 = full (e2)

a = sparse ([ 1000 1000 1000]) 
e = GB_mex_assign (c, [], 'plus', a, i, j)
e = full (e.matrix)

e2 = c ;
e2 (i+1,j+1) = e2 (i+1,j+1) + a
e2 = full (e2)


e2 = c ;
e2 (i+1,j+1) = e2 (i+1,j+1) + 1000
e2 = full (e2)


a = sparse ([ 1000 1000 1000]) 
e = GB_mex_assign (c, [], '', a, i, j)
e = full (e.matrix)

e2 = c ;
e2 (i+1,j+1) = a
e2 = full (e2)

e2 = c ;
e2 (i+1,j+1) = 1000 
e2 = full (e2)

fprintf ('\ntest55b: all tests passed\n') ;