代码拉取完成,页面将自动刷新
#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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。