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].
25
26// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
27// The following degrees are instantiated: [2; 6].
30
31// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
32// The following degrees are instantiated: [2; 6].
35
36// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
37// The following degrees are instantiated: [2; 6].
40
41// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
42// The following degrees are instantiated: [2; 6].
45
46// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
47// 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].
55
56// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
57// The following degrees are instantiated: [2; 6].
60
61// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
62// The following degrees are instantiated: [2; 6].
65
66// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
67// The following degrees are instantiated: [2; 6].
70
71// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
72// The following degrees are instantiated: [2; 6].
75
76// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
77// 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].
85
86// Please note that these template classes are explicitly instantiated in the corresponding .cpp files.
87// The following degrees are instantiated: [2; 6].
90
94
98
101
104
108
112
117
120
123
127
130
133
138
142
147
151
155
159
164
167
170
174
177
180
185
189
194
199
203
207
211
216
219
222
226
229
232
237
241
246
251
255
259
263
268
271
274
278
281
284
289
293
298
303
307
311
315
320
323
326
330
333
336
341
345
350
355
359
363
367
372
375
378
382
385
388
393
397
402
406
410
414
419
422
425
429
432
435
440
444
449
453
457
462
465
468
472
475
478
483
487
492
496
500
504
509
512
515
519
522
525
530
534
539
544
548
552
556
561
564
567
571
574
577
582
586
591
596
600
604
608
613
616
619
623
626
629
634
638
643
648
652
656
660
665
668
671
675
678
681
686
690
695
700
704
708
712
717
720
723
727
730
733
738
742
747
751
755
759
764
767
770
774
777
780
785
789
794
799
803
808
812
815
818
821
824
829
833
838
843
848
852
857
861
864
867
870
873
878
882
887
892
893#ifdef __cplusplus
894} // extern "C"
895#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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_Polynomial_double_6 MR_Polynomial_double_6
Generated from class MR::Polynomial<double, 6>.
Definition MRBestFitPolynomial.h:89
struct MR_Polynomial_double_0 MR_Polynomial_double_0
Generated from class MR::Polynomial<double, 0>.
Definition MRBestFitPolynomial.h:59
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_Polynomial_double_2 * MR_Polynomial_double_2_OffsetPtr(const MR_Polynomial_double_2 *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_Polynomial_double_3 * MR_Polynomial_double_3_OffsetMutablePtr(MR_Polynomial_double_3 *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_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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::Polynomial<double, 1>.
Definition MRBestFitPolynomial.h:64
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::Polynomial<double, 2>.
Definition MRBestFitPolynomial.h:69
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::Polynomial<double, 3>.
Definition MRBestFitPolynomial.h:74
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::Polynomial<float, 1>.
Definition MRBestFitPolynomial.h:29
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::Polynomial<float, 4>.
Definition MRBestFitPolynomial.h:44
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::Polynomial<float, 6>.
Definition MRBestFitPolynomial.h:54
MRC_API const MR_Polynomial_double_1 * MR_Polynomial_double_1_OffsetPtr(const MR_Polynomial_double_1 *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_Polynomial_double_5 MR_Polynomial_double_5
Generated from class MR::Polynomial<double, 5>.
Definition MRBestFitPolynomial.h:84
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:93
struct MR_Polynomial_float_5 MR_Polynomial_float_5
Generated from class MR::Polynomial<float, 5>.
Definition MRBestFitPolynomial.h:49
MRC_API const MR_Polynomial_double_5 * MR_Polynomial_double_5_OffsetPtr(const MR_Polynomial_double_5 *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_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
Generated from class MR::Polynomial<float, 3>.
Definition MRBestFitPolynomial.h:39
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:97
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_Polynomial_double_6 * MR_Polynomial_double_6_OffsetPtr(const MR_Polynomial_double_6 *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_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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_Polynomial_double_4 MR_Polynomial_double_4
Generated from class MR::Polynomial<double, 4>.
Definition MRBestFitPolynomial.h:79
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_Polynomial_double_3 * MR_Polynomial_double_3_OffsetPtr(const MR_Polynomial_double_3 *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_Polynomial_float_0 MR_Polynomial_float_0
Generated from class MR::Polynomial<float, 0>.
Definition MRBestFitPolynomial.h:24
MRC_API const MR_PolynomialWrapper_double * MR_PolynomialWrapper_double_OffsetPtr(const MR_PolynomialWrapper_double *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_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
Generated from class MR::Polynomial<float, 2>.
Definition MRBestFitPolynomial.h:34
struct MR_std_vector_float MR_std_vector_float
Definition MRBestFit.h:27
MR_PassBy
Definition common.h:19
uint64_t MR_uint64_t
Definition common.h:14
#define MRC_API
Definition exports.h:11