// // php-armadillo/subview_mat.cc // // @Author CismonX // #include "subview_mat.hh" #include "subview.hh" #include "base.hh" #include "dense.hh" #include "matrix.hh" #include "dense_matrix.hh" #include "non_resizable.hh" #include "non_resizable_matrix.hh" #include "dense_non_resizable_matrix.hh" namespace php_arma { template PHP_ARMA_START_ME(subview_mat, T) PHP_ARMA_END_ME(); template void subview_mat::ce_init(zend_class_entry *parent_ce) { ce = class_register(parent_ce, fentry_list_concat( PHP_ARMA_FENTRY((base ::me)), PHP_ARMA_FENTRY((dense ::me)), PHP_ARMA_FENTRY((matrix ::me)), PHP_ARMA_FENTRY((dense_matrix ::me)), PHP_ARMA_FENTRY((non_resizable ::me)), PHP_ARMA_FENTRY((non_resizable_matrix ::me)), PHP_ARMA_FENTRY((dense_non_resizable_matrix::me)), PHP_ARMA_FENTRY((subview ::me)), PHP_ARMA_FENTRY(me) )); ce->create_object = object_non_constructible; declare_subview_parent(ce); object_handlers_init(&handlers); handlers.offset = sizeof(native_t); handlers.clone_obj = nullptr; handlers.count_elements = base::count_elements; } PHP_ARMA_NAME_DECLARE(subview_mat, "DSvMat", double); PHP_ARMA_NAME_DECLARE(subview_mat, "ISvMat", zend_long); PHP_ARMA_NAME_DECLARE(subview_mat, "CxDSvMat", cx_double); void subview_mat_init() { subview_mat_ce = abstract_class_register( dense_non_resizable_matrix_ce, subview_ce); subview_mat::ce_init(subview_mat_ce); subview_mat::ce_init(subview_mat_ce); subview_mat::ce_init(subview_mat_ce); } }