|
Blender V4.3
|
Go to the source code of this file.
Macros | |
| #define | MAT(A, size, row, col) A[(row) * (size) + (col)] |
| #define | MATS(A, n, r, c, s) MAT(A, n, r, c) |
| #define | MATHS(A, r, c, s) A[(r) * ((r) + 1) / 2 + (c)] |
| #define | VECS(V, i, s) V[i] |
| #define | ROT(M, r1, c1, r2, c2, stride) |
Definition at line 10 of file math_matrix.h.
Referenced by math_matrix_add_gramian(), math_matrix_jacobi_eigendecomposition(), and math_matrix_zero().
Definition at line 20 of file math_matrix.h.
Referenced by math_trimatrix_add_diagonal(), math_trimatrix_add_gramian(), math_trimatrix_add_gramian_strided(), math_trimatrix_cholesky(), and math_trimatrix_vec3_solve().
Definition at line 19 of file math_matrix.h.
Referenced by math_matrix_jacobi_eigendecomposition(), and math_matrix_transpose().
Referenced by math_matrix_jacobi_eigendecomposition().
Definition at line 21 of file math_matrix.h.
Referenced by math_trimatrix_vec3_solve().
| ccl_device_inline void math_matrix_add_gramian | ( | ccl_private float * | A, |
| int | n, | ||
| ccl_private const float *ccl_restrict | v, | ||
| float | weight ) |
Definition at line 122 of file math_matrix.h.
| ccl_device void math_matrix_jacobi_eigendecomposition | ( | ccl_private float * | A, |
| ccl_global float * | V, | ||
| int | n, | ||
| int | v_stride ) |
| ccl_device_inline void math_matrix_transpose | ( | ccl_global float * | A, |
| int | n, | ||
| int | stride ) |
Definition at line 159 of file math_matrix.h.
References MATS.
| ccl_device_inline void math_matrix_zero | ( | ccl_private float * | A, |
| int | n ) |
Definition at line 33 of file math_matrix.h.
| ccl_device_inline void math_trimatrix_add_diagonal | ( | ccl_global float * | A, |
| int | n, | ||
| float | val, | ||
| int | stride ) |
Definition at line 110 of file math_matrix.h.
References MATHS.
Referenced by math_trimatrix_vec3_solve().
| ccl_device_inline void math_trimatrix_add_gramian | ( | ccl_global float * | A, |
| int | n, | ||
| ccl_private const float *ccl_restrict | v, | ||
| float | weight ) |
Definition at line 146 of file math_matrix.h.
References atomic_add_and_fetch_float, col, MATHS, and v.
| ccl_device_inline void math_trimatrix_add_gramian_strided | ( | ccl_global float * | A, |
| int | n, | ||
| ccl_private const float *ccl_restrict | v, | ||
| float | weight, | ||
| int | stride ) |
Definition at line 136 of file math_matrix.h.
References atomic_add_and_fetch_float, col, MATHS, and v.
| ccl_device void math_trimatrix_cholesky | ( | ccl_global float * | A, |
| int | n, | ||
| int | stride ) |
Definition at line 175 of file math_matrix.h.
References col, MATHS, max, and sqrtf.
Referenced by math_trimatrix_vec3_solve().
| ccl_device_inline void math_trimatrix_vec3_solve | ( | ccl_global float * | A, |
| ccl_global float3 * | y, | ||
| int | n, | ||
| int | stride ) |
Definition at line 205 of file math_matrix.h.
References col, math_trimatrix_add_diagonal(), math_trimatrix_cholesky(), MATHS, sum(), and VECS.
| ccl_device_inline void math_vec3_add | ( | ccl_private float3 * | v, |
| int | n, | ||
| ccl_private float * | x, | ||
| float3 | w ) |
Definition at line 88 of file math_matrix.h.
| ccl_device_inline void math_vec3_add_strided | ( | ccl_global float3 * | v, |
| int | n, | ||
| ccl_private float * | x, | ||
| float3 | w, | ||
| int | stride ) |
Definition at line 95 of file math_matrix.h.
References atomic_add_and_fetch_float, ccl_global, v, and w().
| ccl_device_inline void math_vector_add | ( | ccl_private float * | a, |
| ccl_private const float *ccl_restrict | b, | ||
| int | n ) |
Definition at line 44 of file math_matrix.h.
References b.
| ccl_device_inline void math_vector_max | ( | ccl_private float * | a, |
| ccl_private const float *ccl_restrict | b, | ||
| int | n ) |
Definition at line 79 of file math_matrix.h.
| ccl_device_inline void math_vector_mul | ( | ccl_private float * | a, |
| ccl_private const float *ccl_restrict | b, | ||
| int | n ) |
Definition at line 53 of file math_matrix.h.
References b.
| ccl_device_inline void math_vector_mul_strided | ( | ccl_global float * | a, |
| ccl_private const float *ccl_restrict | b, | ||
| int | astride, | ||
| int | n ) |
Definition at line 62 of file math_matrix.h.
References b.
| ccl_device_inline void math_vector_scale | ( | ccl_private float * | a, |
| float | b, | ||
| int | n ) |
Definition at line 72 of file math_matrix.h.
References b.
| ccl_device_inline void math_vector_zero | ( | ccl_private float * | v, |
| int | n ) |
Definition at line 26 of file math_matrix.h.
References v.