MeshLib C Docs
Loading...
Searching...
No Matches
MRBestFitPolynomial.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_std_optional_double MR_std_optional_double; // Defined in `#include <MRCMisc/std_optional_double.h>`.
14typedef struct MR_std_optional_float MR_std_optional_float; // Defined in `#include <MRCMisc/std_optional_float.h>`.
17typedef struct MR_std_vector_double MR_std_vector_double; // Defined in `#include <MRCMisc/std_vector_double.h>`.
18typedef struct MR_std_vector_float MR_std_vector_float; // Defined in `#include <MRCMisc/std_vector_float.h>`.
19
20
21// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
22// The following degrees are instantiated: [2; 6].
26
27// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
28// The following degrees are instantiated: [2; 6].
32
33// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
34// The following degrees are instantiated: [2; 6].
38
39// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
40// The following degrees are instantiated: [2; 6].
44
45// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
46// The following degrees are instantiated: [2; 6].
50
51// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
52// The following degrees are instantiated: [2; 6].
56
57// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
58// The following degrees are instantiated: [2; 6].
62
63// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
64// The following degrees are instantiated: [2; 6].
68
69// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
70// The following degrees are instantiated: [2; 6].
74
75// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
76// The following degrees are instantiated: [2; 6].
80
81// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
82// The following degrees are instantiated: [2; 6].
86
87// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
88// The following degrees are instantiated: [2; 6].
92
93// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
94// The following degrees are instantiated: [2; 6].
98
99// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
100// The following degrees are instantiated: [2; 6].
104
109
114
117
120
124
128
133
137
141
146
149
152
159
163
168
172
176
180
185
189
193
198
201
204
211
215
220
225
229
233
237
242
246
250
255
258
261
268
272
277
282
286
290
294
299
303
307
312
315
318
325
329
334
339
343
347
351
356
360
364
369
372
375
382
386
391
396
400
404
408
413
417
421
426
429
432
439
443
448
452
456
460
465
469
473
478
481
484
491
495
500
504
508
513
517
521
526
529
532
539
543
548
552
556
560
565
569
573
578
581
584
591
595
600
605
609
613
617
622
626
630
635
638
641
648
652
657
662
666
670
674
679
683
687
692
695
698
705
709
714
719
723
727
731
736
740
744
749
752
755
762
766
771
776
780
784
788
793
797
801
806
809
812
819
823
828
832
836
840
845
849
853
858
861
864
871
875
880
885
891
896
901
905
909
912
915
922
926
931
936
941
947
952
957
961
965
968
971
978
982
987
992
993#ifdef __cplusplus
994} // extern "C"
995#endif
MRC_API void MR_Polynomial_float_3_DestroyArray(const MR_Polynomial_float_3 *_this)
Destroys a heap-allocated array of MR_Polynomial_float_3. Does nothing if the pointer is null.
MRC_API MR_Polynomial_float_5 * MR_Polynomial_float_5_DefaultConstructArray(size_t num_elems)
MRC_API MR_PolynomialWrapper_float * MR_PolynomialWrapper_float_AssignFromAnother(MR_PolynomialWrapper_float *_this, MR_PassBy _other_pass_by, MR_PolynomialWrapper_float *_other)
MRC_API double MR_Polynomial_double_3_call(const MR_Polynomial_double_3 *_this, double x)
MRC_API const MR_uint64_t * MR_Polynomial_float_6_Get_n(void)
MRC_API MR_Polynomial_float_1 * MR_Polynomial_float_1_OffsetMutablePtr(MR_Polynomial_float_1 *ptr, ptrdiff_t i)
struct MR_Polynomial_double_6 MR_Polynomial_double_6
Definition MRBestFitPolynomial.h:103
struct MR_Polynomial_double_0 MR_Polynomial_double_0
Definition MRBestFitPolynomial.h:67
MRC_API MR_Polynomial_double_2 * MR_Polynomial_double_2_DefaultConstructArray(size_t num_elems)
MRC_API MR_std_vector_double * MR_Polynomial_double_2_solve(const MR_Polynomial_double_2 *_this, double tol)
MRC_API MR_Polynomial_double_1 * MR_Polynomial_double_1_DefaultConstruct(void)
MRC_API void MR_Polynomial_double_3_DestroyArray(const MR_Polynomial_double_3 *_this)
Destroys a heap-allocated array of MR_Polynomial_double_3. Does nothing if the pointer is null.
MRC_API void MR_Polynomial_double_0_DestroyArray(const MR_Polynomial_double_0 *_this)
Destroys a heap-allocated array of MR_Polynomial_double_0. Does nothing if the pointer is null.
MRC_API MR_Polynomial_float_2 * MR_Polynomial_float_2_DefaultConstruct(void)
MRC_API const MR_uint64_t * MR_Polynomial_double_1_Get_n(void)
MRC_API MR_Polynomial_float_3 * MR_Polynomial_float_3_DefaultConstruct(void)
MRC_API const MR_uint64_t * MR_Polynomial_float_5_Get_n(void)
MRC_API MR_Polynomial_double_6 * MR_Polynomial_double_6_DefaultConstructArray(size_t num_elems)
MRC_API MR_Polynomial_double_5 * MR_Polynomial_double_5_OffsetMutablePtr(MR_Polynomial_double_5 *ptr, ptrdiff_t i)
MRC_API const MR_Polynomial_double_2 * MR_Polynomial_double_2_OffsetPtr(const MR_Polynomial_double_2 *ptr, ptrdiff_t i)
MRC_API MR_Polynomial_double_3 * MR_Polynomial_double_3_OffsetMutablePtr(MR_Polynomial_double_3 *ptr, ptrdiff_t i)
MRC_API void MR_Polynomial_float_6_Destroy(const MR_Polynomial_float_6 *_this)
Destroys a heap-allocated instance of MR_Polynomial_float_6. Does nothing if the pointer is null.
MRC_API MR_Polynomial_float_6 * MR_Polynomial_float_6_OffsetMutablePtr(MR_Polynomial_float_6 *ptr, ptrdiff_t i)
MRC_API bool MR_canMinimizePolynomial(MR_uint64_t degree)
Generated from function MR::canMinimizePolynomial<MR_uint64_t>.
MRC_API float MR_Polynomial_float_0_call(const MR_Polynomial_float_0 *_this, float x)
MRC_API float MR_Polynomial_float_2_intervalMin(const MR_Polynomial_float_2 *_this, float a, float b)
struct MR_Polynomial_double_1 MR_Polynomial_double_1
Definition MRBestFitPolynomial.h:73
MRC_API MR_Polynomial_float_4 * MR_Polynomial_float_4_DefaultConstruct(void)
MRC_API MR_Polynomial_double_2 * MR_Polynomial_double_2_DefaultConstruct(void)
MRC_API MR_Polynomial_float_0 * MR_Polynomial_float_0_DefaultConstructArray(size_t num_elems)
MRC_API const MR_uint64_t * MR_Polynomial_double_2_Get_n(void)
MRC_API void MR_Polynomial_double_5_DestroyArray(const MR_Polynomial_double_5 *_this)
Destroys a heap-allocated array of MR_Polynomial_double_5. Does nothing if the pointer is null.
MRC_API MR_Polynomial_double_2 * MR_Polynomial_double_2_OffsetMutablePtr(MR_Polynomial_double_2 *ptr, ptrdiff_t i)
MRC_API bool MR_canSolvePolynomial(MR_uint64_t degree)
Generated from function MR::canSolvePolynomial<MR_uint64_t>.
MRC_API void MR_Polynomial_float_2_DestroyArray(const MR_Polynomial_float_2 *_this)
Destroys a heap-allocated array of MR_Polynomial_float_2. Does nothing if the pointer is null.
struct MR_std_variant_MR_Polynomial_float_0_MR_Polynomial_float_1_MR_Polynomial_float_2_MR_Polynomial_float_3_MR_Polynomial_float_4_MR_Polynomial_float_5_MR_Polynomial_float_6 MR_std_variant_MR_Polynomial_float_0_MR_Polynomial_float_1_MR_Polynomial_float_2_MR_Polynomial_float_3_MR_Polynomial_float_4_MR_Polynomial_float_5_MR_Polynomial_float_6
Definition MRBestFitPolynomial.h:16
MRC_API float MR_Polynomial_float_5_intervalMin(const MR_Polynomial_float_5 *_this, float a, float b)
struct MR_Polynomial_double_2 MR_Polynomial_double_2
Definition MRBestFitPolynomial.h:79
MRC_API void MR_Polynomial_float_2_Destroy(const MR_Polynomial_float_2 *_this)
Destroys a heap-allocated instance of MR_Polynomial_float_2. Does nothing if the pointer is null.
MRC_API void MR_Polynomial_float_0_DestroyArray(const MR_Polynomial_float_0 *_this)
Destroys a heap-allocated array of MR_Polynomial_float_0. Does nothing if the pointer is null.
MRC_API const MR_uint64_t * MR_Polynomial_float_4_Get_n(void)
MRC_API void MR_Polynomial_float_5_DestroyArray(const MR_Polynomial_float_5 *_this)
Destroys a heap-allocated array of MR_Polynomial_float_5. Does nothing if the pointer is null.
MRC_API MR_Polynomial_float_0 * MR_Polynomial_float_1_deriv(const MR_Polynomial_float_1 *_this)
MRC_API MR_Polynomial_double_4 * MR_Polynomial_double_5_deriv(const MR_Polynomial_double_5 *_this)
MRC_API MR_Polynomial_float_4 * MR_Polynomial_float_4_OffsetMutablePtr(MR_Polynomial_float_4 *ptr, ptrdiff_t i)
MRC_API const MR_uint64_t * MR_Polynomial_double_0_Get_n(void)
MRC_API double MR_Polynomial_double_4_intervalMin(const MR_Polynomial_double_4 *_this, double a, double b)
MRC_API MR_Polynomial_float_2 * MR_Polynomial_float_2_AssignFromAnother(MR_Polynomial_float_2 *_this, MR_PassBy _other_pass_by, MR_Polynomial_float_2 *_other)
MRC_API MR_Polynomial_float_0 * MR_Polynomial_float_0_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_float_0 *_other)
MRC_API MR_Polynomial_float_3 * MR_Polynomial_float_3_AssignFromAnother(MR_Polynomial_float_3 *_this, MR_PassBy _other_pass_by, MR_Polynomial_float_3 *_other)
MRC_API void MR_PolynomialWrapper_float_Destroy(const MR_PolynomialWrapper_float *_this)
Destroys a heap-allocated instance of MR_PolynomialWrapper_float. Does nothing if the pointer is null...
MRC_API MR_Polynomial_double_4 * MR_Polynomial_double_4_DefaultConstruct(void)
struct MR_Polynomial_double_3 MR_Polynomial_double_3
Definition MRBestFitPolynomial.h:85
MRC_API MR_Polynomial_double_3 * MR_Polynomial_double_3_DefaultConstructArray(size_t num_elems)
MRC_API MR_Polynomial_float_2 * MR_Polynomial_float_2_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_float_2 *_other)
MRC_API MR_Polynomial_double_6 * MR_Polynomial_double_6_OffsetMutablePtr(MR_Polynomial_double_6 *ptr, ptrdiff_t i)
MRC_API MR_Polynomial_double_5 * MR_Polynomial_double_6_deriv(const MR_Polynomial_double_6 *_this)
MRC_API MR_Polynomial_double_2 * MR_Polynomial_double_2_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_double_2 *_other)
MRC_API MR_Polynomial_float_3 * MR_Polynomial_float_4_deriv(const MR_Polynomial_float_4 *_this)
MRC_API MR_PolynomialWrapper_double * MR_PolynomialWrapper_double_ConstructFromAnother(MR_PassBy _other_pass_by, MR_PolynomialWrapper_double *_other)
MRC_API MR_Polynomial_float_3 * MR_Polynomial_float_3_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_float_3 *_other)
MRC_API MR_Polynomial_float_5 * MR_Polynomial_float_5_OffsetMutablePtr(MR_Polynomial_float_5 *ptr, ptrdiff_t i)
MRC_API MR_std_vector_float * MR_Polynomial_float_3_solve(const MR_Polynomial_float_3 *_this, float tol)
MRC_API MR_Polynomial_float_4 * MR_Polynomial_float_4_DefaultConstructArray(size_t num_elems)
MRC_API MR_Polynomial_float_5 * MR_Polynomial_float_5_DefaultConstruct(void)
MRC_API MR_std_vector_double * MR_Polynomial_double_1_solve(const MR_Polynomial_double_1 *_this, double tol)
MRC_API MR_Polynomial_float_3 * MR_Polynomial_float_3_OffsetMutablePtr(MR_Polynomial_float_3 *ptr, ptrdiff_t i)
MRC_API void MR_Polynomial_double_4_DestroyArray(const MR_Polynomial_double_4 *_this)
Destroys a heap-allocated array of MR_Polynomial_double_4. Does nothing if the pointer is null.
MRC_API void MR_PolynomialWrapper_float_DestroyArray(const MR_PolynomialWrapper_float *_this)
Destroys a heap-allocated array of MR_PolynomialWrapper_float. Does nothing if the pointer is null.
MRC_API const MR_Polynomial_float_0 * MR_Polynomial_float_0_OffsetPtr(const MR_Polynomial_float_0 *ptr, ptrdiff_t i)
MRC_API MR_Polynomial_float_5 * MR_Polynomial_float_6_deriv(const MR_Polynomial_float_6 *_this)
MRC_API float MR_Polynomial_float_0_intervalMin(const MR_Polynomial_float_0 *_this, float a, float b)
MRC_API const MR_uint64_t * MR_Polynomial_double_6_Get_n(void)
MRC_API void MR_Polynomial_double_1_DestroyArray(const MR_Polynomial_double_1 *_this)
Destroys a heap-allocated array of MR_Polynomial_double_1. Does nothing if the pointer is null.
MRC_API MR_Polynomial_double_3 * MR_Polynomial_double_3_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_double_3 *_other)
struct MR_Polynomial_float_1 MR_Polynomial_float_1
Definition MRBestFitPolynomial.h:31
MRC_API MR_Polynomial_double_1 * MR_Polynomial_double_1_DefaultConstructArray(size_t num_elems)
MRC_API MR_Polynomial_double_6 * MR_Polynomial_double_6_DefaultConstruct(void)
MRC_API MR_Polynomial_float_5 * MR_Polynomial_float_5_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_float_5 *_other)
struct MR_std_optional_float MR_std_optional_float
Definition MRBestFitPolynomial.h:14
MRC_API MR_PolynomialWrapper_float * MR_PolynomialWrapper_float_OffsetMutablePtr(MR_PolynomialWrapper_float *ptr, ptrdiff_t i)
MRC_API void MR_Polynomial_float_0_Destroy(const MR_Polynomial_float_0 *_this)
Destroys a heap-allocated instance of MR_Polynomial_float_0. Does nothing if the pointer is null.
MRC_API const MR_uint64_t * MR_Polynomial_double_5_Get_n(void)
MRC_API float MR_Polynomial_float_1_intervalMin(const MR_Polynomial_float_1 *_this, float a, float b)
MRC_API MR_Polynomial_float_6 * MR_Polynomial_float_6_AssignFromAnother(MR_Polynomial_float_6 *_this, MR_PassBy _other_pass_by, MR_Polynomial_float_6 *_other)
MRC_API MR_std_vector_float * MR_Polynomial_float_4_solve(const MR_Polynomial_float_4 *_this, float tol)
MRC_API void MR_PolynomialWrapper_float_Set_poly(MR_PolynomialWrapper_float *_this, MR_PassBy value_pass_by, MR_std_variant_MR_Polynomial_float_0_MR_Polynomial_float_1_MR_Polynomial_float_2_MR_Polynomial_float_3_MR_Polynomial_float_4_MR_Polynomial_float_5_MR_Polynomial_float_6 *value)
MRC_API void MR_PolynomialWrapper_double_DestroyArray(const MR_PolynomialWrapper_double *_this)
Destroys a heap-allocated array of MR_PolynomialWrapper_double. Does nothing if the pointer is null.
MRC_API double MR_Polynomial_double_0_intervalMin(const MR_Polynomial_double_0 *_this, double a, double b)
MRC_API const MR_Polynomial_float_3 * MR_Polynomial_float_3_OffsetPtr(const MR_Polynomial_float_3 *ptr, ptrdiff_t i)
MRC_API double MR_Polynomial_double_2_intervalMin(const MR_Polynomial_double_2 *_this, double a, double b)
MRC_API const MR_Polynomial_float_2 * MR_Polynomial_float_2_OffsetPtr(const MR_Polynomial_float_2 *ptr, ptrdiff_t i)
MRC_API MR_PolynomialWrapper_float * MR_PolynomialWrapper_float_ConstructFromAnother(MR_PassBy _other_pass_by, MR_PolynomialWrapper_float *_other)
MRC_API void MR_Polynomial_float_3_Destroy(const MR_Polynomial_float_3 *_this)
Destroys a heap-allocated instance of MR_Polynomial_float_3. Does nothing if the pointer is null.
struct MR_Polynomial_float_4 MR_Polynomial_float_4
Definition MRBestFitPolynomial.h:49
MRC_API void MR_Polynomial_double_2_DestroyArray(const MR_Polynomial_double_2 *_this)
Destroys a heap-allocated array of MR_Polynomial_double_2. Does nothing if the pointer is null.
MRC_API double MR_Polynomial_double_5_intervalMin(const MR_Polynomial_double_5 *_this, double a, double b)
MRC_API MR_Polynomial_float_4 * MR_Polynomial_float_5_deriv(const MR_Polynomial_float_5 *_this)
MRC_API MR_Polynomial_double_1 * MR_Polynomial_double_1_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_double_1 *_other)
MRC_API float MR_Polynomial_float_2_call(const MR_Polynomial_float_2 *_this, float x)
MRC_API MR_std_vector_double * MR_Polynomial_double_4_solve(const MR_Polynomial_double_4 *_this, double tol)
MRC_API void MR_Polynomial_float_5_Destroy(const MR_Polynomial_float_5 *_this)
Destroys a heap-allocated instance of MR_Polynomial_float_5. Does nothing if the pointer is null.
MRC_API MR_Polynomial_double_4 * MR_Polynomial_double_4_OffsetMutablePtr(MR_Polynomial_double_4 *ptr, ptrdiff_t i)
MRC_API MR_Polynomial_double_5 * MR_Polynomial_double_5_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_double_5 *_other)
MRC_API MR_Polynomial_float_3 * MR_Polynomial_float_3_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Polynomial_double_1_Destroy(const MR_Polynomial_double_1 *_this)
Destroys a heap-allocated instance of MR_Polynomial_double_1. Does nothing if the pointer is null.
MRC_API MR_Polynomial_double_0 * MR_Polynomial_double_0_AssignFromAnother(MR_Polynomial_double_0 *_this, MR_PassBy _other_pass_by, MR_Polynomial_double_0 *_other)
MRC_API const MR_std_variant_MR_Polynomial_double_0_MR_Polynomial_double_1_MR_Polynomial_double_2_MR_Polynomial_double_3_MR_Polynomial_double_4_MR_Polynomial_double_5_MR_Polynomial_double_6 * MR_PolynomialWrapper_double_Get_poly(const MR_PolynomialWrapper_double *_this)
MRC_API const MR_PolynomialWrapper_float * MR_PolynomialWrapper_float_OffsetPtr(const MR_PolynomialWrapper_float *ptr, ptrdiff_t i)
MRC_API const MR_uint64_t * MR_Polynomial_float_1_Get_n(void)
MRC_API MR_Polynomial_double_0 * MR_Polynomial_double_0_DefaultConstruct(void)
MRC_API float MR_Polynomial_float_3_call(const MR_Polynomial_float_3 *_this, float x)
MRC_API MR_Polynomial_double_6 * MR_Polynomial_double_6_AssignFromAnother(MR_Polynomial_double_6 *_this, MR_PassBy _other_pass_by, MR_Polynomial_double_6 *_other)
MRC_API MR_Polynomial_float_5 * MR_Polynomial_float_5_AssignFromAnother(MR_Polynomial_float_5 *_this, MR_PassBy _other_pass_by, MR_Polynomial_float_5 *_other)
MRC_API const MR_Polynomial_double_0 * MR_Polynomial_double_0_OffsetPtr(const MR_Polynomial_double_0 *ptr, ptrdiff_t i)
MRC_API MR_Polynomial_float_0 * MR_Polynomial_float_0_DefaultConstruct(void)
MRC_API MR_Polynomial_double_5 * MR_Polynomial_double_5_DefaultConstructArray(size_t num_elems)
MRC_API MR_std_optional_float * MR_PolynomialWrapper_float_intervalMin(const MR_PolynomialWrapper_float *_this, float a, float b)
MRC_API MR_Polynomial_double_6 * MR_Polynomial_double_6_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_double_6 *_other)
MRC_API MR_Polynomial_float_0 * MR_Polynomial_float_0_deriv(const MR_Polynomial_float_0 *_this)
MRC_API void MR_Polynomial_float_4_Destroy(const MR_Polynomial_float_4 *_this)
Destroys a heap-allocated instance of MR_Polynomial_float_4. Does nothing if the pointer is null.
MRC_API double MR_PolynomialWrapper_double_call(const MR_PolynomialWrapper_double *_this, double x)
MRC_API MR_Polynomial_float_2 * MR_Polynomial_float_3_deriv(const MR_Polynomial_float_3 *_this)
MRC_API MR_std_variant_MR_Polynomial_double_0_MR_Polynomial_double_1_MR_Polynomial_double_2_MR_Polynomial_double_3_MR_Polynomial_double_4_MR_Polynomial_double_5_MR_Polynomial_double_6 * MR_PolynomialWrapper_double_GetMutable_poly(MR_PolynomialWrapper_double *_this)
MRC_API const MR_uint64_t * MR_Polynomial_double_3_Get_n(void)
MRC_API const MR_uint64_t * MR_Polynomial_float_3_Get_n(void)
MRC_API MR_std_vector_float * MR_Polynomial_float_1_solve(const MR_Polynomial_float_1 *_this, float tol)
MRC_API MR_Polynomial_double_0 * MR_Polynomial_double_0_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_double_0 *_other)
MRC_API void MR_Polynomial_double_2_Destroy(const MR_Polynomial_double_2 *_this)
Destroys a heap-allocated instance of MR_Polynomial_double_2. Does nothing if the pointer is null.
MRC_API void MR_Polynomial_double_0_Destroy(const MR_Polynomial_double_0 *_this)
Destroys a heap-allocated instance of MR_Polynomial_double_0. Does nothing if the pointer is null.
MRC_API const MR_std_variant_MR_Polynomial_float_0_MR_Polynomial_float_1_MR_Polynomial_float_2_MR_Polynomial_float_3_MR_Polynomial_float_4_MR_Polynomial_float_5_MR_Polynomial_float_6 * MR_PolynomialWrapper_float_Get_poly(const MR_PolynomialWrapper_float *_this)
MRC_API MR_Polynomial_double_0 * MR_Polynomial_double_0_OffsetMutablePtr(MR_Polynomial_double_0 *ptr, ptrdiff_t i)
MRC_API const MR_uint64_t * MR_Polynomial_float_0_Get_n(void)
MRC_API MR_Polynomial_float_2 * MR_Polynomial_float_2_OffsetMutablePtr(MR_Polynomial_float_2 *ptr, ptrdiff_t i)
MRC_API MR_Polynomial_double_5 * MR_Polynomial_double_5_DefaultConstruct(void)
MRC_API float MR_Polynomial_float_4_intervalMin(const MR_Polynomial_float_4 *_this, float a, float b)
MRC_API MR_Polynomial_float_6 * MR_Polynomial_float_6_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Polynomial_double_5_Destroy(const MR_Polynomial_double_5 *_this)
Destroys a heap-allocated instance of MR_Polynomial_double_5. Does nothing if the pointer is null.
MRC_API MR_Polynomial_double_1 * MR_Polynomial_double_2_deriv(const MR_Polynomial_double_2 *_this)
MRC_API double MR_Polynomial_double_5_call(const MR_Polynomial_double_5 *_this, double x)
MRC_API MR_Polynomial_double_3 * MR_Polynomial_double_4_deriv(const MR_Polynomial_double_4 *_this)
MRC_API MR_Polynomial_float_1 * MR_Polynomial_float_1_DefaultConstruct(void)
MRC_API void MR_Polynomial_float_4_DestroyArray(const MR_Polynomial_float_4 *_this)
Destroys a heap-allocated array of MR_Polynomial_float_4. Does nothing if the pointer is null.
MRC_API float MR_Polynomial_float_6_call(const MR_Polynomial_float_6 *_this, float x)
MRC_API MR_Polynomial_float_1 * MR_Polynomial_float_1_DefaultConstructArray(size_t num_elems)
MRC_API double MR_Polynomial_double_1_call(const MR_Polynomial_double_1 *_this, double x)
MRC_API float MR_Polynomial_float_3_intervalMin(const MR_Polynomial_float_3 *_this, float a, float b)
MRC_API void MR_Polynomial_double_4_Destroy(const MR_Polynomial_double_4 *_this)
Destroys a heap-allocated instance of MR_Polynomial_double_4. Does nothing if the pointer is null.
MRC_API MR_std_optional_double * MR_PolynomialWrapper_double_intervalMin(const MR_PolynomialWrapper_double *_this, double a, double b)
struct MR_Polynomial_float_6 MR_Polynomial_float_6
Definition MRBestFitPolynomial.h:61
MRC_API const MR_Polynomial_double_1 * MR_Polynomial_double_1_OffsetPtr(const MR_Polynomial_double_1 *ptr, ptrdiff_t i)
struct MR_Polynomial_double_5 MR_Polynomial_double_5
Definition MRBestFitPolynomial.h:97
MRC_API MR_PolynomialWrapper_double * MR_PolynomialWrapper_double_AssignFromAnother(MR_PolynomialWrapper_double *_this, MR_PassBy _other_pass_by, MR_PolynomialWrapper_double *_other)
MRC_API float MR_Polynomial_float_5_call(const MR_Polynomial_float_5 *_this, float x)
MRC_API float MR_Polynomial_float_1_call(const MR_Polynomial_float_1 *_this, float x)
struct MR_PolynomialWrapper_float MR_PolynomialWrapper_float
Definition MRBestFitPolynomial.h:108
struct MR_Polynomial_float_5 MR_Polynomial_float_5
Definition MRBestFitPolynomial.h:55
MRC_API const MR_Polynomial_double_5 * MR_Polynomial_double_5_OffsetPtr(const MR_Polynomial_double_5 *ptr, ptrdiff_t i)
MRC_API MR_PolynomialWrapper_double * MR_PolynomialWrapper_double_deriv(const MR_PolynomialWrapper_double *_this)
MRC_API void MR_Polynomial_float_1_Destroy(const MR_Polynomial_float_1 *_this)
Destroys a heap-allocated instance of MR_Polynomial_float_1. Does nothing if the pointer is null.
MRC_API double MR_Polynomial_double_3_intervalMin(const MR_Polynomial_double_3 *_this, double a, double b)
struct MR_Polynomial_float_3 MR_Polynomial_float_3
Definition MRBestFitPolynomial.h:43
MRC_API double MR_Polynomial_double_6_call(const MR_Polynomial_double_6 *_this, double x)
MRC_API double MR_Polynomial_double_1_intervalMin(const MR_Polynomial_double_1 *_this, double a, double b)
MRC_API void MR_Polynomial_float_6_DestroyArray(const MR_Polynomial_float_6 *_this)
Destroys a heap-allocated array of MR_Polynomial_float_6. Does nothing if the pointer is null.
MRC_API MR_Polynomial_double_2 * MR_Polynomial_double_2_AssignFromAnother(MR_Polynomial_double_2 *_this, MR_PassBy _other_pass_by, MR_Polynomial_double_2 *_other)
MRC_API MR_Polynomial_double_2 * MR_Polynomial_double_3_deriv(const MR_Polynomial_double_3 *_this)
struct MR_std_variant_MR_Polynomial_double_0_MR_Polynomial_double_1_MR_Polynomial_double_2_MR_Polynomial_double_3_MR_Polynomial_double_4_MR_Polynomial_double_5_MR_Polynomial_double_6 MR_std_variant_MR_Polynomial_double_0_MR_Polynomial_double_1_MR_Polynomial_double_2_MR_Polynomial_double_3_MR_Polynomial_double_4_MR_Polynomial_double_5_MR_Polynomial_double_6
Definition MRBestFitPolynomial.h:15
MRC_API MR_Polynomial_double_0 * MR_Polynomial_double_0_DefaultConstructArray(size_t num_elems)
MRC_API MR_Polynomial_float_1 * MR_Polynomial_float_2_deriv(const MR_Polynomial_float_2 *_this)
MRC_API MR_Polynomial_float_4 * MR_Polynomial_float_4_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_float_4 *_other)
struct MR_PolynomialWrapper_double MR_PolynomialWrapper_double
Definition MRBestFitPolynomial.h:113
MRC_API MR_Polynomial_double_4 * MR_Polynomial_double_4_DefaultConstructArray(size_t num_elems)
MRC_API MR_std_variant_MR_Polynomial_float_0_MR_Polynomial_float_1_MR_Polynomial_float_2_MR_Polynomial_float_3_MR_Polynomial_float_4_MR_Polynomial_float_5_MR_Polynomial_float_6 * MR_PolynomialWrapper_float_GetMutable_poly(MR_PolynomialWrapper_float *_this)
MRC_API void MR_PolynomialWrapper_double_Destroy(const MR_PolynomialWrapper_double *_this)
Destroys a heap-allocated instance of MR_PolynomialWrapper_double. Does nothing if the pointer is nul...
MRC_API double MR_Polynomial_double_4_call(const MR_Polynomial_double_4 *_this, double x)
MRC_API const MR_uint64_t * MR_Polynomial_double_4_Get_n(void)
MRC_API MR_Polynomial_double_3 * MR_Polynomial_double_3_DefaultConstruct(void)
MRC_API double MR_Polynomial_double_2_call(const MR_Polynomial_double_2 *_this, double x)
MRC_API MR_Polynomial_float_0 * MR_Polynomial_float_0_AssignFromAnother(MR_Polynomial_float_0 *_this, MR_PassBy _other_pass_by, MR_Polynomial_float_0 *_other)
MRC_API const MR_Polynomial_float_4 * MR_Polynomial_float_4_OffsetPtr(const MR_Polynomial_float_4 *ptr, ptrdiff_t i)
MRC_API void MR_Polynomial_double_6_Destroy(const MR_Polynomial_double_6 *_this)
Destroys a heap-allocated instance of MR_Polynomial_double_6. Does nothing if the pointer is null.
MRC_API MR_Polynomial_double_4 * MR_Polynomial_double_4_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_double_4 *_other)
MRC_API MR_PolynomialWrapper_float * MR_PolynomialWrapper_float_deriv(const MR_PolynomialWrapper_float *_this)
MRC_API MR_Polynomial_double_5 * MR_Polynomial_double_5_AssignFromAnother(MR_Polynomial_double_5 *_this, MR_PassBy _other_pass_by, MR_Polynomial_double_5 *_other)
MRC_API const MR_Polynomial_float_1 * MR_Polynomial_float_1_OffsetPtr(const MR_Polynomial_float_1 *ptr, ptrdiff_t i)
MRC_API const MR_Polynomial_double_6 * MR_Polynomial_double_6_OffsetPtr(const MR_Polynomial_double_6 *ptr, ptrdiff_t i)
MRC_API void MR_Polynomial_double_3_Destroy(const MR_Polynomial_double_3 *_this)
Destroys a heap-allocated instance of MR_Polynomial_double_3. Does nothing if the pointer is null.
MRC_API MR_Polynomial_double_0 * MR_Polynomial_double_0_deriv(const MR_Polynomial_double_0 *_this)
MRC_API MR_Polynomial_float_1 * MR_Polynomial_float_1_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_float_1 *_other)
struct MR_std_optional_double MR_std_optional_double
Definition MRBestFitPolynomial.h:13
MRC_API MR_Polynomial_double_4 * MR_Polynomial_double_4_AssignFromAnother(MR_Polynomial_double_4 *_this, MR_PassBy _other_pass_by, MR_Polynomial_double_4 *_other)
MRC_API double MR_Polynomial_double_0_call(const MR_Polynomial_double_0 *_this, double x)
MRC_API MR_Polynomial_float_6 * MR_Polynomial_float_6_ConstructFromAnother(MR_PassBy _other_pass_by, MR_Polynomial_float_6 *_other)
MRC_API const MR_uint64_t * MR_Polynomial_float_2_Get_n(void)
MRC_API const MR_Polynomial_float_6 * MR_Polynomial_float_6_OffsetPtr(const MR_Polynomial_float_6 *ptr, ptrdiff_t i)
MRC_API MR_std_vector_double * MR_Polynomial_double_3_solve(const MR_Polynomial_double_3 *_this, double tol)
MRC_API MR_Polynomial_double_0 * MR_Polynomial_double_1_deriv(const MR_Polynomial_double_1 *_this)
MRC_API void MR_Polynomial_float_1_DestroyArray(const MR_Polynomial_float_1 *_this)
Destroys a heap-allocated array of MR_Polynomial_float_1. Does nothing if the pointer is null.
MRC_API const MR_Polynomial_double_4 * MR_Polynomial_double_4_OffsetPtr(const MR_Polynomial_double_4 *ptr, ptrdiff_t i)
MRC_API MR_Polynomial_float_4 * MR_Polynomial_float_4_AssignFromAnother(MR_Polynomial_float_4 *_this, MR_PassBy _other_pass_by, MR_Polynomial_float_4 *_other)
MRC_API const MR_Polynomial_float_5 * MR_Polynomial_float_5_OffsetPtr(const MR_Polynomial_float_5 *ptr, ptrdiff_t i)
MRC_API MR_std_vector_float * MR_Polynomial_float_2_solve(const MR_Polynomial_float_2 *_this, float tol)
MRC_API void MR_PolynomialWrapper_double_Set_poly(MR_PolynomialWrapper_double *_this, MR_PassBy value_pass_by, MR_std_variant_MR_Polynomial_double_0_MR_Polynomial_double_1_MR_Polynomial_double_2_MR_Polynomial_double_3_MR_Polynomial_double_4_MR_Polynomial_double_5_MR_Polynomial_double_6 *value)
MRC_API MR_Polynomial_double_1 * MR_Polynomial_double_1_OffsetMutablePtr(MR_Polynomial_double_1 *ptr, ptrdiff_t i)
struct MR_Polynomial_double_4 MR_Polynomial_double_4
Definition MRBestFitPolynomial.h:91
MRC_API MR_Polynomial_float_1 * MR_Polynomial_float_1_AssignFromAnother(MR_Polynomial_float_1 *_this, MR_PassBy _other_pass_by, MR_Polynomial_float_1 *_other)
MRC_API MR_Polynomial_double_3 * MR_Polynomial_double_3_AssignFromAnother(MR_Polynomial_double_3 *_this, MR_PassBy _other_pass_by, MR_Polynomial_double_3 *_other)
struct MR_std_vector_double MR_std_vector_double
Definition MRBestFitPolynomial.h:17
MRC_API MR_Polynomial_double_1 * MR_Polynomial_double_1_AssignFromAnother(MR_Polynomial_double_1 *_this, MR_PassBy _other_pass_by, MR_Polynomial_double_1 *_other)
MRC_API void MR_Polynomial_double_6_DestroyArray(const MR_Polynomial_double_6 *_this)
Destroys a heap-allocated array of MR_Polynomial_double_6. Does nothing if the pointer is null.
MRC_API MR_PolynomialWrapper_double * MR_PolynomialWrapper_double_OffsetMutablePtr(MR_PolynomialWrapper_double *ptr, ptrdiff_t i)
MRC_API float MR_PolynomialWrapper_float_call(const MR_PolynomialWrapper_float *_this, float x)
MRC_API float MR_Polynomial_float_4_call(const MR_Polynomial_float_4 *_this, float x)
MRC_API MR_Polynomial_float_0 * MR_Polynomial_float_0_OffsetMutablePtr(MR_Polynomial_float_0 *ptr, ptrdiff_t i)
MRC_API const MR_Polynomial_double_3 * MR_Polynomial_double_3_OffsetPtr(const MR_Polynomial_double_3 *ptr, ptrdiff_t i)
struct MR_Polynomial_float_0 MR_Polynomial_float_0
Definition MRBestFitPolynomial.h:25
MRC_API const MR_PolynomialWrapper_double * MR_PolynomialWrapper_double_OffsetPtr(const MR_PolynomialWrapper_double *ptr, ptrdiff_t i)
MRC_API MR_Polynomial_float_6 * MR_Polynomial_float_6_DefaultConstruct(void)
MRC_API MR_Polynomial_float_2 * MR_Polynomial_float_2_DefaultConstructArray(size_t num_elems)
struct MR_Polynomial_float_2 MR_Polynomial_float_2
Definition MRBestFitPolynomial.h:37
struct MR_std_vector_float MR_std_vector_float
Definition MRPdf.h:27
MR_PassBy
Definition common.h:23
uint64_t MR_uint64_t
Definition common.h:18
#define MRC_API
Definition exports.h:11