Commit 301b84e3 authored by Paul's avatar Paul
Browse files

Formatting

parent 4ba12b4f
...@@ -26,13 +26,14 @@ struct program ...@@ -26,13 +26,14 @@ struct program
return add_instruction(op, {args...}); return add_instruction(op, {args...});
} }
instruction_ref add_instruction(operation op, std::vector<instruction_ref> args); instruction_ref add_instruction(operation op, std::vector<instruction_ref> args);
template <class... Ts> template <class... Ts>
instruction_ref insert_instruction(instruction_ref ins, operation op, Ts... args) instruction_ref insert_instruction(instruction_ref ins, operation op, Ts... args)
{ {
return insert_instruction(ins, op, {args...}); return insert_instruction(ins, op, {args...});
} }
instruction_ref insert_instruction(instruction_ref ins, operation op, std::vector<instruction_ref> args); instruction_ref
insert_instruction(instruction_ref ins, operation op, std::vector<instruction_ref> args);
template <class... Ts> template <class... Ts>
instruction_ref add_literal(Ts&&... xs) instruction_ref add_literal(Ts&&... xs)
......
...@@ -22,7 +22,8 @@ instruction_ref program::add_instruction(operation op, std::vector<instruction_r ...@@ -22,7 +22,8 @@ instruction_ref program::add_instruction(operation op, std::vector<instruction_r
{ {
return insert_instruction(impl->instructions.end(), std::move(op), std::move(args)); return insert_instruction(impl->instructions.end(), std::move(op), std::move(args));
} }
instruction_ref program::insert_instruction(instruction_ref ins, operation op, std::vector<instruction_ref> args) instruction_ref
program::insert_instruction(instruction_ref ins, operation op, std::vector<instruction_ref> args)
{ {
assert(std::all_of( assert(std::all_of(
args.begin(), args.end(), [&](instruction_ref x) { return has_instruction(x); }) && args.begin(), args.end(), [&](instruction_ref x) { return has_instruction(x); }) &&
...@@ -30,7 +31,7 @@ instruction_ref program::insert_instruction(instruction_ref ins, operation op, s ...@@ -30,7 +31,7 @@ instruction_ref program::insert_instruction(instruction_ref ins, operation op, s
std::vector<shape> shapes(args.size()); std::vector<shape> shapes(args.size());
std::transform( std::transform(
args.begin(), args.end(), shapes.begin(), [](instruction_ref i) { return i->result; }); args.begin(), args.end(), shapes.begin(), [](instruction_ref i) { return i->result; });
shape r = op.compute_shape(shapes); shape r = op.compute_shape(shapes);
auto result = impl->instructions.insert(ins, {op, r, args}); auto result = impl->instructions.insert(ins, {op, r, args});
assert(result->arguments == args); assert(result->arguments == args);
for(auto&& arg : args) for(auto&& arg : args)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment