#include <cmath>
#include <random>
#include <cstdint>
#include <iostream>
#include "ktfop.h"
void KtfopLog(int level, const char *message)
{
std::cout << level << ' ' << message << std::endl;
}
int main()
{
using namespace ktfop;
SetExternalLogFunc(KtfopLog);
size_t length = 4;
bool condArray[] = {true, false, true, true}; //初始化判断条件数组
int64_t tArray[] = {5, 7, 15, 3}; //初始化若判断条件为真,则赋值给输出的数组
int64_t eArray[] = {8, 6, 20, 0}; //初始化若判断条件为假,则赋值给输出的数组
bool *cond = condArray;
int64_t *t = tArray;
int64_t *e = eArray;
auto *output = new int64_t[4]; //为输出数组分配内存空间
int ret = -1;
ret = Select(cond, t, e, output, length); //调用select算子,结果存储于output数组 [5, 6, 15, 3]
std::cout << "output: [";
for (int i = 0; i < 4; ++i) {
std::cout << output[i];
if (i < 3) {
std::cout << ", ";
}
}
std::cout << "]" << std::endl;
ret = Select(nullptr, t, e, output, length); //打印日志"ERROR Parameter verification failed for the Select Op."
delete[] output;
}