blob: 4882491f6fbf5eccd431aad67eae446aff325e1c [file] [log] [blame]
#pragma once
#include <ATen/core/ivalue.h>
#include <ATen/core/stack.h>
#include <ATen/core/functional.h>
#include <ATen/core/List.h>
namespace torch {
namespace jit {
template<typename dtype> // int64_t, bool, double
void listConstructFunc(int num_inputs, Stack &stack) {
auto inputs = peekSlice(stack, 0, num_inputs, num_inputs);
c10::List<dtype> vals =
c10::impl::toList(fmap(inputs, [](const IValue &v) { return v.to<dtype>(); }));
drop(stack, num_inputs);
push(stack, std::move(vals));
}
void tensorListConstructFunc(int num_inputs, Stack& stack);
void tupleUnpackFunc(int num_outputs, Stack& stack);
void formatFunc(int num_inputs, Stack& stack);
} // namespace jit
} // namespace torch