17 #if !defined(ON_MATRIX_INC_) 18 #define ON_MATRIX_INC_ 39 #if defined(ON_HAS_RVALUEREF) 76 static double** Allocate(
77 unsigned int row_count,
78 unsigned int col_count
81 static void Deallocate(
86 void EmergencyDestroy();
91 double* operator[](
int);
92 const double* operator[](
int)
const;
100 int RowCount()
const;
101 int ColCount()
const;
102 int MinCount()
const;
103 int MaxCount()
const;
105 unsigned int UnsignedRowCount()
const;
106 unsigned int UnsignedColCount()
const;
107 unsigned int UnsignedMinCount()
const;
108 unsigned int UnsignedMaxCount()
const;
110 void RowScale(
int,
double);
111 void ColScale(
int,
double);
112 void RowOp(
int,
double,
int);
113 void ColOp(
int,
double,
int);
149 bool bDestructorFreeM
157 void SetDiagonal(
double);
158 void SetDiagonal(
const double*);
159 void SetDiagonal(
int,
const double*);
164 bool SwapRows(
int,
int );
165 bool SwapCols(
int,
int );
209 bool Scale(
double s );
401 bool IsRowOrthoganal()
const;
402 bool IsRowOrthoNormal()
const;
404 bool IsColOrthoganal()
const;
405 bool IsColOrthoNormal()
const;
408 double** m =
nullptr;
416 double** m_Mmem =
nullptr;
417 int m_row_offset = 0;
418 int m_col_offset = 0;
419 void* m_cmem =
nullptr;
421 double const *
const * ThisM()
const;
504 unsigned int ON_RowReduce(
505 unsigned int row_count,
507 double zero_pivot_tolerance,
508 const double*
const* constA,
510 bool bInitializeColumnPermutation,
513 unsigned int* column_permutation,
578 unsigned int ON_GetEigenvectors(
579 const unsigned int N,
580 const double*
const* M,
583 unsigned int lambda_multiplicity,
584 const double* termination_tolerances,
585 double** eigenvectors,
586 double* eigenprecision,
591 double ON_EigenvectorPrecision(
592 const unsigned int N,
593 const double*
const* M,
596 const double* eigenvector
605 double ON_MatrixSolutionPrecision(
606 const unsigned int N,
607 const double*
const* M,
Definition: opennurbs_matrix.h:22
Definition: opennurbs_point.h:460