/* @tier hard @module cl @transform closing-util */ /* * cl_cu_0009.c - 마감 공통 유틸리티 (plain C) [tier=hard] */ #include "cl_cu_0009.h" #include /* 수수료 계산: rate_bp 는 basis point(1bp=0.01%) */ long cl_cu_0009_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 cl_cu_0009_round_unit(long amount, long unit) { if (unit <= 0) return amount; return (amount / unit) * unit; } /* 금액 구간 분류: 0=소액 1=일반 2=고액 */ int cl_cu_0009_classify(long amount) { if (amount < 10000L) return 0; if (amount < 1000000L) return 1; return 2; }