1#![allow(
14 non_camel_case_types,
15 non_snake_case,
16 non_upper_case_globals,
17 dead_code,
18 clippy::all
19)]
20
21include!("lagraph_sys_generated.rs");
22
23use core::fmt;
24
25impl fmt::Display for GrB_Info {
26 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
27 match self {
28 GrB_Info::GrB_SUCCESS => write!(f, "GrB_SUCCESS"),
29 GrB_Info::GrB_NO_VALUE => write!(f, "GrB_NO_VALUE"),
30 GrB_Info::GxB_EXHAUSTED => write!(f, "GxB_EXHAUSTED"),
31 GrB_Info::GrB_UNINITIALIZED_OBJECT => write!(f, "GrB_UNINITIALIZED_OBJECT"),
32 GrB_Info::GrB_NULL_POINTER => write!(f, "GrB_NULL_POINTER"),
33 GrB_Info::GrB_INVALID_VALUE => write!(f, "GrB_INVALID_VALUE"),
34 GrB_Info::GrB_INVALID_INDEX => write!(f, "GrB_INVALID_INDEX"),
35 GrB_Info::GrB_DOMAIN_MISMATCH => write!(f, "GrB_DOMAIN_MISMATCH"),
36 GrB_Info::GrB_DIMENSION_MISMATCH => write!(f, "GrB_DIMENSION_MISMATCH"),
37 GrB_Info::GrB_OUTPUT_NOT_EMPTY => write!(f, "GrB_OUTPUT_NOT_EMPTY"),
38 GrB_Info::GrB_NOT_IMPLEMENTED => write!(f, "GrB_NOT_IMPLEMENTED"),
39 GrB_Info::GrB_ALREADY_SET => write!(f, "GrB_ALREADY_SET"),
40 GrB_Info::GrB_PANIC => write!(f, "GrB_PANIC"),
41 GrB_Info::GrB_OUT_OF_MEMORY => write!(f, "GrB_OUT_OF_MEMORY"),
42 GrB_Info::GrB_INSUFFICIENT_SPACE => write!(f, "GrB_INSUFFICIENT_SPACE"),
43 GrB_Info::GrB_INVALID_OBJECT => write!(f, "GrB_INVALID_OBJECT"),
44 GrB_Info::GrB_INDEX_OUT_OF_BOUNDS => write!(f, "GrB_INDEX_OUT_OF_BOUNDS"),
45 GrB_Info::GrB_EMPTY_OBJECT => write!(f, "GrB_EMPTY_OBJECT"),
46 GrB_Info::GxB_JIT_ERROR => write!(f, "GxB_JIT_ERROR"),
47 GrB_Info::GxB_GPU_ERROR => write!(f, "GxB_GPU_ERROR"),
48 GrB_Info::GxB_OUTPUT_IS_READONLY => write!(f, "GxB_OUTPUT_IS_READONLY"),
49 }
50 }
51}
52
53impl From<i32> for GrB_Info {
54 fn from(value: i32) -> Self {
55 match value {
56 0 => GrB_Info::GrB_SUCCESS,
57 1 => GrB_Info::GrB_NO_VALUE,
58 7 => GrB_Info::GxB_EXHAUSTED,
59 -1 => GrB_Info::GrB_UNINITIALIZED_OBJECT,
60 -2 => GrB_Info::GrB_NULL_POINTER,
61 -3 => GrB_Info::GrB_INVALID_VALUE,
62 -4 => GrB_Info::GrB_INVALID_INDEX,
63 -5 => GrB_Info::GrB_DOMAIN_MISMATCH,
64 -6 => GrB_Info::GrB_DIMENSION_MISMATCH,
65 -7 => GrB_Info::GrB_OUTPUT_NOT_EMPTY,
66 -8 => GrB_Info::GrB_NOT_IMPLEMENTED,
67 -9 => GrB_Info::GrB_ALREADY_SET,
68 -101 => GrB_Info::GrB_PANIC,
69 -102 => GrB_Info::GrB_OUT_OF_MEMORY,
70 -103 => GrB_Info::GrB_INSUFFICIENT_SPACE,
71 -104 => GrB_Info::GrB_INVALID_OBJECT,
72 -105 => GrB_Info::GrB_INDEX_OUT_OF_BOUNDS,
73 -106 => GrB_Info::GrB_EMPTY_OBJECT,
74 -7001 => GrB_Info::GxB_JIT_ERROR,
75 -7002 => GrB_Info::GxB_GPU_ERROR,
76 -7003 => GrB_Info::GxB_OUTPUT_IS_READONLY,
77 _ => unimplemented!("Hope no more GrB status codes!"),
78 }
79 }
80}