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
22
27
32
37
42
48
54
60
66
72
78
84
90
96
100
105
109
113
119
122
125
133
137
141
146
151
156
162
168
174
180
185
190
196
202
208
214
220
226
232
238
244
248
253
257
261
267
270
273
281
285
289
294
299
304
310
316
322
328
333
338
344
351
357
363
370
376
382
389
395
399
404
408
412
418
421
424
432
436
440
445
450
455
461
467
473
479
484
489
495
501
507
513
519
525
531
537
543
547
552
556
560
566
569
572
580
584
588
593
598
603
609
615
621
627
632
637
645
650
655
667MRC_API MR_SymMatrix2f *MR_SymMatrix2f_pseudoinverse(const MR_SymMatrix2f *_this, const float *tol, int *rank, MR_Vector2f *space);
668
673MRC_API const double *MR_SymMatrix2d_Get_xx(const MR_SymMatrix2d *_this);
674
680
686
691MRC_API const double *MR_SymMatrix2d_Get_xy(const MR_SymMatrix2d *_this);
692
698
704
709MRC_API const double *MR_SymMatrix2d_Get_yy(const MR_SymMatrix2d *_this);
710
716
722
726
731
735
739
745
748
751
759
763
767
772
777
782
788
794
800
806
811
816
824
829
834
846MRC_API MR_SymMatrix2d *MR_SymMatrix2d_pseudoinverse(const MR_SymMatrix2d *_this, const double *tol, int *rank, MR_Vector2d *space);
847
848#ifdef __cplusplus
849} // extern "C"
850#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)
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)
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)
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)
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:26
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)
MRC_API MR_SymMatrix2i64 * MR_SymMatrix2i64_mul_assign(MR_SymMatrix2i64 *_this, MR_int64_t b)
struct MR_SymMatrix2i64 MR_SymMatrix2i64
Definition MRSymMatrix2.h:31
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_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)
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)
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)
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)
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:21
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)
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:17
#define MRC_API
Definition exports.h:11
Definition MRMatrix2.h:57
Definition MRMatrix2.h:48
Definition MRVector2.h:53
Definition MRVector2.h:45