45 lines
916 B
C++
45 lines
916 B
C++
//
|
|
// php-armadillo/mat.hh
|
|
//
|
|
// @Author CismonX
|
|
//
|
|
|
|
#ifndef PHP_ARMA_MAT_HH
|
|
#define PHP_ARMA_MAT_HH
|
|
|
|
#include "common/php_arma.hh"
|
|
#include "common/instantiable.hh"
|
|
#include "complex.hh"
|
|
|
|
namespace php_arma
|
|
{
|
|
template <typename T> struct subview_mat;
|
|
|
|
template <typename T>
|
|
struct mat : instantiable<mat<T>, false>
|
|
{
|
|
using native_t = arma::Mat<T>;
|
|
using orig_t = mat<T>;
|
|
using subview_t = subview_mat<T>;
|
|
using with_int_elem_t = mat<zend_long>;
|
|
using with_pod_elem_t = mat<typename arma::get_pod_type<T>::result>;
|
|
|
|
friend void mat_init();
|
|
|
|
PHP_ARMA_CE_HANDLRES_DECLARE();
|
|
|
|
private:
|
|
PHP_ARMA_COMMON_DECLARE();
|
|
|
|
static void ce_init(zend_class_entry*);
|
|
};
|
|
|
|
void mat_init();
|
|
|
|
constexpr const char mat_php_name[] = "Mat";
|
|
|
|
inline zend_class_entry *mat_ce;
|
|
}
|
|
|
|
#endif // !PHP_ARMA_MAT_HH
|