You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: GB_spec_random.m
    path of file: ./repos/SuiteSparse/GraphBLAS/Test
    
    the code of the file until where you have to start completion: function A = GB_spec_random (m, n, d, scale, type, is_csc,is_hyper,hyper_switch)
%GB_SPEC_RANDOM generate random matrix
%
% A = GB_spec_random (m, n, d, scale, type, is_csc, is_hyper, hyper_switch)
%
% m,n,d: parameters to sprandn (m,n,d)
% m,n: defaults to 4
% d: defaults to 0.5.  If d = inf, A is fully populated.
% scale: a double scalar, defaults to 1.0
% type: a string; defaults to 'double'
% is_csc: true for CSC, false for CSR; defaults to true
% is_hyper: false for non-hypersparse, true for hypersparse, default false

% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2023, All Rights Reserved.

    
function A = GB_spec_random (m, n, d, scale, type, is_csc,is_hyper,hyper_switch)
%GB_SPEC_RANDOM generate random matrix
%
% A = GB_spec_random (m, n, d, scale, type, is_csc, is_hyper, hyper_switch)
%
% m,n,d: parameters to sprandn (m,n,d)
% m,n: defaults to 4
% d: defaults to 0.5.  If d = inf, A is fully populated.
% scale: a double scalar, defaults to 1.0
% type: a string; defaults to 'double'
% is_csc: true for CSC, false for CSR; defaults to true
% is_hyper: false for non-hypersparse, true for hypersparse, default false

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

if (nargin < 1)
    m = 4 ;
end