forked from M-Labs/nac3
FloatKind::{get_float_type -> float_type}
This commit is contained in:
parent
cc5950e88c
commit
5f95d1530a
@ -9,7 +9,7 @@ use inkwell::{
|
|||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
pub trait FloatKind<'ctx>: fmt::Debug + Clone + Copy {
|
pub trait FloatKind<'ctx>: fmt::Debug + Clone + Copy {
|
||||||
fn get_float_type(&self, ctx: &'ctx Context) -> FloatType<'ctx>;
|
fn float_type(&self, ctx: &'ctx Context) -> FloatType<'ctx>;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, Default)]
|
#[derive(Debug, Clone, Copy, Default)]
|
||||||
@ -18,13 +18,13 @@ pub struct Float32;
|
|||||||
pub struct Float64;
|
pub struct Float64;
|
||||||
|
|
||||||
impl<'ctx> FloatKind<'ctx> for Float32 {
|
impl<'ctx> FloatKind<'ctx> for Float32 {
|
||||||
fn get_float_type(&self, ctx: &'ctx Context) -> FloatType<'ctx> {
|
fn float_type(&self, ctx: &'ctx Context) -> FloatType<'ctx> {
|
||||||
ctx.f32_type()
|
ctx.f32_type()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'ctx> FloatKind<'ctx> for Float64 {
|
impl<'ctx> FloatKind<'ctx> for Float64 {
|
||||||
fn get_float_type(&self, ctx: &'ctx Context) -> FloatType<'ctx> {
|
fn float_type(&self, ctx: &'ctx Context) -> FloatType<'ctx> {
|
||||||
ctx.f64_type()
|
ctx.f64_type()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -33,7 +33,7 @@ impl<'ctx> FloatKind<'ctx> for Float64 {
|
|||||||
pub struct AnyFloat<'ctx>(FloatType<'ctx>);
|
pub struct AnyFloat<'ctx>(FloatType<'ctx>);
|
||||||
|
|
||||||
impl<'ctx> FloatKind<'ctx> for AnyFloat<'ctx> {
|
impl<'ctx> FloatKind<'ctx> for AnyFloat<'ctx> {
|
||||||
fn get_float_type(&self, _ctx: &'ctx Context) -> FloatType<'ctx> {
|
fn float_type(&self, _ctx: &'ctx Context) -> FloatType<'ctx> {
|
||||||
self.0
|
self.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -52,7 +52,7 @@ impl<'ctx, N: FloatKind<'ctx>> Float<'ctx, N> {
|
|||||||
|
|
||||||
impl<'ctx, N: FloatKind<'ctx>> ModelBase<'ctx> for Float<'ctx, N> {
|
impl<'ctx, N: FloatKind<'ctx>> ModelBase<'ctx> for Float<'ctx, N> {
|
||||||
fn llvm_type_impl(&self, _size_t: IntType<'ctx>, ctx: &'ctx Context) -> BasicTypeEnum<'ctx> {
|
fn llvm_type_impl(&self, _size_t: IntType<'ctx>, ctx: &'ctx Context) -> BasicTypeEnum<'ctx> {
|
||||||
self.kind.get_float_type(ctx).into()
|
self.kind.float_type(ctx).into()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn check_type_impl(
|
fn check_type_impl(
|
||||||
@ -65,7 +65,7 @@ impl<'ctx, N: FloatKind<'ctx>> ModelBase<'ctx> for Float<'ctx, N> {
|
|||||||
return Err(ModelError(format!("Expecting FloatType, but got {ty:?}")));
|
return Err(ModelError(format!("Expecting FloatType, but got {ty:?}")));
|
||||||
};
|
};
|
||||||
|
|
||||||
let expected_ty = self.kind.get_float_type(ctx);
|
let expected_ty = self.kind.float_type(ctx);
|
||||||
if ty != expected_ty {
|
if ty != expected_ty {
|
||||||
return Err(ModelError(format!("Expecting {expected_ty:?}, but got {ty:?}")));
|
return Err(ModelError(format!("Expecting {expected_ty:?}, but got {ty:?}")));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user