MeshLib C Docs
Loading...
Searching...
No Matches
MRSymMatrix2.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector2.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stdbool.h>
8#include <stddef.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_Matrix2d MR_Matrix2d; // Defined in `#include <MRCMesh/MRMatrix2.h>`.
15typedef struct MR_Matrix2f MR_Matrix2f; // Defined in `#include <MRCMesh/MRMatrix2.h>`.
16
17
21
25
29
33
37
43
48
54
60
65
71
77
82
88
92
97
100
103
108
111
114
120
124
128
133
138
143
149
155
161
167
172
177
183
188
194
200
205
211
217
222
228
232
237
240
243
248
251
254
260
264
268
273
278
283
289
295
301
307
312
317
323
328
334
340
345
351
357
362
368
372
377
380
383
388
391
394
400
404
408
413
418
423
429
435
441
447
452
457
463
468
474
480
485
491
497
502
508
512
517
520
523
528
533
536
539
545
549
553
558
563
568
574
580
586
592
597
602
610
615
620
632MRC_API MR_SymMatrix2f *MR_SymMatrix2f_pseudoinverse(const MR_SymMatrix2f *_this, const float *tol, int *rank, MR_Vector2f *space);
633
638MRC_API const double *MR_SymMatrix2d_Get_xx(const MR_SymMatrix2d *_this);
639
644
650
655MRC_API const double *MR_SymMatrix2d_Get_xy(const MR_SymMatrix2d *_this);
656
661
667
672MRC_API const double *MR_SymMatrix2d_Get_yy(const MR_SymMatrix2d *_this);
673
678
684
688
693
696
699
704
707
710
716
720
724
729
734
739
745
751
757
763
768
773
781
786
791
803MRC_API MR_SymMatrix2d *MR_SymMatrix2d_pseudoinverse(const MR_SymMatrix2d *_this, const double *tol, int *rank, MR_Vector2d *space);
804
805#ifdef __cplusplus
806} // extern "C"
807#endif
struct MR_SymMatrix2f MR_SymMatrix2f
Definition MRQuadraticForm.h:12
struct MR_SymMatrix2d MR_SymMatrix2d
Definition MRQuadraticForm.h:11
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_DefaultConstructArray(size_t num_elems)
MRC_API float * MR_SymMatrix2f_GetMutable_xy(MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_div_assign(MR_SymMatrix2b *_this, bool b)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_inverse_1(const MR_SymMatrix2i64 *_this, MR_int64_t det)
MRC_API int * MR_SymMatrix2i_GetMutable_xx(MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_sub_assign(MR_SymMatrix2d *_this, const MR_SymMatrix2d *b)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_inverse_1(const MR_SymMatrix2b *_this, bool det)
MRC_API const MR_int64_t * MR_SymMatrix2i64_Get_xy(const MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_DefaultConstruct(void)
MRC_API const int * MR_SymMatrix2i_Get_yy(const MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_sub_assign(MR_SymMatrix2f *_this, const MR_SymMatrix2f *b)
MRC_API int MR_SymMatrix2i_normSq(const MR_SymMatrix2i *_this)
MRC_API void MR_SymMatrix2d_Set_yy(MR_SymMatrix2d *_this, double value)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_OffsetMutablePtr(MR_SymMatrix2d *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_SymMatrix2f_Set_xy(MR_SymMatrix2f *_this, float value)
MRC_API const bool * MR_SymMatrix2b_Get_xy(const MR_SymMatrix2b *_this)
MRC_API MR_int64_t MR_SymMatrix2i64_normSq(const MR_SymMatrix2i64 *_this)
MRC_API bool * MR_SymMatrix2b_GetMutable_xx(MR_SymMatrix2b *_this)
MRC_API void MR_SymMatrix2i64_DestroyArray(const MR_SymMatrix2i64 *_this)
Destroys a heap-allocated array of MR_SymMatrix2i64. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_OffsetMutablePtr(MR_SymMatrix2i64 *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_sub_assign(MR_SymMatrix2i *_this, const MR_SymMatrix2i *b)
MRC_API MR_int64_t MR_SymMatrix2i64_trace(const MR_SymMatrix2i64 *_this)
MRC_API MR_int64_t * MR_SymMatrix2i64_GetMutable_xx(MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_inverse_0(const MR_SymMatrix2f *_this)
MRC_API const MR_SymMatrix2f * MR_SymMatrix2f_OffsetPtr(const MR_SymMatrix2f *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_SymMatrix2i_Set_yy(MR_SymMatrix2i *_this, int value)
MRC_API const bool * MR_SymMatrix2b_Get_yy(const MR_SymMatrix2b *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_DefaultConstructArray(size_t num_elems)
MRC_API void MR_SymMatrix2d_Set_xy(MR_SymMatrix2d *_this, double value)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_DefaultConstruct(void)
MRC_API const double * MR_SymMatrix2d_Get_yy(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_identity(void)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_diagonal(float diagVal)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_DefaultConstruct(void)
MRC_API void MR_SymMatrix2f_DestroyArray(const MR_SymMatrix2f *_this)
Destroys a heap-allocated array of MR_SymMatrix2f. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_DefaultConstruct(void)
MRC_API float MR_SymMatrix2f_normSq(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_ConstructFromAnother(const MR_SymMatrix2f *_other)
MRC_API const MR_int64_t * MR_SymMatrix2i64_Get_xx(const MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_AssignFromAnother(MR_SymMatrix2i64 *_this, const MR_SymMatrix2i64 *_other)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_DefaultConstructArray(size_t num_elems)
MRC_API double * MR_SymMatrix2d_GetMutable_xy(MR_SymMatrix2d *_this)
MRC_API void MR_SymMatrix2d_Destroy(const MR_SymMatrix2d *_this)
Destroys a heap-allocated instance of MR_SymMatrix2d. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_add_assign(MR_SymMatrix2f *_this, const MR_SymMatrix2f *b)
MRC_API void MR_SymMatrix2i_Set_xx(MR_SymMatrix2i *_this, int value)
MRC_API const int * MR_SymMatrix2i_Get_xy(const MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_inverse_0(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_diagonal(double diagVal)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_div_assign(MR_SymMatrix2i64 *_this, MR_int64_t b)
MRC_API void MR_SymMatrix2i_Destroy(const MR_SymMatrix2i *_this)
Destroys a heap-allocated instance of MR_SymMatrix2i. Does nothing if the pointer is null.
MRC_API MR_int64_t * MR_SymMatrix2i64_GetMutable_yy(MR_SymMatrix2i64 *_this)
MRC_API const MR_SymMatrix2d * MR_SymMatrix2d_OffsetPtr(const MR_SymMatrix2d *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_SymMatrix2b_Set_yy(MR_SymMatrix2b *_this, bool value)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_add_assign(MR_SymMatrix2i64 *_this, const MR_SymMatrix2i64 *b)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_identity(void)
MRC_API int * MR_SymMatrix2i_GetMutable_xy(MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_add_assign(MR_SymMatrix2i *_this, const MR_SymMatrix2i *b)
MRC_API bool * MR_SymMatrix2b_GetMutable_xy(MR_SymMatrix2b *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_identity(void)
struct MR_SymMatrix2i MR_SymMatrix2i
Definition MRSymMatrix2.h:24
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_sub_assign(MR_SymMatrix2i64 *_this, const MR_SymMatrix2i64 *b)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_mul_assign(MR_SymMatrix2i *_this, int b)
MRC_API const MR_int64_t * MR_SymMatrix2i64_Get_yy(const MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_AssignFromAnother(MR_SymMatrix2d *_this, const MR_SymMatrix2d *_other)
MRC_API bool MR_SymMatrix2b_det(const MR_SymMatrix2b *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_identity(void)
MRC_API const double * MR_SymMatrix2d_Get_xy(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_ConstructFromAnother(const MR_SymMatrix2b *_other)
MRC_API const MR_SymMatrix2b * MR_SymMatrix2b_OffsetPtr(const MR_SymMatrix2b *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_mul_assign(MR_SymMatrix2i64 *_this, MR_int64_t b)
struct MR_SymMatrix2i64 MR_SymMatrix2i64
Definition MRSymMatrix2.h:28
MRC_API void MR_SymMatrix2b_Destroy(const MR_SymMatrix2b *_this)
Destroys a heap-allocated instance of MR_SymMatrix2b. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_mul_assign(MR_SymMatrix2b *_this, bool b)
MRC_API void MR_SymMatrix2b_Set_xx(MR_SymMatrix2b *_this, bool value)
MRC_API void MR_SymMatrix2f_Set_yy(MR_SymMatrix2f *_this, float value)
MRC_API MR_Vector2d MR_SymMatrix2d_maxEigenvector(const MR_SymMatrix2d *_this)
MRC_API void MR_SymMatrix2i64_Destroy(const MR_SymMatrix2i64 *_this)
Destroys a heap-allocated instance of MR_SymMatrix2i64. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_div_assign(MR_SymMatrix2d *_this, double b)
MRC_API void MR_SymMatrix2i64_Set_xx(MR_SymMatrix2i64 *_this, MR_int64_t value)
MRC_API float * MR_SymMatrix2f_GetMutable_xx(MR_SymMatrix2f *_this)
MRC_API void MR_SymMatrix2d_DestroyArray(const MR_SymMatrix2d *_this)
Destroys a heap-allocated array of MR_SymMatrix2d. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_DefaultConstruct(void)
MRC_API void MR_SymMatrix2i64_Set_yy(MR_SymMatrix2i64 *_this, MR_int64_t value)
MRC_API void MR_SymMatrix2i_DestroyArray(const MR_SymMatrix2i *_this)
Destroys a heap-allocated array of MR_SymMatrix2i. Does nothing if the pointer is null.
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_mul_assign(MR_SymMatrix2f *_this, float b)
MRC_API bool MR_SymMatrix2b_normSq(const MR_SymMatrix2b *_this)
MRC_API void MR_SymMatrix2d_Set_xx(MR_SymMatrix2d *_this, double value)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_div_assign(MR_SymMatrix2i *_this, int b)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_sub_assign(MR_SymMatrix2b *_this, const MR_SymMatrix2b *b)
MRC_API MR_int64_t * MR_SymMatrix2i64_GetMutable_xy(MR_SymMatrix2i64 *_this)
MRC_API const float * MR_SymMatrix2f_Get_xy(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_AssignFromAnother(MR_SymMatrix2f *_this, const MR_SymMatrix2f *_other)
MRC_API MR_Vector2f MR_SymMatrix2f_eigens(const MR_SymMatrix2f *_this, MR_Matrix2f *eigenvectors)
MRC_API const float * MR_SymMatrix2f_Get_xx(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_DefaultConstructArray(size_t num_elems)
MRC_API void MR_SymMatrix2b_DestroyArray(const MR_SymMatrix2b *_this)
Destroys a heap-allocated array of MR_SymMatrix2b. Does nothing if the pointer is null.
MRC_API const float * MR_SymMatrix2f_Get_yy(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_inverse_0(const MR_SymMatrix2b *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_ConstructFromAnother(const MR_SymMatrix2d *_other)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_inverse_0(const MR_SymMatrix2i *_this)
MRC_API int MR_SymMatrix2i_trace(const MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_pseudoinverse(const MR_SymMatrix2f *_this, const float *tol, int *rank, MR_Vector2f *space)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_Construct(const MR_SymMatrix2f *m)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_mul_assign(MR_SymMatrix2d *_this, double b)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_AssignFromAnother(MR_SymMatrix2i *_this, const MR_SymMatrix2i *_other)
MRC_API MR_Vector2d MR_SymMatrix2d_eigens(const MR_SymMatrix2d *_this, MR_Matrix2d *eigenvectors)
MRC_API MR_int64_t MR_SymMatrix2i64_det(const MR_SymMatrix2i64 *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_pseudoinverse(const MR_SymMatrix2d *_this, const double *tol, int *rank, MR_Vector2d *space)
MRC_API bool MR_SymMatrix2b_trace(const MR_SymMatrix2b *_this)
MRC_API bool * MR_SymMatrix2b_GetMutable_yy(MR_SymMatrix2b *_this)
MRC_API double MR_SymMatrix2d_trace(const MR_SymMatrix2d *_this)
MRC_API const MR_SymMatrix2i * MR_SymMatrix2i_OffsetPtr(const MR_SymMatrix2i *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API float * MR_SymMatrix2f_GetMutable_yy(MR_SymMatrix2f *_this)
MRC_API float MR_SymMatrix2f_det(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_OffsetMutablePtr(MR_SymMatrix2b *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_diagonal(MR_int64_t diagVal)
MRC_API int * MR_SymMatrix2i_GetMutable_yy(MR_SymMatrix2i *_this)
MRC_API double MR_SymMatrix2d_det(const MR_SymMatrix2d *_this)
MRC_API float MR_SymMatrix2f_trace(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_identity(void)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_add_assign(MR_SymMatrix2d *_this, const MR_SymMatrix2d *b)
MRC_API MR_Vector2f MR_SymMatrix2f_eigenvector(const MR_SymMatrix2f *_this, float eigenvalue)
MRC_API double MR_SymMatrix2d_normSq(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_diagonal(bool diagVal)
MRC_API int MR_SymMatrix2i_det(const MR_SymMatrix2i *_this)
MRC_API void MR_SymMatrix2f_Destroy(const MR_SymMatrix2f *_this)
Destroys a heap-allocated instance of MR_SymMatrix2f. Does nothing if the pointer is null.
MRC_API const int * MR_SymMatrix2i_Get_xx(const MR_SymMatrix2i *_this)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_inverse_1(const MR_SymMatrix2i *_this, int det)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_ConstructFromAnother(const MR_SymMatrix2i64 *_other)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_div_assign(MR_SymMatrix2f *_this, float b)
MRC_API const double * MR_SymMatrix2d_Get_xx(const MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_OffsetMutablePtr(MR_SymMatrix2f *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_SymMatrix2f_Set_xx(MR_SymMatrix2f *_this, float value)
MRC_API MR_Vector2f MR_SymMatrix2f_maxEigenvector(const MR_SymMatrix2f *_this)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_inverse_0(const MR_SymMatrix2i64 *_this)
MRC_API MR_Vector2d MR_SymMatrix2d_eigenvector(const MR_SymMatrix2d *_this, double eigenvalue)
MRC_API MR_SymMatrix2d * MR_SymMatrix2d_inverse_1(const MR_SymMatrix2d *_this, double det)
MRC_API const bool * MR_SymMatrix2b_Get_xx(const MR_SymMatrix2b *_this)
MRC_API void MR_SymMatrix2b_Set_xy(MR_SymMatrix2b *_this, bool value)
MRC_API double * MR_SymMatrix2d_GetMutable_xx(MR_SymMatrix2d *_this)
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_AssignFromAnother(MR_SymMatrix2b *_this, const MR_SymMatrix2b *_other)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_OffsetMutablePtr(MR_SymMatrix2i *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_ConstructFromAnother(const MR_SymMatrix2i *_other)
MRC_API void MR_SymMatrix2i_Set_xy(MR_SymMatrix2i *_this, int value)
struct MR_SymMatrix2b MR_SymMatrix2b
Definition MRSymMatrix2.h:20
MRC_API MR_SymMatrix2b * MR_SymMatrix2b_add_assign(MR_SymMatrix2b *_this, const MR_SymMatrix2b *b)
MRC_API void MR_SymMatrix2i64_Set_xy(MR_SymMatrix2i64 *_this, MR_int64_t value)
MRC_API const MR_SymMatrix2i64 * MR_SymMatrix2i64_OffsetPtr(const MR_SymMatrix2i64 *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_DefaultConstructArray(size_t num_elems)
MRC_API MR_SymMatrix2i * MR_SymMatrix2i_diagonal(int diagVal)
MRC_API MR_SymMatrix2f * MR_SymMatrix2f_inverse_1(const MR_SymMatrix2f *_this, float det)
MRC_API double * MR_SymMatrix2d_GetMutable_yy(MR_SymMatrix2d *_this)
int64_t MR_int64_t
Definition common.h:13
#define MRC_API
Definition exports.h:11
Definition MRMatrix2.h:54
Definition MRMatrix2.h:45
Definition MRVector2.h:51
Definition MRVector2.h:43