// 秒寻科技
// 队列排序
// 周涛
// 2023-03-04

#include "../includes/includes.h"

// 计算两点之间的距离
// 输入参数，单位厘米
// 返回参数，单位米
flt32 util_distance_cal_p2p_distance(int32 x1, int32 y1, int32 x2, int32 y2)
{
    flt32 fDistance = 0.0;
    flt32 xx = (flt32)(x1 - x2) / 100;
    flt32 yy = (flt32)(y1 - y2) / 100;

    fDistance = (flt32)sqrt(xx * xx + yy * yy);

    return fDistance;
}

// 根据一个数，在该数左右两侧范围内生成一个随机数
// dwBaseData:基数
// wRange:单边偏移
int32 util_distance_gen_rand_num(int32 dwBaseData, uint16 wRange)
{
    int32 dwTotalRange = 2 * wRange + 1; // 总范围
    int32 dwRemainder = 0;
    int32 randomNum = 0; // 随机数

    // 初始化随机数生成器
    srand(time(NULL));

    // 生成随机数
    dwRemainder = rand() % dwTotalRange;           // 生成 [0, dwTotalRange) 范围内的随机数
    randomNum = dwBaseData - wRange + dwRemainder; // 生成所需的随机数

    return randomNum;
}