#![cfg_attr(not(feature = "std"), no_std)]
#![recursion_limit = "512"]
#![allow(dead_code)]
#![allow(clippy::empty_line_after_outer_attribute)]
#![allow(clippy::empty_line_after_doc_comments)]
#![allow(clippy::manual_clamp)]
#![allow(clippy::redundant_closure)]
#![allow(clippy::useless_format)]
#![allow(clippy::result_large_err)]
#![allow(clippy::manual_is_multiple_of)]
#![allow(clippy::manual_div_ceil)]
#![allow(clippy::enumerate_and_ignore)]
#![allow(clippy::redundant_pattern_matching)]
#![allow(clippy::or_fun_call)]
#![allow(clippy::unnecessary_lazy_evaluations)]
#![allow(clippy::needless_borrow)]
#![allow(clippy::derivable_impls)]
#![allow(clippy::new_without_default)]
#![allow(clippy::ptr_arg)]
#![allow(clippy::get_first)]
#![allow(clippy::needless_range_loop)]
#![allow(clippy::type_complexity)]
#![allow(clippy::assertions_on_constants)]
#![allow(clippy::needless_return)]
#![allow(clippy::unnecessary_cast)]
#![allow(clippy::manual_range_contains)]
#![allow(clippy::empty_line_after_outer_attribute_doc)]
#![allow(clippy::upper_case_acronyms)]
#![allow(clippy::excessive_precision)]
#![allow(clippy::needless_borrows_for_generic_args)]
#![allow(clippy::empty_line_after_outer_attr)]
#![allow(clippy::unused_enumerate_index)]
#![allow(clippy::unwrap_or_default)]
#[cfg(all(feature = "alloc", not(feature = "std")))]
extern crate alloc;
#[cfg(feature = "std")]
extern crate std;
pub mod api_freeze;
pub mod api_reference;
pub mod apiversioning;
#[cfg(feature = "array")]
pub mod array;
pub mod array_protocol;
#[cfg(feature = "arrow")]
pub mod arrow_compat;
#[cfg(feature = "types")]
pub mod batch_conversions;
pub mod bioinformatics;
#[cfg(feature = "cache")]
pub mod cache;
pub mod cache_ops;
pub mod chunking;
#[cfg(feature = "cloud")]
pub mod cloud;
pub mod concurrent;
pub mod config;
pub mod constants;
pub mod distributed;
pub mod ecosystem;
pub mod error;
pub mod out_of_core;
pub mod streaming_stats;
pub mod finance;
pub mod physics;
#[cfg(feature = "ffi")]
pub mod ffi;
#[cfg(feature = "gpu")]
pub mod gpu;
#[cfg(feature = "gpu")]
pub mod gpu_registry;
pub mod integration;
pub mod io;
#[cfg(feature = "jit")]
pub mod jit;
#[cfg(feature = "linalg")]
pub mod linalg;
#[cfg(feature = "logging")]
pub mod logging;
#[cfg(feature = "memory_management")]
pub mod memory;
#[cfg(feature = "memory_efficient")]
pub mod memory_efficient;
pub mod metrics;
#[cfg(feature = "ml_pipeline")]
pub mod ml_pipeline;
pub mod ndarray;
pub mod ndarray_ext;
pub mod numeric;
#[cfg(feature = "parallel")]
pub mod parallel;
#[cfg(feature = "parallel")]
pub mod parallel_ops;
pub mod performance;
pub mod performance_optimization;
#[cfg(feature = "profiling")]
pub mod profiling;
#[cfg(feature = "python")]
pub mod python;
#[cfg(feature = "random")]
pub mod random;
pub mod resource;
#[cfg(feature = "serialization")]
pub mod serialization;
#[cfg(feature = "simd")]
pub mod simd;
pub mod simd_aligned;
pub mod simd_ops;
#[cfg(feature = "simd")]
pub mod simd_ops_polynomial;
#[cfg(feature = "testing")]
pub mod testing;
pub mod error_templates;
pub mod safe_ops;
#[cfg(feature = "types")]
pub mod types;
#[cfg(feature = "ufuncs")]
pub mod ufuncs;
pub mod units;
pub mod utils;
pub mod validation;
pub mod data_split;
pub mod preprocessing;
pub mod string_ops;
pub mod type_convert;
pub mod builders;
pub mod ops;
#[cfg(feature = "embedded")]
pub mod embedded;
#[cfg(feature = "fixed-point")]
pub mod fixed_point;
pub mod enterprise;
pub mod observability;
pub mod stability;
pub mod versioning;
pub mod neural_architecture_search;
pub mod quantum_optimization;
pub mod advanced_ecosystem_integration;
pub mod advanced_jit_compilation;
pub mod advanced_distributed_computing;
pub mod advanced_tensor_cores;
#[cfg(feature = "gpu")]
pub mod tensor_cores;
#[cfg(feature = "benchmarking")]
pub mod benchmarking;
pub mod bench_utils;
pub mod progress;
pub mod scipy_migration;
pub mod arithmetic;
pub mod collections;
pub mod data_structures;
pub mod reactive;
pub mod task_graph;
pub mod lock_free;
pub mod memory_pool;
pub mod numa_scheduler;
pub mod platform_compat;
pub mod structured_logging;
#[cfg(feature = "cache")]
pub use crate::cache::*;
#[cfg(feature = "cloud")]
pub use crate::cloud::{
CloudConfig, CloudCredentials, CloudError, CloudObjectMetadata, CloudProvider,
CloudStorageClient, EncryptionConfig, EncryptionMethod, HttpMethod, ListResult,
TransferOptions,
};
pub use crate::config::production as config_production;
pub use crate::config::unified as config_unified;
pub use crate::config::{get_config, get_config_value, set_config_value, Config, ConfigValue};
pub use crate::constants::{math, physical, prefixes};
#[allow(ambiguous_glob_reexports)]
pub use crate::error::*;
#[cfg(feature = "gpu")]
pub use crate::gpu::*;
pub use crate::io::*;
#[cfg(feature = "jit")]
pub use crate::jit::DataType as JitDataType;
#[cfg(feature = "jit")]
pub use crate::jit::{
CompiledKernel, ExecutionProfile, JitBackend, JitCompiler, JitConfig, JitError, KernelLanguage,
KernelSource, OptimizationLevel, TargetArchitecture,
};
#[cfg(feature = "logging")]
pub use crate::logging::*;
#[cfg(feature = "memory_management")]
pub use crate::memory::{
format_memory_report, generate_memory_report, global_buffer_pool, track_allocation,
track_deallocation, track_resize, BufferPool, ChunkProcessor, ChunkProcessor2D,
GlobalBufferPool, ZeroCopyView,
};
#[cfg(feature = "mmap")]
pub use crate::memory::{MmapArray, MmapElement, MmapError};
pub use crate::ndarray_ext::array as array_legacy;
pub use crate::ndarray_ext::{
arr1,
arr2,
array,
s,
Array,
Array1,
Array2,
ArrayD,
ArrayView,
ArrayView1,
ArrayView2,
ArrayViewMut,
Axis,
Ix1,
Ix2,
IxDyn,
};
#[cfg(feature = "leak_detection")]
pub use crate::memory::{
LeakCheckGuard, LeakDetectionConfig, LeakDetector, LeakReport, LeakType, MemoryCheckpoint,
MemoryLeak, ProfilerTool,
};
#[cfg(feature = "memory_efficient")]
pub use crate::memory_efficient::{
chunk_wise_binary_op, chunk_wise_op, chunk_wise_reduce, create_disk_array, create_mmap,
create_temp_mmap, diagonal_view, evaluate, load_chunks, open_mmap, register_fusion,
transpose_view, view_as, view_mut_as, AccessMode, AdaptiveChunking, AdaptiveChunkingBuilder,
AdaptiveChunkingParams, AdaptiveChunkingResult, ArithmeticOps, BroadcastOps, ChunkIter,
ChunkedArray, ChunkingStrategy, DiskBackedArray, FusedOp, LazyArray, LazyOp, LazyOpKind,
MemoryMappedArray, MemoryMappedChunkIter, MemoryMappedChunks, MemoryMappedSlice,
MemoryMappedSlicing, OpFusion, OutOfCoreArray, ViewMut, ZeroCopyOps,
};
#[cfg(feature = "memory_compression")]
pub use crate::memory_efficient::{
CompressedMemMapBuilder, CompressedMemMappedArray, CompressionAlgorithm,
};
#[cfg(all(feature = "memory_efficient", feature = "parallel"))]
pub use crate::memory_efficient::MemoryMappedChunksParallel;
#[cfg(feature = "array")]
pub use crate::array::{
is_masked, mask_array, masked_equal, masked_greater, masked_inside, masked_invalid,
masked_less, masked_outside, masked_where, record_array_from_typed_arrays,
record_array_fromrecords, ArrayError, FieldValue, MaskedArray, Record, RecordArray, NOMASK,
};
#[cfg(feature = "memory_metrics")]
pub use crate::memory::metrics::{
clear_snapshots,
compare_snapshots,
format_bytes,
format_duration,
take_snapshot,
MemoryEvent,
MemoryEventType,
MemoryMetricsCollector,
MemoryMetricsConfig,
MemorySnapshot,
SnapshotDiff,
TrackedBufferPool,
TrackedChunkProcessor,
TrackedChunkProcessor2D,
};
#[cfg(feature = "types")]
pub use crate::batch_conversions::{
utils as batch_utils, BatchConversionConfig, BatchConversionResult, BatchConverter,
ElementConversionError,
};
#[cfg(all(feature = "memory_metrics", feature = "gpu"))]
pub use crate::memory::metrics::{setup_gpu_memory_tracking, TrackedGpuBuffer, TrackedGpuContext};
pub use crate::metrics::{
global_healthmonitor, global_metrics_registry, Counter, Gauge, HealthCheck, HealthMonitor,
Histogram, MetricPoint, MetricType, MetricValue, Timer,
};
#[cfg(feature = "ml_pipeline")]
pub use crate::ml_pipeline::DataType as MLDataType;
#[cfg(feature = "ml_pipeline")]
pub use crate::ml_pipeline::{
DataBatch, DataSample, FeatureConstraint, FeatureSchema, FeatureTransformer, FeatureValue,
MLPipeline, MLPipelineError, ModelPredictor, ModelType, PipelineConfig, PipelineMetrics,
PipelineNode, TransformType,
};
pub use crate::numeric::*;
#[cfg(feature = "parallel")]
pub use crate::parallel::*;
#[cfg(feature = "parallel")]
pub use crate::parallel_ops::{
is_parallel_enabled, num_threads, par_chunks, par_chunks_mut, par_join, par_scope,
};
#[cfg(feature = "parallel")]
pub use crate::parallel_ops::*;
#[cfg(feature = "profiling")]
pub use crate::profiling::{profiling_memory_tracker, Profiler};
#[cfg(feature = "random")]
#[allow(ambiguous_glob_reexports)]
pub use crate::random::*;
pub use crate::resource::{
get_available_memory, get_performance_tier, get_recommended_chunk_size,
get_recommended_thread_count, get_system_resources, get_total_memory, is_gpu_available,
is_simd_supported, DiscoveryConfig, PerformanceTier, ResourceDiscovery, SystemResources,
};
#[cfg(feature = "simd")]
pub use crate::simd::*;
#[cfg(feature = "testing")]
pub use crate::testing::{TestConfig, TestResult, TestRunner, TestSuite};
#[cfg(feature = "types")]
pub use crate::types::{convert, ComplexConversionError, ComplexExt, ComplexOps};
pub use num_complex::{Complex, Complex32, Complex64};
pub use crate::units::{
convert, global_unit_registry, unit_value, Dimension, UnitDefinition, UnitRegistry, UnitSystem,
UnitValue,
};
pub use crate::utils::*;
pub use crate::validation::production as validation_production;
pub use crate::validation::{
check_finite, check_in_bounds, check_positive, checkarray_finite, checkshape,
};
pub use rand_chacha::{ChaCha12Rng, ChaCha20Rng, ChaCha8Rng};
pub use crate::builders::{ArrayBuilder, MatrixBuilder, VectorBuilder};
pub use crate::ops::{block_diag, dot as mat_dot, hstack, kron, outer, vstack};
pub mod prelude;
#[cfg(feature = "data_validation")]
pub use crate::validation::data::DataType as ValidationDataType;
#[cfg(feature = "data_validation")]
pub use crate::validation::data::{
Constraint, FieldDefinition, ValidationConfig, ValidationError, ValidationResult,
ValidationRule, ValidationSchema, Validator,
};
pub use crate::observability::{audit, tracing};
pub use crate::stability::{
global_stability_manager, ApiContract, BreakingChange, BreakingChangeType, ConcurrencyContract,
MemoryContract, NumericalContract, PerformanceContract, StabilityGuaranteeManager,
StabilityLevel, UsageContext,
};
pub use crate::versioning::{
compatibility, deprecation, migration, negotiation, semantic, ApiVersion, CompatibilityLevel,
SupportStatus, Version, VersionManager,
};
pub use crate::neural_architecture_search::{
ActivationType, Architecture, ArchitecturePerformance, ConnectionType, HardwareConstraints,
LayerType, NASStrategy, NeuralArchitectureSearch, OptimizationObjectives, OptimizerType,
SearchResults, SearchSpace,
};
pub use crate::quantum_optimization::{
OptimizationResult, QuantumOptimizer, QuantumParameters, QuantumState, QuantumStrategy,
};
pub use crate::integration::{
config::{
global_config, update_global_config, DiagnosticsConfig, EcosystemConfig,
EcosystemConfigBuilder, LogLevel, MemoryConfig, ModuleConfig, NumericConfig,
ParallelConfig, Precision, PrecisionConfig,
},
conversion::{
ArrayConvert, ConversionError, ConversionOptions, ConversionResult, CrossModuleConvert,
DataFlowConverter, LosslessConvert, LossyConvert, TypeAdapter,
},
traits::{
ApiVersion as IntegrationApiVersion, Capability, Composable, Configurable,
CrossModuleOperator, DataConsumer, DataProvider, Diagnosable, DiagnosticInfo,
DiagnosticLevel, Identifiable, ModuleCapability, ModuleInterface, ResourceAware,
ResourceUsage, Serializable, VersionedInterface,
},
zero_copy::{
Alignment, ArrayBridge, BorrowedArray, BufferMut, BufferRef, ContiguousMemory,
MemoryLayout, OwnedArray, SharedArrayView, SharedArrayViewMut, TypedBuffer, ZeroCopyBuffer,
ZeroCopySlice,
},
IntegrationError,
IntegrationResult,
};
#[cfg(feature = "benchmarking")]
pub use crate::benchmarking::{
BenchmarkConfig, BenchmarkMeasurement, BenchmarkResult, BenchmarkRunner, BenchmarkStatistics,
BenchmarkSuite,
};
pub const fn _version() -> &'static str {
env!("CARGO_PKG_VERSION")
}
#[doc(hidden)]
#[allow(dead_code)]
pub fn __init() {
use std::sync::Once;
static INIT: Once = Once::new();
INIT.call_once(|| {
crate::api_freeze::initialize_api_freeze();
});
}
#[doc(hidden)]
#[used]
#[cfg_attr(target_os = "linux", link_section = ".init_array")]
#[cfg_attr(target_os = "macos", link_section = "__DATA,__mod_init_func")]
#[cfg_attr(target_os = "windows", link_section = ".CRT$XCU")]
static INIT: extern "C" fn() = {
extern "C" fn __init_wrapper() {
__init();
}
__init_wrapper
};