瀏覽代碼

分数计算公式调整18。

skyffire 1 年之前
父節點
當前提交
3733a2f9be
共有 1 個文件被更改,包括 7 次插入2 次删除
  1. 7 2
      src/rank.rs

+ 7 - 2
src/rank.rs

@@ -1,5 +1,5 @@
 use std::collections::HashMap;
 use std::collections::HashMap;
-use rust_decimal::{Decimal};
+use rust_decimal::{Decimal, MathematicalOps};
 use rust_decimal_macros::dec;
 use rust_decimal_macros::dec;
 use serde::{Deserialize, Serialize};
 use serde::{Deserialize, Serialize};
 use serde_json::Value;
 use serde_json::Value;
@@ -96,7 +96,12 @@ pub fn generate_rank_by_indicator_map(indicator_map: &MutexGuard<HashMap<String,
         let mut frequency_score = (effective_count / Decimal::ONE_THOUSAND) * TWENTY;
         let mut frequency_score = (effective_count / Decimal::ONE_THOUSAND) * TWENTY;
         frequency_score.rescale(2);
         frequency_score.rescale(2);
 
 
-        let mut score = msv_score * liquidity_score * frequency_score;
+        let temp = msv_score * liquidity_score * frequency_score;
+        let mut score = if temp > Decimal::ONE {
+            Decimal::TEN * temp.log10()
+        } else {
+            Decimal::ZERO
+        };
         score.rescale(2);
         score.rescale(2);
 
 
         let rank = Rank {
         let rank = Rank {