| 48 | } |
| 49 | |
| 50 | GB_PUBLIC |
| 51 | GrB_Info GB_code_check // print an entry using a type code |
| 52 | ( |
| 53 | const GB_Type_code code, // type code of value to print |
| 54 | const void *x, // entry to print |
| 55 | int pr, // print level |
| 56 | FILE *f // file to print to |
| 57 | ) |
| 58 | { |
| 59 | |
| 60 | ASSERT (code <= GB_UDT_code) ; |
| 61 | int64_t i ; |
| 62 | uint64_t u ; |
| 63 | double d ; |
| 64 | float s ; |
| 65 | GxB_FC32_t c ; |
| 66 | GxB_FC64_t z ; |
| 67 | bool pr_verbose = (pr == GxB_SHORT_VERBOSE || pr == GxB_COMPLETE_VERBOSE) ; |
| 68 | |
| 69 | switch (code) |
| 70 | { |
| 71 | |
| 72 | case GB_BOOL_code : i = *((bool *) x) ; GBPR (" " GBd, i) ; |
| 73 | break ; |
| 74 | case GB_INT8_code : i = *((int8_t *) x) ; GBPR (" " GBd, i) ; |
| 75 | break ; |
| 76 | case GB_UINT8_code : u = *((uint8_t *) x) ; GBPR (" " GBu, u) ; |
| 77 | break ; |
| 78 | case GB_INT16_code : i = *((int16_t *) x) ; GBPR (" " GBd, i) ; |
| 79 | break ; |
| 80 | case GB_UINT16_code : u = *((uint16_t *) x) ; GBPR (" " GBu, u) ; |
| 81 | break ; |
| 82 | case GB_INT32_code : i = *((int32_t *) x) ; GBPR (" " GBd, i) ; |
| 83 | break ; |
| 84 | case GB_UINT32_code : u = *((uint32_t *) x) ; GBPR (" " GBu, u) ; |
| 85 | break ; |
| 86 | case GB_INT64_code : i = *((int64_t *) x) ; GBPR (" " GBd, i) ; |
| 87 | break ; |
| 88 | case GB_UINT64_code : u = *((uint64_t *) x) ; GBPR (" " GBu, u) ; |
| 89 | break ; |
| 90 | |
| 91 | case GB_FP32_code : |
| 92 | s = *((float *) x) ; |
| 93 | GBPR (" ") ; |
| 94 | GB_PRINT_FLOAT (s) ; |
| 95 | break ; |
| 96 | |
| 97 | case GB_FP64_code : |
| 98 | d = *((double *) x) ; |
| 99 | GBPR (" ") ; |
| 100 | GB_PRINT_DOUBLE (d, pr_verbose) ; |
| 101 | break ; |
| 102 | |
| 103 | case GB_FC32_code : |
| 104 | c = *((GxB_FC32_t *) x) ; |
| 105 | GBPR (" ") ; |
| 106 | GB_PRINT_FLOAT (crealf (c)) ; |
| 107 | s = cimagf (c) ; |
no outgoing calls
no test coverage detected