forked from animatedread/Warrior_EA
29 lines
1 KiB
C++
29 lines
1 KiB
C++
|
|
#include <iostream>
|
||
|
|
#include <vector>
|
||
|
|
#include "WarriorDML.h"
|
||
|
|
|
||
|
|
int main()
|
||
|
|
{
|
||
|
|
int err = 0;
|
||
|
|
DmlHandle ctx = DML_Init(&err);
|
||
|
|
std::cout << "init=" << (ctx != 0 ? 1 : 0) << " err=" << err << "\n";
|
||
|
|
if(!ctx)
|
||
|
|
return 1;
|
||
|
|
int handle = DML_BufferCreate(ctx, 8);
|
||
|
|
std::cout << "buffer=" << handle << "\n";
|
||
|
|
if(handle < 0)
|
||
|
|
return 2;
|
||
|
|
std::vector<double> data = {1.0, -2.0, 3.0, -4.0, 5.0, -6.0, 7.0, -8.0};
|
||
|
|
int writeOk = DML_BufferWrite(ctx, handle, data.data(), (int)data.size());
|
||
|
|
std::cout << "write=" << writeOk << " last=" << DML_GetLastError(ctx) << "\n";
|
||
|
|
if(!writeOk)
|
||
|
|
return 3;
|
||
|
|
std::vector<double> readBack(8, 0.0);
|
||
|
|
int readOk = DML_BufferRead(ctx, handle, readBack.data(), (int)readBack.size());
|
||
|
|
std::cout << "read=" << readOk << " last=" << DML_GetLastError(ctx) << "\n";
|
||
|
|
for(size_t i = 0; i < readBack.size(); ++i)
|
||
|
|
std::cout << readBack[i] << (i + 1 == readBack.size() ? "\n" : " ");
|
||
|
|
DML_BufferFree(ctx, handle);
|
||
|
|
DML_Shutdown(ctx);
|
||
|
|
return 0;
|
||
|
|
}
|