[ {"type":"CommentPreproc","value":"#include "}, {"type":"LiteralString","value":"\"main\""}, {"type":"Text","value":"\n\n"}, {"type":"CommentPreproc","value":"#ifndef SHOULD_DEF"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#define SHOULD_DEF"}, {"type":"Text","value":"\n"}, {"type":"Keyword","value":"def"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"ConstantOp"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":":"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"Toy_Op"}, {"type":"Punctuation","value":"\u003c"}, {"type":"LiteralString","value":"\"constant\""}, {"type":"Punctuation","value":","}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"["}, {"type":"NameVariable","value":"NoSideEffect"}, {"type":"Punctuation","value":"]\u003e"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n "}, {"type":"Comment","value":"// Provide a summary and description for this operation. This can be used to\n"}, {"type":"Text","value":" "}, {"type":"Comment","value":"// auto-generate documenatation of the operations within our dialect.\n"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"let"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"summary"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralString","value":"\"constant operation\""}, {"type":"Punctuation","value":";"}, {"type":"Text","value":"\n "}, {"type":"Keyword","value":"let"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"description"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralString","value":"[{\n Constant operation turns a literal into an SSA value. The data is attached\n to the operation as an attribute. For example:\n\n %0 = \"toy.constant\"()\n { value = dense\u003c[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]\u003e : tensor\u003c2x3xf64\u003e }\n : () -\u003e tensor\u003c2x3xf64\u003e\n }]"}, {"type":"Punctuation","value":";"}, {"type":"Text","value":"\n\n "}, {"type":"Comment","value":"// The constant operation takes an attribute as the only input.\n"}, {"type":"Text","value":" "}, {"type":"Comment","value":"// `F64ElementsAttr` corresponds to a 64-bit floating-point ElementsAttr.\n"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"let"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"arguments"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"ins"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"F64ElementsAttr"}, {"type":"Punctuation","value":":"}, {"type":"NameVariable","value":"$value"}, {"type":"Punctuation","value":");"}, {"type":"Text","value":"\n\n "}, {"type":"Comment","value":"// The generic call operation returns a single value of TensorType.\n"}, {"type":"Text","value":" "}, {"type":"Comment","value":"// F64Tensor corresponds to a 64-bit floating-point TensorType.\n"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"let"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"results"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"("}, {"type":"NameVariable","value":"outs"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"F64Tensor"}, {"type":"Punctuation","value":"\u003c"}, {"type":"LiteralNumber","value":"10"}, {"type":"Punctuation","value":"\u003e);"}, {"type":"Text","value":"\n\n "}, {"type":"Comment","value":"// Add additional verification logic to the constant operation.\n"}, {"type":"Text","value":" "}, {"type":"Keyword","value":"let"}, {"type":"Text","value":" "}, {"type":"NameVariable","value":"verifier"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, {"type":"LiteralString","value":"[{ return ::verify(*this); }]"}, {"type":"Punctuation","value":";"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, {"type":"CommentPreproc","value":"#endif"}, {"type":"Text","value":" "}, {"type":"Comment","value":"// SHOULD_DEF\n"} ]