| 422 | } |
| 423 | |
| 424 | void UArray_normalize(UArray *self) { |
| 425 | double a; |
| 426 | UArray *s = UArray_clone(self); |
| 427 | UArray_square(s); |
| 428 | a = UArray_sumAsDouble(s); |
| 429 | UArray_free(s); |
| 430 | a = sqrt(a); |
| 431 | // double max = UArray_maxAsDouble(self); |
| 432 | UArray_divideScalarDouble_(self, a); |
| 433 | } |
| 434 | |
| 435 | void UArray_crossProduct_(UArray *self, const UArray *other) { |
| 436 | if (self->itemType == CTYPE_float32_t && |
nothing calls this directly
no test coverage detected