Ver código fonte

分数计算公式调整18。

skyffire 1 ano atrás
pai
commit
3733a2f9be
1 arquivos alterados com 7 adições e 2 exclusões
  1. 7 2
      src/rank.rs

+ 7 - 2
src/rank.rs

@@ -1,5 +1,5 @@
 use std::collections::HashMap;
-use rust_decimal::{Decimal};
+use rust_decimal::{Decimal, MathematicalOps};
 use rust_decimal_macros::dec;
 use serde::{Deserialize, Serialize};
 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;
         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);
 
         let rank = Rank {