Commit 1a37b27a authored by Robert Kimball's avatar Robert Kimball

wip

parent 3eb0eca0
...@@ -60,9 +60,6 @@ void Emitter::EmitNop(const ngraph::Node* n, ExternalFunction* ef, const std::ve ...@@ -60,9 +60,6 @@ void Emitter::EmitNop(const ngraph::Node* n, ExternalFunction* ef, const std::ve
void Emitter::EmitAdd(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitAdd(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
string type = et.c_type_string();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " = \n"; TU << emit_array1d(outputs[0]) << " = \n";
...@@ -209,8 +206,6 @@ void Emitter::EmitTuple(const ngraph::Node* n, ExternalFunction* ef, const std:: ...@@ -209,8 +206,6 @@ void Emitter::EmitTuple(const ngraph::Node* n, ExternalFunction* ef, const std::
void Emitter::EmitAbs(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitAbs(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n"; TU << emit_array1d(outputs[0]) << " =\n";
...@@ -271,8 +266,6 @@ void Emitter::EmitConcat(const ngraph::Node* n, ExternalFunction* ef, const std: ...@@ -271,8 +266,6 @@ void Emitter::EmitConcat(const ngraph::Node* n, ExternalFunction* ef, const std:
void Emitter::EmitDivide(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitDivide(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -284,8 +277,6 @@ void Emitter::EmitDivide(const ngraph::Node* n, ExternalFunction* ef, const std: ...@@ -284,8 +277,6 @@ void Emitter::EmitDivide(const ngraph::Node* n, ExternalFunction* ef, const std:
void Emitter::EmitEqual(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitEqual(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -297,11 +288,9 @@ void Emitter::EmitEqual(const ngraph::Node* n, ExternalFunction* ef, const std:: ...@@ -297,11 +288,9 @@ void Emitter::EmitEqual(const ngraph::Node* n, ExternalFunction* ef, const std::
void Emitter::EmitGreater(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitGreater(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type(); TU << "{ // " << n->get_name() << " xxx\n";
TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << "EigenArray1d<" << element::Bool::element_type().c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " (" << emit_array1d(inputs[0]) << " >\n" << " (" << emit_array1d(inputs[0]) << " >\n"
<< " " << emit_array1d(inputs[1]) << ").template cast<char>();\n"; << " " << emit_array1d(inputs[1]) << ").template cast<char>();\n";
TU.indent--; TU.indent--;
...@@ -310,11 +299,9 @@ void Emitter::EmitGreater(const ngraph::Node* n, ExternalFunction* ef, const std ...@@ -310,11 +299,9 @@ void Emitter::EmitGreater(const ngraph::Node* n, ExternalFunction* ef, const std
void Emitter::EmitGreaterEq(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitGreaterEq(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << "EigenArray1d<" << element::Bool::element_type().c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " (" << emit_array1d(inputs[0]) << " >=\n" << " (" << emit_array1d(inputs[0]) << " >=\n"
<< " " << emit_array1d(inputs[1]) << ").template cast<char>();\n"; << " " << emit_array1d(inputs[1]) << ").template cast<char>();\n";
TU.indent--; TU.indent--;
...@@ -323,11 +310,9 @@ void Emitter::EmitGreaterEq(const ngraph::Node* n, ExternalFunction* ef, const s ...@@ -323,11 +310,9 @@ void Emitter::EmitGreaterEq(const ngraph::Node* n, ExternalFunction* ef, const s
void Emitter::EmitLess(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitLess(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << "EigenArray1d<" << element::Bool::element_type().c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " (" << emit_array1d(inputs[0]) << " <\n" << " (" << emit_array1d(inputs[0]) << " <\n"
<< " " << emit_array1d(inputs[1]) << ").template cast<char>();\n"; << " " << emit_array1d(inputs[1]) << ").template cast<char>();\n";
TU.indent--; TU.indent--;
...@@ -336,11 +321,9 @@ void Emitter::EmitLess(const ngraph::Node* n, ExternalFunction* ef, const std::v ...@@ -336,11 +321,9 @@ void Emitter::EmitLess(const ngraph::Node* n, ExternalFunction* ef, const std::v
void Emitter::EmitLessEq(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitLessEq(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << "EigenArray1d<" << element::Bool::element_type().c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " (" << emit_array1d(inputs[0]) << " <=\n" << " (" << emit_array1d(inputs[0]) << " <=\n"
<< " " << emit_array1d(inputs[1]) << ").template cast<char>();\n"; << " " << emit_array1d(inputs[1]) << ").template cast<char>();\n";
TU.indent--; TU.indent--;
...@@ -349,8 +332,6 @@ void Emitter::EmitLessEq(const ngraph::Node* n, ExternalFunction* ef, const std: ...@@ -349,8 +332,6 @@ void Emitter::EmitLessEq(const ngraph::Node* n, ExternalFunction* ef, const std:
void Emitter::EmitLog(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitLog(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -361,8 +342,6 @@ void Emitter::EmitLog(const ngraph::Node* n, ExternalFunction* ef, const std::ve ...@@ -361,8 +342,6 @@ void Emitter::EmitLog(const ngraph::Node* n, ExternalFunction* ef, const std::ve
void Emitter::EmitMaximum(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitMaximum(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -374,8 +353,6 @@ void Emitter::EmitMaximum(const ngraph::Node* n, ExternalFunction* ef, const std ...@@ -374,8 +353,6 @@ void Emitter::EmitMaximum(const ngraph::Node* n, ExternalFunction* ef, const std
void Emitter::EmitMinimum(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitMinimum(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -387,8 +364,6 @@ void Emitter::EmitMinimum(const ngraph::Node* n, ExternalFunction* ef, const std ...@@ -387,8 +364,6 @@ void Emitter::EmitMinimum(const ngraph::Node* n, ExternalFunction* ef, const std
void Emitter::EmitNegative(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitNegative(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -399,11 +374,9 @@ void Emitter::EmitNegative(const ngraph::Node* n, ExternalFunction* ef, const st ...@@ -399,11 +374,9 @@ void Emitter::EmitNegative(const ngraph::Node* n, ExternalFunction* ef, const st
void Emitter::EmitNotEqual(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitNotEqual(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << "EigenArray1d<" << element::Bool::element_type().c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " (" << emit_array1d(inputs[0]) << " !=\n" << " (" << emit_array1d(inputs[0]) << " !=\n"
<< " " << emit_array1d(inputs[1]) << ").template cast<char>();\n"; << " " << emit_array1d(inputs[1]) << ").template cast<char>();\n";
TU.indent--; TU.indent--;
...@@ -412,12 +385,10 @@ void Emitter::EmitNotEqual(const ngraph::Node* n, ExternalFunction* ef, const st ...@@ -412,12 +385,10 @@ void Emitter::EmitNotEqual(const ngraph::Node* n, ExternalFunction* ef, const st
void Emitter::EmitSelect(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitSelect(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(1)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
<< " EigenArray1d<" << element::Bool::element_type().c_type_string() << ">(" << inputs[0].get_tensor().get_name() << ", " << eigen_vector_format(inputs[0]) << ")\n" << " " << emit_array1d(inputs[0]) << "\n"
<< " .select(" << emit_array1d(inputs[1]) << ",\n" << " .select(" << emit_array1d(inputs[1]) << ",\n"
<< " " << emit_array1d(inputs[2]) << ");\n"; << " " << emit_array1d(inputs[2]) << ");\n";
TU.indent--; TU.indent--;
...@@ -426,8 +397,6 @@ void Emitter::EmitSelect(const ngraph::Node* n, ExternalFunction* ef, const std: ...@@ -426,8 +397,6 @@ void Emitter::EmitSelect(const ngraph::Node* n, ExternalFunction* ef, const std:
void Emitter::EmitSubtract(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitSubtract(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -583,8 +552,8 @@ void Emitter::EmitBroadcast(const ngraph::Node* n, ExternalFunction* ef, const s ...@@ -583,8 +552,8 @@ void Emitter::EmitBroadcast(const ngraph::Node* n, ExternalFunction* ef, const s
{ {
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << "EigenArray1d<" << result_element_type.c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " EigenArray1d<" << result_element_type.c_type_string() << ">(" << inputs[0].get_tensor().get_name() << ", " << eigen_vector_format(inputs[0]) << ")(0, 0);\n"; << " " << emit_array1d(inputs[0]) << "(0, 0);\n";
TU.indent--; TU.indent--;
TU << "}\n"; TU << "}\n";
} }
...@@ -632,8 +601,6 @@ void Emitter::EmitConvert(const ngraph::Node* n, ExternalFunction* ef, const std ...@@ -632,8 +601,6 @@ void Emitter::EmitConvert(const ngraph::Node* n, ExternalFunction* ef, const std
auto arg_tensor_type = dynamic_pointer_cast<const TensorViewType>(arg->get_value_type()); auto arg_tensor_type = dynamic_pointer_cast<const TensorViewType>(arg->get_value_type());
assert(arg_tensor_type); assert(arg_tensor_type);
auto& arg_element_type = arg_tensor_type->get_element_type();
auto result_tensor_type = dynamic_pointer_cast<const TensorViewType>(n->get_value_type()); auto result_tensor_type = dynamic_pointer_cast<const TensorViewType>(n->get_value_type());
assert(result_tensor_type); assert(result_tensor_type);
...@@ -841,8 +808,8 @@ void Emitter::EmitReduce(const ngraph::Node* n, ExternalFunction* ef, const std: ...@@ -841,8 +808,8 @@ void Emitter::EmitReduce(const ngraph::Node* n, ExternalFunction* ef, const std:
TU << "return result;\n"; TU << "return result;\n";
TU.indent--; TU.indent--;
TU << "};\n"; TU << "};\n";
TU << "EigenArray1d<" << f_result_element_type.c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " EigenArray1d<" << f_result_element_type.c_type_string() << ">(" << inputs[0].get_tensor().get_name() << ", " << eigen_vector_format(inputs[0]) << ").redux(f);\n"; << " " << emit_array1d(inputs[0]) << ".redux(f);\n";
TU.indent--; TU.indent--;
TU << "}\n"; TU << "}\n";
} }
...@@ -853,8 +820,8 @@ void Emitter::EmitReduce(const ngraph::Node* n, ExternalFunction* ef, const std: ...@@ -853,8 +820,8 @@ void Emitter::EmitReduce(const ngraph::Node* n, ExternalFunction* ef, const std:
{ {
TU << "{ // " << n->get_name() << " 4\n"; TU << "{ // " << n->get_name() << " 4\n";
TU.indent++; TU.indent++;
TU << "EigenArray1d<" << f_result_element_type.c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " EigenArray1d<" << f_result_element_type.c_type_string() << ">(" << inputs[1].get_tensor().get_name() << ", " << eigen_vector_format(inputs[1]) << ")(0, 0);\n"; << " " << emit_array1d(inputs[1]) << "(0, 0);\n";
TU.indent--; TU.indent--;
TU << "}\n"; TU << "}\n";
} }
...@@ -889,8 +856,8 @@ void Emitter::EmitReduce(const ngraph::Node* n, ExternalFunction* ef, const std: ...@@ -889,8 +856,8 @@ void Emitter::EmitReduce(const ngraph::Node* n, ExternalFunction* ef, const std:
{ {
TU << "{ // " << n->get_name() << " 6\n"; TU << "{ // " << n->get_name() << " 6\n";
TU.indent++; TU.indent++;
TU << "EigenArray1d<" << f_result_element_type.c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " EigenArray1d<" << f_result_element_type.c_type_string() << ">(" << inputs[1].get_tensor().get_name() << ", " << eigen_vector_format(inputs[1]) << ")(0, 0);\n"; << " " << emit_array1d(inputs[1]) << "(0, 0);\n";
TU.indent--; TU.indent--;
TU << "}\n"; TU << "}\n";
} }
...@@ -923,8 +890,6 @@ void Emitter::EmitReduce(const ngraph::Node* n, ExternalFunction* ef, const std: ...@@ -923,8 +890,6 @@ void Emitter::EmitReduce(const ngraph::Node* n, ExternalFunction* ef, const std:
void Emitter::EmitSign(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitSign(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -1026,8 +991,8 @@ void Emitter::EmitSum(const ngraph::Node* n, ExternalFunction* ef, const std::ve ...@@ -1026,8 +991,8 @@ void Emitter::EmitSum(const ngraph::Node* n, ExternalFunction* ef, const std::ve
{ {
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << "EigenArray1d<" << s_element_type.c_type_string() << ">(" << outputs[0].get_tensor().get_name() << ", " << eigen_vector_format(outputs[0]) << ") =\n" TU << "" << emit_array1d(outputs[0]) << " =\n"
<< " EigenArray1d<" << s_element_type.c_type_string() << ">(" << inputs[0].get_tensor().get_name() << ", " << eigen_vector_format(inputs[0]) << ").sum();\n"; << " " << emit_array1d(inputs[0]) << ".sum();\n";
TU.indent--; TU.indent--;
TU << "}\n"; TU << "}\n";
} }
...@@ -1061,8 +1026,6 @@ void Emitter::EmitSum(const ngraph::Node* n, ExternalFunction* ef, const std::ve ...@@ -1061,8 +1026,6 @@ void Emitter::EmitSum(const ngraph::Node* n, ExternalFunction* ef, const std::ve
void Emitter::EmitExp(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitExp(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -1073,8 +1036,6 @@ void Emitter::EmitExp(const ngraph::Node* n, ExternalFunction* ef, const std::ve ...@@ -1073,8 +1036,6 @@ void Emitter::EmitExp(const ngraph::Node* n, ExternalFunction* ef, const std::ve
void Emitter::EmitSin(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitSin(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -1085,8 +1046,6 @@ void Emitter::EmitSin(const ngraph::Node* n, ExternalFunction* ef, const std::ve ...@@ -1085,8 +1046,6 @@ void Emitter::EmitSin(const ngraph::Node* n, ExternalFunction* ef, const std::ve
void Emitter::EmitSinh(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitSinh(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -1097,8 +1056,6 @@ void Emitter::EmitSinh(const ngraph::Node* n, ExternalFunction* ef, const std::v ...@@ -1097,8 +1056,6 @@ void Emitter::EmitSinh(const ngraph::Node* n, ExternalFunction* ef, const std::v
void Emitter::EmitCos(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitCos(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -1109,8 +1066,6 @@ void Emitter::EmitCos(const ngraph::Node* n, ExternalFunction* ef, const std::ve ...@@ -1109,8 +1066,6 @@ void Emitter::EmitCos(const ngraph::Node* n, ExternalFunction* ef, const std::ve
void Emitter::EmitCosh(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitCosh(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -1121,8 +1076,6 @@ void Emitter::EmitCosh(const ngraph::Node* n, ExternalFunction* ef, const std::v ...@@ -1121,8 +1076,6 @@ void Emitter::EmitCosh(const ngraph::Node* n, ExternalFunction* ef, const std::v
void Emitter::EmitTan(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitTan(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -1149,8 +1102,6 @@ void Emitter::EmitTanh(const ngraph::Node* n, ExternalFunction* ef, const std::v ...@@ -1149,8 +1102,6 @@ void Emitter::EmitTanh(const ngraph::Node* n, ExternalFunction* ef, const std::v
void Emitter::EmitAsin(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitAsin(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -1161,8 +1112,6 @@ void Emitter::EmitAsin(const ngraph::Node* n, ExternalFunction* ef, const std::v ...@@ -1161,8 +1112,6 @@ void Emitter::EmitAsin(const ngraph::Node* n, ExternalFunction* ef, const std::v
void Emitter::EmitAcos(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitAcos(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
...@@ -1173,8 +1122,6 @@ void Emitter::EmitAcos(const ngraph::Node* n, ExternalFunction* ef, const std::v ...@@ -1173,8 +1122,6 @@ void Emitter::EmitAcos(const ngraph::Node* n, ExternalFunction* ef, const std::v
void Emitter::EmitAtan(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs) void Emitter::EmitAtan(const ngraph::Node* n, ExternalFunction* ef, const std::vector<TensorViewInfo>& inputs, const std::vector<TensorViewInfo>& outputs)
{ {
const element::Type& et = (dynamic_pointer_cast<const TensorViewType>(n->get_arguments().at(0)->get_value_type()))->get_element_type();
TU << "{ // " << n->get_name() << "\n"; TU << "{ // " << n->get_name() << "\n";
TU.indent++; TU.indent++;
TU << emit_array1d(outputs[0]) << " =\n" TU << emit_array1d(outputs[0]) << " =\n"
......
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