Fix MSVC "value may be truncated" warnings. (by pkasting@)

git-svn-id: https://cld2.googlecode.com/svn/trunk@168 b252ecd4-b096-bf77-eb8e-91563289f87e
diff --git a/internal/cldutil.cc b/internal/cldutil.cc
index ecda9a5..d73ec5a 100644
--- a/internal/cldutil.cc
+++ b/internal/cldutil.cc
@@ -599,7 +599,8 @@
   if (ratio <= kRatio100) {return 100;}
   if (ratio > kRatio0) {return 0;}
 
-  int percent_good = 100.0 * (kRatio0 - ratio) / (kRatio0 - kRatio100);
+  int percent_good =
+      static_cast<int>(100.0 * (kRatio0 - ratio) / (kRatio0 - kRatio100));
   return percent_good;
 }
 
diff --git a/internal/cldutil_shared.h b/internal/cldutil_shared.h
index 5e3b8df..af3d9e6 100644
--- a/internal/cldutil_shared.h
+++ b/internal/cldutil_shared.h
@@ -392,7 +392,7 @@
                                   uint32* subscr, uint32* hashkey) {
   uint32 temp = (longwordhash + (longwordhash >> 12)) & (bucketcount - 1);
   *subscr = temp;
-  temp = longwordhash >> 4;
+  temp = static_cast<uint32>(longwordhash >> 4);
   *hashkey = temp & keymask;
 }
 
diff --git a/internal/getonescriptspan.cc b/internal/getonescriptspan.cc
index 6bdd487..451249c 100644
--- a/internal/getonescriptspan.cc
+++ b/internal/getonescriptspan.cc
@@ -253,13 +253,13 @@
   // 1 char 00-7F
   c = *rune;
   if(c <= 0x7F) {
-    str[0] = c;
+    str[0] = static_cast<char>(c);
     return 1;
   }
 
   // 2 char 0080-07FF
   if(c <= 0x07FF) {
-    str[0] = 0xC0 | (c >> 1*6);
+    str[0] = 0xC0 | static_cast<char>(c >> 1*6);
     str[1] = 0x80 | (c & 0x3F);
     return 2;
   }
@@ -271,14 +271,14 @@
 
   // 3 char 0800-FFFF
   if (c <= 0xFFFF) {
-    str[0] = 0xE0 |  (c >> 2*6);
+    str[0] = 0xE0 | static_cast<char>(c >> 2*6);
     str[1] = 0x80 | ((c >> 1*6) & 0x3F);
-    str[2] = 0x80 |  (c & 0x3F);
+    str[2] = 0x80 | (c & 0x3F);
     return 3;
   }
 
   // 4 char 10000-1FFFFF
-  str[0] = 0xF0 | (c >> 3*6);
+  str[0] = 0xF0 | static_cast<char>(c >> 3*6);
   str[1] = 0x80 | ((c >> 2*6) & 0x3F);
   str[2] = 0x80 | ((c >> 1*6) & 0x3F);
   str[3] = 0x80 | (c & 0x3F);
diff --git a/internal/scoreonescriptspan.cc b/internal/scoreonescriptspan.cc
index b2cebc0..887e78b 100644
--- a/internal/scoreonescriptspan.cc
+++ b/internal/scoreonescriptspan.cc
@@ -184,7 +184,7 @@
 
 
 int DiffScore(const CLD2TableSummary* obj, int indirect,
-              uint16 lang1, uint16 lang2) {
+              uint8 lang1, uint8 lang2) {
   if (indirect < static_cast<int>(obj->kCLDTableSizeOne)) {
     // Up to three languages at indirect
     uint32 langprob = obj->kCLDTableInd[indirect];
@@ -669,7 +669,7 @@
 int BetterBoundary(const char* text,
                    ScoringHitBuffer* hitbuffer,
                    ScoringContext* scoringcontext,
-                   uint16 pslang0, uint16 pslang1,
+                   uint8 pslang0, uint8 pslang1,
                    int linear0, int linear1, int linear2) {
   // Degenerate case, no change
   if ((linear2 - linear0) <= 8) {return linear1;}
diff --git a/internal/tote.cc b/internal/tote.cc
index fbaba7d..1573da8 100644
--- a/internal/tote.cc
+++ b/internal/tote.cc
@@ -236,7 +236,7 @@
         value_[sub] = value_[sub2];
         value_[sub2] = tmpv;
 
-        double tmps = score_[sub];
+        int tmps = score_[sub];
         score_[sub] = score_[sub2];
         score_[sub2] = tmps;