mirror of https://github.com/alibaba/MNN.git
				
				
				
			
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
| //
 | |
| //  Matrix.hpp
 | |
| //  MNN
 | |
| //
 | |
| //  Created by MNN on 2018/08/20.
 | |
| //  Copyright © 2018, Alibaba Group Holding Limited
 | |
| //
 | |
| 
 | |
| #ifndef Matrix_hpp
 | |
| #define Matrix_hpp
 | |
| 
 | |
| #include <stdio.h>
 | |
| #include <memory>
 | |
| #include <MNN/Tensor.hpp>
 | |
| namespace MNN {
 | |
| namespace Math {
 | |
| class MNN_PUBLIC Matrix {
 | |
| public:
 | |
|     static Tensor* createShape(int w, int h, void* data = nullptr);
 | |
|     static Tensor* create(int w, int h);
 | |
| 
 | |
|     static void multi(Tensor* C, const Tensor* A, const Tensor* B);
 | |
|     static void add(Tensor* C, const Tensor* A, const Tensor* B);
 | |
|     static void dot(Tensor* C, const Tensor* A, const Tensor* B);
 | |
|     static void divPerLine(Tensor* C, const Tensor* A, const Tensor* Line);
 | |
|     static void invert(Tensor* dst, const Tensor* src);
 | |
|     static void transpose(Tensor* dst, const Tensor* src);
 | |
|     static void print(const Tensor* C, const char* head = "Matrix:");
 | |
| 
 | |
|     static void mulPerLine(Tensor* C, const Tensor* A, const Tensor* Line);
 | |
| 
 | |
|     static std::shared_ptr<Tensor> polyMulti(std::shared_ptr<Tensor> A, std::shared_ptr<Tensor> B);
 | |
| 
 | |
|     // the determinant of the matrix
 | |
|     static float matDet(const Tensor* A);
 | |
| };
 | |
| } // namespace Math
 | |
| } // namespace MNN
 | |
| 
 | |
| #endif /* Matrix_hpp */
 |