Line | Count | Source (jump to first uncovered line) |
1 | #include "cs.h" | |
2 | /* pinv = p', or p = pinv' */ | |
3 | CS_INT *cs_pinv (CS_INT const *p, CS_INT n) | |
4 | 0 | { |
5 | 0 | CS_INT k, *pinv ; |
6 | 0 | if (!p) return (NULL) ; /* p = NULL denotes identity */ |
7 | 0 | pinv = cs_malloc (n, sizeof (CS_INT)) ; /* allocate result */ |
8 | 0 | if (!pinv) return (NULL) ; /* out of memory */ |
9 | 0 | for (k = 0 ; k < n ; k++) pinv [p [k]] = k ;/* invert the permutation */ |
10 | 0 | return (pinv) ; /* return result */ |
11 | 0 | } |