1 //------------------------------------------------------------------------------
2 // GrB_error: return an error string describing the last error
3 //------------------------------------------------------------------------------
4
5 // SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
6 // SPDX-License-Identifier: Apache-2.0
7
8 //------------------------------------------------------------------------------
9
10 #include "GB.h"
11
12 const char empty [8] = "" ;
13
GrB_Type_error(const char ** error,const GrB_Type type)14 GrB_Info GrB_Type_error (const char **error, const GrB_Type type)
15 {
16 GB_RETURN_IF_NULL (error) ;
17 (*error) = empty ;
18 return (GrB_SUCCESS) ;
19 }
20
GrB_UnaryOp_error(const char ** error,const GrB_UnaryOp op)21 GrB_Info GrB_UnaryOp_error (const char **error, const GrB_UnaryOp op)
22 {
23 GB_RETURN_IF_NULL (error) ;
24 (*error) = empty ;
25 return (GrB_SUCCESS) ;
26 }
27
GrB_BinaryOp_error(const char ** error,const GrB_BinaryOp op)28 GrB_Info GrB_BinaryOp_error (const char **error, const GrB_BinaryOp op)
29 {
30 GB_RETURN_IF_NULL (error) ;
31 (*error) = empty ;
32 return (GrB_SUCCESS) ;
33 }
34
GxB_SelectOp_error(const char ** error,const GxB_SelectOp op)35 GrB_Info GxB_SelectOp_error (const char **error, const GxB_SelectOp op)
36 {
37 GB_RETURN_IF_NULL (error) ;
38 (*error) = empty ;
39 return (GrB_SUCCESS) ;
40 }
41
GrB_Monoid_error(const char ** error,const GrB_Monoid monoid)42 GrB_Info GrB_Monoid_error (const char **error, const GrB_Monoid monoid)
43 {
44 GB_RETURN_IF_NULL (error) ;
45 (*error) = empty ;
46 return (GrB_SUCCESS) ;
47 }
48
GrB_Semiring_error(const char ** error,const GrB_Semiring semiring)49 GrB_Info GrB_Semiring_error (const char **error, const GrB_Semiring semiring)
50 {
51 GB_RETURN_IF_NULL (error) ;
52 (*error) = empty ;
53 return (GrB_SUCCESS) ;
54 }
55
GxB_Scalar_error(const char ** error,const GxB_Scalar s)56 GrB_Info GxB_Scalar_error (const char **error, const GxB_Scalar s)
57 {
58 GB_RETURN_IF_NULL (error) ;
59 (*error) = empty ;
60 GB_RETURN_IF_NULL_OR_FAULTY (s) ;
61 if (s->logger == NULL) return (GrB_SUCCESS) ;
62 (*error) = s->logger ;
63 return (GrB_SUCCESS) ;
64 }
65
GrB_Vector_error(const char ** error,const GrB_Vector v)66 GrB_Info GrB_Vector_error (const char **error, const GrB_Vector v)
67 {
68 GB_RETURN_IF_NULL (error) ;
69 (*error) = empty ;
70 GB_RETURN_IF_NULL_OR_FAULTY (v) ;
71 if (v->logger == NULL) return (GrB_SUCCESS) ;
72 (*error) = v->logger ;
73 return (GrB_SUCCESS) ;
74 }
75
GrB_Matrix_error(const char ** error,const GrB_Matrix A)76 GrB_Info GrB_Matrix_error (const char **error, const GrB_Matrix A)
77 {
78 GB_RETURN_IF_NULL (error) ;
79 (*error) = empty ;
80 GB_RETURN_IF_NULL_OR_FAULTY (A) ;
81 if (A->logger == NULL) return (GrB_SUCCESS) ;
82 (*error) = A->logger ;
83 return (GrB_SUCCESS) ;
84 }
85
GrB_Descriptor_error(const char ** error,const GrB_Descriptor d)86 GrB_Info GrB_Descriptor_error (const char **error, const GrB_Descriptor d)
87 {
88 GB_RETURN_IF_NULL (error) ;
89 (*error) = empty ;
90 GB_RETURN_IF_NULL_OR_FAULTY (d) ;
91 if (d->logger == NULL) return (GrB_SUCCESS) ;
92 (*error) = d->logger ;
93 return (GrB_SUCCESS) ;
94 }
95
96