1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#include "HalideBuffer.h"
#include "HalideRuntime.h"
#include <iostream>
#include <limits>
#include <type_traits>
#include <vector>
#include "external_code.h"
using namespace std;
using namespace Halide::Runtime;
int main() {
Buffer<int32_t, 2> buf(10, 10);
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
buf(i, j) = i * 65536 + j * 256;
}
}
Buffer<float, 2> out(10, 10);
int ret_code = external_code(buf.raw_buffer(), out.raw_buffer());
assert(ret_code == 0);
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
assert(out(i, j) == i * 65536 + j * 256 + 42);
}
}
printf("Success!\n");
return 0;
}
|