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: codegen_unop_identity.m
    path of file: ./repos/SuiteSparse/GraphBLAS/Source
    
    the code of the file until where you have to start completion: function codegen_unop_identity

    
function codegen_unop_identity
%CODEGEN_UNOP_IDENTITY create identity functions
%
% The 'identity' operator is unique: it is used for typecasting, and all 13*13
% pairs of functions are generated.

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

unop = 'identity' ;
fprintf ('\n%-9s', unop) ;

types = { 
'bool',
'int8_t',
'int16_t',
'int32_t',
'int64_t',
'uint8_t',
'uint16_t',
'uint32_t',
'uint64_t',
'float',
'double',
'GxB_FC32_t',
'GxB_FC64_t' } ;

ntypes = length (types) ;

for code1 = 1:ntypes
    ctype = types {code1} ;
    for code2 = 1:ntypes
        atype = types {code2} ;

        % determine the casting function

        if (isequal (atype, ctype))

            % no typecasting
            func = 'xarg' ;

        elseif (isequal (atype, 'GxB_FC32_t'))

            % typecasting from GxB_FC32_t
            if (isequal (ctype, 'bool')) 
                % to bool from GxB_FC32_t 
                func = '(GB_crealf (xarg) != 0) || (GB_cimagf (xarg) != 0)' ;
            elseif (codegen_contains (ctype, 'int'))
                % to integer from GxB_FC32_t 
                func = sprintf ('GB_cast_to_%s ((double) GB_crealf (xarg))', ctype) ;
            elseif (isequal (ctype, 'float') || isequal (ctype, 'double')) 
                % to float or double from GxB_FC32_t 
                func = sprintf ('(%s) GB_crealf (xarg)', ctype) ;
            elseif (isequal (ctype, 'GxB_FC64_t'))
                % to GxB_FC64_t from GxB_FC32_t 
                func = 'GJ_CMPLX64 ((double) GB_crealf (xarg), (double) GB_cimagf (xarg))' ;
            end