ruda_kernel/dsl/frontend/
comptime.rs1use alloc::rc::Rc;
2use crate::dsl::prelude::*;
3use ruda_core::ir::{DeviceProperties, HardwareProperties};
4use ruda_kernel_macros::intrinsic;
5
6#[ruda]
8#[allow(unused_variables)]
9pub fn device_properties() -> comptime_type!(Rc<DeviceProperties>) {
10 intrinsic!(|scope| scope.properties.as_ref().unwrap().clone())
11}
12
13#[ruda]
15#[allow(unused_variables)]
16pub fn hardware_properties() -> comptime_type!(HardwareProperties) {
17 let props = &device_properties().comptime().hardware;
18 comptime!(props.clone())
19}