cii-text-analysis/vendor/rubix/tensor/ext/tensor.c
Jéremy Munsch f68d2ac333
premier poc
2026-02-11 08:24:04 +01:00

219 lines
5 KiB
C

/* This file was generated automatically by Zephir do not modify it! */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <php.h>
#include "php_ext.h"
#include "tensor.h"
#include <ext/standard/info.h>
#include <Zend/zend_operators.h>
#include <Zend/zend_exceptions.h>
#include <Zend/zend_interfaces.h>
#include "kernel/globals.h"
#include "kernel/main.h"
#include "kernel/fcall.h"
#include "kernel/memory.h"
#include "cblas.h"
zend_class_entry *tensor_arithmetic_ce;
zend_class_entry *tensor_arraylike_ce;
zend_class_entry *tensor_comparable_ce;
zend_class_entry *tensor_functional_ce;
zend_class_entry *tensor_statistical_ce;
zend_class_entry *tensor_trigonometric_ce;
zend_class_entry *tensor_exceptions_tensorexception_ce;
zend_class_entry *tensor_tensor_ce;
zend_class_entry *tensor_exceptions_invalidargumentexception_ce;
zend_class_entry *tensor_vector_ce;
zend_class_entry *tensor_columnvector_ce;
zend_class_entry *tensor_decompositions_cholesky_ce;
zend_class_entry *tensor_decompositions_eigen_ce;
zend_class_entry *tensor_decompositions_lu_ce;
zend_class_entry *tensor_decompositions_svd_ce;
zend_class_entry *tensor_exceptions_dimensionalitymismatch_ce;
zend_class_entry *tensor_exceptions_runtimeexception_ce;
zend_class_entry *tensor_matrix_ce;
zend_class_entry *tensor_reductions_ref_ce;
zend_class_entry *tensor_reductions_rref_ce;
zend_class_entry *tensor_settings_ce;
ZEND_DECLARE_MODULE_GLOBALS(tensor)
PHP_INI_BEGIN()
PHP_INI_END()
static PHP_MINIT_FUNCTION(tensor)
{
REGISTER_INI_ENTRIES();
zephir_module_init();
ZEPHIR_INIT(Tensor_Arithmetic);
ZEPHIR_INIT(Tensor_ArrayLike);
ZEPHIR_INIT(Tensor_Comparable);
ZEPHIR_INIT(Tensor_Functional);
ZEPHIR_INIT(Tensor_Statistical);
ZEPHIR_INIT(Tensor_Trigonometric);
ZEPHIR_INIT(Tensor_Exceptions_TensorException);
ZEPHIR_INIT(Tensor_Tensor);
ZEPHIR_INIT(Tensor_Exceptions_InvalidArgumentException);
ZEPHIR_INIT(Tensor_Vector);
ZEPHIR_INIT(Tensor_ColumnVector);
ZEPHIR_INIT(Tensor_Decompositions_Cholesky);
ZEPHIR_INIT(Tensor_Decompositions_Eigen);
ZEPHIR_INIT(Tensor_Decompositions_Lu);
ZEPHIR_INIT(Tensor_Decompositions_Svd);
ZEPHIR_INIT(Tensor_Exceptions_DimensionalityMismatch);
ZEPHIR_INIT(Tensor_Exceptions_RuntimeException);
ZEPHIR_INIT(Tensor_Matrix);
ZEPHIR_INIT(Tensor_Reductions_Ref);
ZEPHIR_INIT(Tensor_Reductions_Rref);
ZEPHIR_INIT(Tensor_Settings);
openblas_set_num_threads(1);
return SUCCESS;
}
#ifndef ZEPHIR_RELEASE
static PHP_MSHUTDOWN_FUNCTION(tensor)
{
zephir_deinitialize_memory(TSRMLS_C);
UNREGISTER_INI_ENTRIES();
return SUCCESS;
}
#endif
/**
* Initialize globals on each request or each thread started
*/
static void php_zephir_init_globals(zend_tensor_globals *tensor_globals TSRMLS_DC)
{
tensor_globals->initialized = 0;
/* Cache Enabled */
tensor_globals->cache_enabled = 1;
/* Recursive Lock */
tensor_globals->recursive_lock = 0;
/* Static cache */
memset(tensor_globals->scache, '\0', sizeof(zephir_fcall_cache_entry*) * ZEPHIR_MAX_CACHE_SLOTS);
}
/**
* Initialize globals only on each thread started
*/
static void php_zephir_init_module_globals(zend_tensor_globals *tensor_globals TSRMLS_DC)
{
}
static PHP_RINIT_FUNCTION(tensor)
{
zend_tensor_globals *tensor_globals_ptr;
tensor_globals_ptr = ZEPHIR_VGLOBAL;
php_zephir_init_globals(tensor_globals_ptr);
zephir_initialize_memory(tensor_globals_ptr);
return SUCCESS;
}
static PHP_RSHUTDOWN_FUNCTION(tensor)
{
zephir_deinitialize_memory(TSRMLS_C);
return SUCCESS;
}
static PHP_MINFO_FUNCTION(tensor)
{
php_info_print_box_start(0);
php_printf("%s", PHP_TENSOR_DESCRIPTION);
php_info_print_box_end();
php_info_print_table_start();
php_info_print_table_header(2, PHP_TENSOR_NAME, "enabled");
php_info_print_table_row(2, "Author", PHP_TENSOR_AUTHOR);
php_info_print_table_row(2, "Version", PHP_TENSOR_VERSION);
php_info_print_table_row(2, "Build Date", __DATE__ " " __TIME__ );
php_info_print_table_row(2, "Powered by Zephir", "Version " PHP_TENSOR_ZEPVERSION);
php_info_print_table_end();
DISPLAY_INI_ENTRIES();
}
static PHP_GINIT_FUNCTION(tensor)
{
#if defined(COMPILE_DL_TENSOR) && defined(ZTS)
ZEND_TSRMLS_CACHE_UPDATE();
#endif
php_zephir_init_globals(tensor_globals);
php_zephir_init_module_globals(tensor_globals);
}
static PHP_GSHUTDOWN_FUNCTION(tensor)
{
}
zend_function_entry php_tensor_functions[] = {
ZEND_FE_END
};
static const zend_module_dep php_tensor_deps[] = {
ZEND_MOD_END
};
zend_module_entry tensor_module_entry = {
STANDARD_MODULE_HEADER_EX,
NULL,
php_tensor_deps,
PHP_TENSOR_EXTNAME,
php_tensor_functions,
PHP_MINIT(tensor),
#ifndef ZEPHIR_RELEASE
PHP_MSHUTDOWN(tensor),
#else
NULL,
#endif
PHP_RINIT(tensor),
PHP_RSHUTDOWN(tensor),
PHP_MINFO(tensor),
PHP_TENSOR_VERSION,
ZEND_MODULE_GLOBALS(tensor),
PHP_GINIT(tensor),
PHP_GSHUTDOWN(tensor),
#ifdef ZEPHIR_POST_REQUEST
PHP_PRSHUTDOWN(tensor),
#else
NULL,
#endif
STANDARD_MODULE_PROPERTIES_EX
};
/* implement standard "stub" routine to introduce ourselves to Zend */
#ifdef COMPILE_DL_TENSOR
# ifdef ZTS
ZEND_TSRMLS_CACHE_DEFINE()
# endif
ZEND_GET_MODULE(tensor)
#endif