From 1873b35654fb903ef17381d71f64ff25a5ff3029 Mon Sep 17 00:00:00 2001 From: lyken Date: Mon, 5 Aug 2024 10:35:51 +0800 Subject: [PATCH] core/ndstrides: change get_llvm_type to new ndarray --- nac3core/src/codegen/mod.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/nac3core/src/codegen/mod.rs b/nac3core/src/codegen/mod.rs index 51edaa42..5d5a5ba7 100644 --- a/nac3core/src/codegen/mod.rs +++ b/nac3core/src/codegen/mod.rs @@ -33,7 +33,7 @@ use std::sync::{ Arc, }; use std::thread; -use structure::{cslice::CSlice, exception::Exception}; +use structure::{cslice::CSlice, exception::Exception, ndarray::NpArray}; pub mod builtin_fns; pub mod classes; @@ -45,6 +45,7 @@ pub mod irrt; pub mod llvm_intrinsics; pub mod model; pub mod numpy; +pub mod numpy_new; pub mod stmt; pub mod structure; @@ -493,12 +494,10 @@ fn get_llvm_type<'ctx, G: CodeGenerator + ?Sized>( } TObj { obj_id, .. } if *obj_id == PrimDef::NDArray.id() => { - let (dtype, _) = unpack_ndarray_var_tys(unifier, ty); - let element_type = get_llvm_type( - ctx, module, generator, unifier, top_level, type_cache, dtype, - ); + let tyctx = generator.type_context(ctx); - NDArrayType::new(generator, ctx, element_type).as_base_type().into() + let pndarray_model = PtrModel(StructModel(NpArray)); + pndarray_model.get_type(tyctx, ctx).as_basic_type_enum() } _ => unreachable!(