experimental/utility/LAGraph_complex.c
GrB_Info LAGraph_Complex_finalize ( )
{

    //--------------------------------------------------------------------------
    // free the Complex plus-times semiring
    //--------------------------------------------------------------------------

    GrB_Semiring_free (&LAGraph_PLUS_TIMES_ComplexFP64) ;

    //--------------------------------------------------------------------------
    // free the Complex monoids
    //--------------------------------------------------------------------------

    GrB_Monoid_free (&LAGraph_PLUS_ComplexFP64_MONOID ) ;
    GrB_Monoid_free (&LAGraph_TIMES_ComplexFP64_MONOID) ;

    //--------------------------------------------------------------------------
    // free the Complex binary operators, CxC->C
    //--------------------------------------------------------------------------

    GrB_BinaryOp_free (&LAGraph_FIRST_ComplexFP64 ) ;
    GrB_BinaryOp_free (&LAGraph_SECOND_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_MIN_ComplexFP64   ) ;
    GrB_BinaryOp_free (&LAGraph_MAX_ComplexFP64   ) ;
    GrB_BinaryOp_free (&LAGraph_PLUS_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_MINUS_ComplexFP64 ) ;
    GrB_BinaryOp_free (&LAGraph_RMINUS_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_TIMES_ComplexFP64 ) ;
    GrB_BinaryOp_free (&LAGraph_DIV_ComplexFP64   ) ;
    GrB_BinaryOp_free (&LAGraph_RDIV_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_PAIR_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_ANY_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_SKEW_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_HERMITIAN_ComplexFP64  ) ;

    GrB_BinaryOp_free (&LAGraph_ISEQ_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISNE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISGT_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISLT_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISGE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISLE_ComplexFP64) ;

    GrB_BinaryOp_free (&LAGraph_OR_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_AND_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_XOR_ComplexFP64) ;

    //--------------------------------------------------------------------------
    // free the Complex binary operators, CxC -> bool
    //--------------------------------------------------------------------------

    GrB_BinaryOp_free (&LAGraph_EQ_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_NE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_GT_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_LT_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_GE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_LE_ComplexFP64) ;

    //--------------------------------------------------------------------------
    // free the Complex binary operator, double x double -> complex
    //--------------------------------------------------------------------------

    GrB_BinaryOp_free (&LAGraph_COMPLEX_ComplexFP64) ;

    //--------------------------------------------------------------------------
    // free the Complex unary operators, C->C
    //--------------------------------------------------------------------------

    GrB_UnaryOp_free (&LAGraph_ONE_ComplexFP64       ) ;
    GrB_UnaryOp_free (&LAGraph_IDENTITY_ComplexFP64  ) ;
    GrB_UnaryOp_free (&LAGraph_AINV_ComplexFP64      ) ;
    GrB_UnaryOp_free (&LAGraph_ABS_ComplexFP64       ) ;
    GrB_UnaryOp_free (&LAGraph_MINV_ComplexFP64      ) ;
    GrB_UnaryOp_free (&LAGraph_NOT_ComplexFP64       ) ;
    GrB_UnaryOp_free (&LAGraph_CONJ_ComplexFP64      ) ;
    GrB_UnaryOp_free (&LAGraph_ISONE_ComplexFP64     ) ;
    GrB_UnaryOp_free (&LAGraph_TRUE_BOOL_ComplexFP64 ) ;

    //--------------------------------------------------------------------------
    // free the unary functions, C -> double
    //--------------------------------------------------------------------------

    GrB_UnaryOp_free (&LAGraph_REAL_ComplexFP64 ) ;
    GrB_UnaryOp_free (&LAGraph_IMAG_ComplexFP64 ) ;
    GrB_UnaryOp_free (&LAGraph_CABS_ComplexFP64 ) ;
    GrB_UnaryOp_free (&LAGraph_ANGLE_ComplexFP64) ;

    //--------------------------------------------------------------------------
    // free the unary functions, double -> C
    //--------------------------------------------------------------------------

    GrB_UnaryOp_free (&LAGraph_COMPLEX_REAL_ComplexFP64) ;
    GrB_UnaryOp_free (&LAGraph_COMPLEX_IMAG_ComplexFP64) ;

    //--------------------------------------------------------------------------
    // free the Complex type
    //--------------------------------------------------------------------------

    GrB_Type_free (&LAGraph_ComplexFP64) ;

    return (GrB_SUCCESS) ;
}
//------------------------------------------------------------------------------
// LAGraph_ComplexFP64_finalize: free all complex types, operators, monoids, and semiring
//------------------------------------------------------------------------------
free all complex types, operators, monoids, and semiring
free all complex types operators monoids and semiring
GrB_Info LAGraph_Complex_finalize ( )
{
    GrB_Semiring_free (&LAGraph_PLUS_TIMES_ComplexFP64) ;
    GrB_Monoid_free (&LAGraph_PLUS_ComplexFP64_MONOID ) ;
    GrB_Monoid_free (&LAGraph_TIMES_ComplexFP64_MONOID) ;
    GrB_BinaryOp_free (&LAGraph_FIRST_ComplexFP64 ) ;
    GrB_BinaryOp_free (&LAGraph_SECOND_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_MIN_ComplexFP64   ) ;
    GrB_BinaryOp_free (&LAGraph_MAX_ComplexFP64   ) ;
    GrB_BinaryOp_free (&LAGraph_PLUS_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_MINUS_ComplexFP64 ) ;
    GrB_BinaryOp_free (&LAGraph_RMINUS_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_TIMES_ComplexFP64 ) ;
    GrB_BinaryOp_free (&LAGraph_DIV_ComplexFP64   ) ;
    GrB_BinaryOp_free (&LAGraph_RDIV_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_PAIR_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_ANY_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_SKEW_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_HERMITIAN_ComplexFP64  ) ;
    GrB_BinaryOp_free (&LAGraph_ISEQ_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISNE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISGT_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISLT_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISGE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_ISLE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_OR_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_AND_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_XOR_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_EQ_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_NE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_GT_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_LT_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_GE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_LE_ComplexFP64) ;
    GrB_BinaryOp_free (&LAGraph_COMPLEX_ComplexFP64) ;
    GrB_UnaryOp_free (&LAGraph_ONE_ComplexFP64       ) ;
    GrB_UnaryOp_free (&LAGraph_IDENTITY_ComplexFP64  ) ;
    GrB_UnaryOp_free (&LAGraph_AINV_ComplexFP64      ) ;
    GrB_UnaryOp_free (&LAGraph_ABS_ComplexFP64       ) ;
    GrB_UnaryOp_free (&LAGraph_MINV_ComplexFP64      ) ;
    GrB_UnaryOp_free (&LAGraph_NOT_ComplexFP64       ) ;
    GrB_UnaryOp_free (&LAGraph_CONJ_ComplexFP64      ) ;
    GrB_UnaryOp_free (&LAGraph_ISONE_ComplexFP64     ) ;
    GrB_UnaryOp_free (&LAGraph_TRUE_BOOL_ComplexFP64 ) ;
    GrB_UnaryOp_free (&LAGraph_REAL_ComplexFP64 ) ;
    GrB_UnaryOp_free (&LAGraph_IMAG_ComplexFP64 ) ;
    GrB_UnaryOp_free (&LAGraph_CABS_ComplexFP64 ) ;
    GrB_UnaryOp_free (&LAGraph_ANGLE_ComplexFP64) ;
    GrB_UnaryOp_free (&LAGraph_COMPLEX_REAL_ComplexFP64) ;
    GrB_UnaryOp_free (&LAGraph_COMPLEX_IMAG_ComplexFP64) ;
    GrB_Type_free (&LAGraph_ComplexFP64) ;
    return (GrB_SUCCESS) ;
}
GrB_Info LAGraph_Complex_finalize ( ) { GrB_Semiring_free ( & LAGraph_PLUS_TIMES_ComplexFP64 ) ; GrB_Monoid_free ( & LAGraph_PLUS_ComplexFP64_MONOID ) ; GrB_Monoid_free ( & LAGraph_TIMES_ComplexFP64_MONOID ) ; GrB_BinaryOp_free ( & LAGraph_FIRST_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_SECOND_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_MIN_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_MAX_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_PLUS_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_MINUS_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_RMINUS_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_TIMES_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_DIV_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_RDIV_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_PAIR_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_ANY_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_SKEW_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_HERMITIAN_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_ISEQ_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_ISNE_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_ISGT_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_ISLT_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_ISGE_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_ISLE_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_OR_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_AND_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_XOR_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_EQ_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_NE_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_GT_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_LT_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_GE_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_LE_ComplexFP64 ) ; GrB_BinaryOp_free ( & LAGraph_COMPLEX_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_ONE_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_IDENTITY_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_AINV_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_ABS_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_MINV_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_NOT_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_CONJ_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_ISONE_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_TRUE_BOOL_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_REAL_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_IMAG_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_CABS_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_ANGLE_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_COMPLEX_REAL_ComplexFP64 ) ; GrB_UnaryOp_free ( & LAGraph_COMPLEX_IMAG_ComplexFP64 ) ; GrB_Type_free ( & LAGraph_ComplexFP64 ) ; return ( GrB_SUCCESS ) ; }
LAGraph_ComplexFP64_finalize: free all complex types, operators, monoids, and semiring
LAGraph_ComplexFP64_finalize : free all complex types operators monoids and semiring
//-------------------------------------------------------------------------- // free the Complex plus-times semiring //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // free the Complex monoids //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // free the Complex binary operators, CxC->C //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // free the Complex binary operators, CxC -> bool //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // free the Complex binary operator, double x double -> complex //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // free the Complex unary operators, C->C //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // free the unary functions, C -> double //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // free the unary functions, double -> C //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- // free the Complex type //--------------------------------------------------------------------------