Ai
1 Star 4 Fork 1

爱丽丝妹妹与数学妖精/matrix_plus_cpp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
matrix 1.69 KB
一键复制 编辑 原始数据 按行查看 历史
AuroraKarow 提交于 2023-12-02 17:05 +08:00 . Update net_decimal from repository
#pragma once
#ifndef __MATRIX__
#define __MATRIX__
#include <intrin.h>
#include "net_decimal"
#include "net_list"
#include "net_sequence"
#define MATRIX_BEGIN namespace neunet { namespace matrix {
#define MATRIX_END }}
#define MATRIX_ELEM_MULT 0x0000
#define MATRIX_ELEM_DIV 0x0001
#define MATRIX_ELEM_POW 0x0002
#define MATRIX_BYTESIZE 0x0008
#define MATRIX_REGSIZE 0x0004
#define MATRIX_UNROLL MATRIX_REGSIZE
#define MATRIX_UNROLL_UNIT 0x0010
#define MATRIX_BLOCKSIZE MATRIX_UNROLL_UNIT
#define matrix_elem_t arg
#define matrix_elem_t_v std::is_same_v<matrix_elem_t, neunet::net_decimal> ||\
std::is_floating_point_v<matrix_elem_t>
#define matrix_ptr matrix_elem_t *
#define matrices_ptr args *
#define matrix_elem_v = std::enable_if_t<matrix_elem_t_v>
#define matrix_elem_vn = std::enable_if_t<matrix_elem_t_v || std::is_integral_v<matrix_elem_t>>
#define callback_matrix template<typename matrix_elem_t, typename matrix_elem_v>
#define callback_matrix_n template<typename matrix_elem_t, typename matrix_elem_vn>
#define callback_matrices template<typename ... args>
#define matrix_elem_para i_arg
#define matrix_elem_para_v = std::enable_if_t<std::is_same_v<i_arg, net_decimal> ||\
std::is_floating_point_v<i_arg> ||\
std::is_integral_v<i_arg>>
#define matrix_declare callback_matrix
#define neunet_vect matrix::net_matrix<matrix_elem_t>
#include "matrix_base.hpp"
#include "matrix.hpp"
NEUNET_BEGIN
typedef matrix::net_matrix<long double> vect;
typedef matrix::net_matrix<net_decimal> vect_dec;
NEUNET_END
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/AliceSisMathElf/matrix_plus_cpp.git
git@gitee.com:AliceSisMathElf/matrix_plus_cpp.git
AliceSisMathElf
matrix_plus_cpp
matrix_plus_cpp
master

搜索帮助