private static boolean isLessThanMinUserSocialProofSize()

in graphjet-core/src/main/java/com/twitter/graphjet/algorithms/counting/tweetfeature/TopSecondDegreeByCountTweetRecsGenerator.java [144:166]


  private static boolean isLessThanMinUserSocialProofSize(
    SmallArrayBasedLongToDoubleMap[] socialProofs,
    byte[] validSocialProofTypes,
    int minUserSocialProofSize) {

    long authorId = getAuthorId(socialProofs);

    for (byte validSocialProofType: validSocialProofTypes) {
      if (socialProofs[validSocialProofType] != null) {
        int minUserSocialProofThreshold = minUserSocialProofSize;
        if (authorId != -1 &&
          // Skip tweet author social proof because its size can be only one
            validSocialProofType != RecommendationRequest.AUTHOR_SOCIAL_PROOF_TYPE &&
          socialProofs[validSocialProofType].contains(authorId)) {
          minUserSocialProofThreshold += 1;
        }
        if (socialProofs[validSocialProofType].uniqueKeysSize() >= minUserSocialProofThreshold) {
          return false;
        }
      }
    }
    return true;
  }