start making data with builtins

This commit is contained in:
Kasey White
2022-08-26 03:51:50 -04:00
committed by Kasey White
parent 1a09a34873
commit 00cc9f93d5
4 changed files with 15 additions and 7 deletions

View File

@@ -823,7 +823,10 @@ impl BuiltinCosts {
DefaultFunction::ConstrData => todo!(),
DefaultFunction::MapData => todo!(),
DefaultFunction::ListData => todo!(),
DefaultFunction::IData => todo!(),
DefaultFunction::IData => ExBudget {
mem: self.i_data.mem.cost(args[0].to_ex_mem()),
cpu: self.i_data.cpu.cost(args[0].to_ex_mem()),
},
DefaultFunction::BData => todo!(),
DefaultFunction::UnConstrData => ExBudget {
mem: self.un_constr_data.mem.cost(args[0].to_ex_mem()),

View File

@@ -118,7 +118,7 @@ impl DefaultFunction {
DefaultFunction::ConstrData => todo!(),
DefaultFunction::MapData => todo!(),
DefaultFunction::ListData => todo!(),
DefaultFunction::IData => todo!(),
DefaultFunction::IData => 1,
DefaultFunction::BData => todo!(),
DefaultFunction::UnConstrData => 1,
DefaultFunction::UnMapData => 1,
@@ -177,7 +177,7 @@ impl DefaultFunction {
DefaultFunction::ConstrData => todo!(),
DefaultFunction::MapData => todo!(),
DefaultFunction::ListData => todo!(),
DefaultFunction::IData => todo!(),
DefaultFunction::IData => 0,
DefaultFunction::BData => todo!(),
DefaultFunction::UnConstrData => 0,
DefaultFunction::UnMapData => 0,
@@ -280,7 +280,7 @@ impl DefaultFunction {
DefaultFunction::ConstrData => todo!(),
DefaultFunction::MapData => todo!(),
DefaultFunction::ListData => todo!(),
DefaultFunction::IData => todo!(),
DefaultFunction::IData => arg.expect_type(Type::Integer),
DefaultFunction::BData => todo!(),
DefaultFunction::UnConstrData => arg.expect_type(Type::Data),
DefaultFunction::UnMapData => arg.expect_type(Type::Data),
@@ -627,7 +627,12 @@ impl DefaultFunction {
DefaultFunction::ConstrData => todo!(),
DefaultFunction::MapData => todo!(),
DefaultFunction::ListData => todo!(),
DefaultFunction::IData => todo!(),
DefaultFunction::IData => match &args[0] {
Value::Con(Constant::Integer(i)) => Ok(Value::Con(Constant::Data(
PlutusData::BigInt(BigInt::Int((*i as i64).try_into().unwrap())),
))),
_ => unreachable!(),
},
DefaultFunction::BData => todo!(),
DefaultFunction::UnConstrData => match &args[0] {
Value::Con(Constant::Data(PlutusData::Constr(c))) => {

View File

@@ -202,7 +202,7 @@ impl Constant {
.append(RcDoc::text(","))
.append(right.to_doc_list())
.append(RcDoc::text(")")),
Constant::Data(_) => todo!(),
d @ Constant::Data(_) => RcDoc::text("data ").append(d.to_doc_list()),
}
}