void
Conf::setLogLevel (const char *log_level) {
if (log_level) {
- unsigned long val;
+ unsigned long long val;
errno = 0;
- val = strtoul (log_level, nullptr, 10);
+ val = strtoull (log_level, nullptr, 10);
if (errno == 0 && val <= UINT32_MAX) {
log_level_ = static_cast<uint32_t> (val);
}
void
Conf::setNumThreads (const char *num_threads) {
if (num_threads) {
- unsigned long val;
+ unsigned long long val;
errno = 0;
- val = strtoul (num_threads, nullptr, 10);
+ val = strtoull (num_threads, nullptr, 10);
if (errno == 0 && val <= UINT32_MAX && val > 0) {
num_threads_ = static_cast<uint32_t> (val);
}
Logger::logwrite_args (npu_loglevel l, const char *tag, const char *format, va_list args) {
std::unique_lock<std::mutex> lock (m_);
time_t ltime = time (nullptr);
- char *time_str;
-
+ char time_str[100];
+ struct tm t;
/**
* localtime() and asctime() are not MT-safe. There are alternatives,
* localtime_r() and asctime_r(), when __USE_POSIX is set. Without them, we
* need critical section here.
*/
- time_str = asctime (localtime (<ime));
+ localtime_r (<ime, &t);
+ asctime_r (&t, time_str);
time_str[strcspn (time_str, "\n")] = '\x00';
char log_msg[MAX_LOG_MSG];
float scale = 127.0;
double max = 255.0;
double min = 0.0;
+ unsigned int seed = (unsigned int) time (NULL);
converter->setData (src_data, dst_data, 4096 * 2);
converter->setDataDims (data_dims);
/* fill any data */
for (int i = 0; i < 4096; i++) {
- src_data[i] = rand () % UINT16_MAX;
+ src_data[i] = rand_r (&seed) % UINT16_MAX;
dst_data[i] = 0;
}
float scale = 127.0;
double max = 32767.0;
double min = -32768.0;
+ unsigned int seed = (unsigned int) time (NULL);
converter->setData (src_data, dst_data, 4096 * 4);
converter->setDataDims (data_dims);
/* fill any data */
for (int i = 0; i < 4096; i++) {
- src_data[i] = rand () % UINT32_MAX;
+ src_data[i] = rand_r (&seed) % UINT32_MAX;
dst_data[i] = 0;
}
uint32_t data_dims[] = {1, 8, 8, 64};
uint32_t zero = 0;
float scale = 0.0;
+ unsigned int seed = (unsigned int) time (NULL);
converter->setData (src_data, dst_data, 4096 * 4);
converter->setDataDims (data_dims);
/* fill any data */
for (int i = 0; i < 4096; i++) {
- src_data[i] = rand () % UINT32_MAX;
+ src_data[i] = rand_r (&seed) % UINT32_MAX;
dst_data[i] = 0;
}
uint32_t data_dims[] = {1, 8, 8, 64};
uint32_t zero = 127;
float scale = 127.0;
+ unsigned int seed = (unsigned int) time (NULL);
converter->setData (src_data, dst_data, 4096);
converter->setDataDims (data_dims);
/* fill any data */
for (int i = 0; i < 4096; i++) {
- src_data[i] = rand () % UINT8_MAX;
+ src_data[i] = rand_r (&seed) % UINT8_MAX;
dst_data[i] = 0;
}
uint32_t data_dims[] = {1, 8, 8, 64};
uint32_t zero = 0;
float scale = 127.0;
+ unsigned int seed = (unsigned int) time (NULL);
converter->setData (src_data, dst_data, 4096 * 2);
converter->setDataDims (data_dims);
/* fill any data */
for (int i = 0; i < 4096; i++) {
- src_data[i] = rand () % INT16_MAX;
+ src_data[i] = rand_r (&seed) % INT16_MAX;
dst_data[i] = 0;
}
uint8_t *dst_data = new uint8_t[4096];
uint32_t data_dims[] = {1, 8, 8, 64};
uint32_t granularity = DATA_GRANULARITY;
+ unsigned int seed = (unsigned int) time (NULL);
converter->setData (src_data, dst_data, 4096);
converter->setDataDims (data_dims);
/* fill any data */
for (int i = 0; i < 4096; i++) {
- src_data[i] = rand () % UINT8_MAX;
+ src_data[i] = rand_r (&seed) % UINT8_MAX;
dst_data[i] = 0;
}
int16_t *dst_data = new int16_t[4096];
uint32_t data_dims[] = {1, 8, 8, 64};
uint32_t granularity = DATA_GRANULARITY;
+ unsigned int seed = (unsigned int) time (NULL);
converter->setData (src_data, dst_data, 4096 * 2);
converter->setDataDims (data_dims);
/* fill any data */
for (int i = 0; i < 4096; i++) {
- src_data[i] = rand () % INT16_MAX;
+ src_data[i] = rand_r (&seed) % INT16_MAX;
dst_data[i] = 0;
}