Exemple #1
0
/*
 * Helper function for calculating PEC
 */
uint8_t LT_SMBus::calculate(uint8_t *data, uint8_t begining_value, uint8_t start_index, uint8_t length)
{
  uint8_t i;
  uint8_t ret_value = begining_value;

  for (i = start_index; i < (start_index + length); i++)
  {
    ret_value = doCalculate(data[i], ret_value);
  }

  return ret_value;
}
Exemple #2
0
 int doCalculate(string S, string T) {
     if (T.length() == 0)
         return 1;
     if (S.length() == 0)
         return 0;
     int num = 0;
     for (int i = 0; i < S.length(); i++) {
         if (S[i] == T[0]) {
             num += doCalculate(S.substr(i + 1), T.substr(1));
         }
     }
     return num;
 }