1function gbtest36 2%GBTEST36 test abs, sign 3 4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 5% SPDX-License-Identifier: GPL-3.0-or-later 6 7rng ('default') ; 8 9types = gbtest_types ; 10for k = 1:length (types) 11 type = types {k} ; 12 13 A = floor (100 * (rand (3, 3) - 0.5)) ; 14 A (1,1) = 0 ; 15 16 if (type (1) == 'u') 17 A = max (A, 0) ; 18 end 19 G = GrB (A, type) ; 20 B = gbtest_cast (A, type) ; 21 assert (gbtest_eq (B, G)) 22 23 H = abs (G) ; 24 C = abs (B) ; 25 assert (gbtest_eq (double (C), double (H))) 26 27 H = sign (G) ; 28 if (isequal (type, 'logical')) 29 C = double (B) ; 30 else 31 C = sign (B) ; 32 end 33 assert (gbtest_err (C, H) == 0) 34 35end 36 37fprintf ('gbtest36: all tests passed\n') ; 38 39