/* @tier hard @module py @transform payment-util */
/*
 * py_cu_0004.c - 지급 공통 유틸리티 (plain C)  [tier=hard]
 */
#include "py_cu_0004.h"

#include <string.h>

/* 수수료 계산: rate_bp 는 basis point(1bp=0.01%) */
long py_cu_0004_fee(long amount, int rate_bp)
{
    long fee;
    if (amount <= 0 || rate_bp < 0)
        return 0;
    fee = (amount * (long)rate_bp) / 10000L;
    if (fee < 0)
        fee = 0;
    return fee;
}

/* 절사(내림) 단위 정규화 */
long py_cu_0004_round_unit(long amount, long unit)
{
    if (unit <= 0)
        return amount;
    return (amount / unit) * unit;
}

/* 금액 구간 분류: 0=소액 1=일반 2=고액 */
int py_cu_0004_classify(long amount)
{
    if (amount < 10000L)
        return 0;
    if (amount < 1000000L)
        return 1;
    return 2;
}
