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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#pragma once
#include "Code/TypeDesc.h"
/**
* Shared data structures between "Call.cpp" and "Callee.cpp"
*/
struct TinyIntParam {
Int a;
Int b;
TinyIntParam(Int a, Int b) : a(a), b(b) {}
};
code::SimpleDesc *tinyIntDesc(Engine &e);
struct SmallIntParam {
size_t a;
size_t b;
// Make sure it is not a POD.
SmallIntParam(size_t a, size_t b) : a(a), b(b) {}
};
code::SimpleDesc *smallIntDesc(Engine &e);
struct LargeIntParam {
size_t a;
size_t b;
size_t c;
// Make sure it is not a POD.
LargeIntParam(size_t a, size_t b, size_t c) : a(a), b(b), c(c) {}
};
code::SimpleDesc *largeIntDesc(Engine &e);
struct MixedParam {
size_t a;
Float b;
Float c;
// Make sure it is not a POD.
MixedParam(size_t a, Float b, Float c) : a(a), b(b), c(c) {}
};
code::SimpleDesc *mixedDesc(Engine &e);
struct ByteStruct {
Byte a;
Byte b;
ByteStruct(Byte a, Byte b) : a(a), b(b) {}
};
code::SimpleDesc *bytesDesc(Engine &e);
code::SimpleDesc *pointDesc(Engine &e);
code::SimpleDesc *rectDesc(Engine &e);
|