1
0
mirror of https://github.com/janet-lang/janet synced 2024-11-24 17:27:18 +00:00

More explicit casts to please Microsoft compiler.

This commit is contained in:
Calvin Rose 2019-01-05 21:58:39 -05:00
parent 0fdd404a71
commit 7b28032f5c
3 changed files with 9 additions and 9 deletions

View File

@ -293,7 +293,7 @@ static Janet janet_io_fseek(int32_t argc, Janet *argv) {
janet_panicf("expected one of :cur, :set, :end, got %v", argv[1]); janet_panicf("expected one of :cur, :set, :end, got %v", argv[1]);
} }
if (argc == 3) { if (argc == 3) {
offset = janet_getinteger64(argv, 2); offset = (long) janet_getinteger64(argv, 2);
} }
} }
if (fseek(iof->file, offset, whence)) janet_panic("error seeking file"); if (fseek(iof->file, offset, whence)) janet_panic("error seeking file");

View File

@ -183,7 +183,7 @@ static void string_description_b(JanetBuffer *buffer, const char *title, void *p
*c++ = HEX(byte & 0xF); *c++ = HEX(byte & 0xF);
} }
*c++ = '>'; *c++ = '>';
buffer->count = c - buffer->data; buffer->count = (int32_t)(c - buffer->data);
#undef POINTSIZE #undef POINTSIZE
} }
@ -966,7 +966,7 @@ static Janet cfun_join(int32_t argc, Janet *argv) {
janet_panic("result string too long"); janet_panic("result string too long");
} }
uint8_t *buf, *out; uint8_t *buf, *out;
out = buf = janet_string_begin(finallen); out = buf = janet_string_begin((int32_t) finallen);
for (i = 0; i < parts.len; i++) { for (i = 0; i < parts.len; i++) {
const uint8_t *chunk = NULL; const uint8_t *chunk = NULL;
int32_t chunklen = 0; int32_t chunklen = 0;

View File

@ -116,7 +116,7 @@ static void bignat_muladd(struct BigNat *mant, uint32_t factor, uint32_t term) {
mant->digits[i] = carry % BIGNAT_BASE; mant->digits[i] = carry % BIGNAT_BASE;
carry /= BIGNAT_BASE; carry /= BIGNAT_BASE;
} }
if (carry) bignat_append(mant, carry); if (carry) bignat_append(mant, (uint32_t) carry);
} }
/* Divide the mantissa mant by a factor. Drop the remainder. */ /* Divide the mantissa mant by a factor. Drop the remainder. */
@ -128,13 +128,13 @@ static void bignat_div(struct BigNat *mant, uint32_t divisor) {
for (i = mant->n - 1; i >= 0; i--) { for (i = mant->n - 1; i >= 0; i--) {
dividend = ((uint64_t)remainder * BIGNAT_BASE) + mant->digits[i]; dividend = ((uint64_t)remainder * BIGNAT_BASE) + mant->digits[i];
if (i < mant->n - 1) mant->digits[i + 1] = quotient; if (i < mant->n - 1) mant->digits[i + 1] = quotient;
quotient = dividend / divisor; quotient = (uint32_t)(dividend / divisor);
remainder = dividend % divisor; remainder = (uint32_t)(dividend % divisor);
mant->digits[i] = remainder; mant->digits[i] = remainder;
} }
dividend = ((uint64_t)remainder * BIGNAT_BASE) + mant->first_digit; dividend = ((uint64_t)remainder * BIGNAT_BASE) + mant->first_digit;
if (mant->n && mant->digits[mant->n - 1] == 0) mant->n--; if (mant->n && mant->digits[mant->n - 1] == 0) mant->n--;
mant->first_digit = dividend / divisor; mant->first_digit = (uint32_t)(dividend / divisor);
} }
/* Shift left by a multiple of BIGNAT_NBIT */ /* Shift left by a multiple of BIGNAT_NBIT */
@ -173,7 +173,7 @@ static double bignat_extract(struct BigNat *mant, int32_t exponent2) {
uint64_t d1 = mant->digits[n - 1]; /* MSD (non-zero) */ uint64_t d1 = mant->digits[n - 1]; /* MSD (non-zero) */
uint64_t d2 = (n == 1) ? mant->first_digit : mant->digits[n - 2]; uint64_t d2 = (n == 1) ? mant->first_digit : mant->digits[n - 2];
uint64_t d3 = (n > 2) ? mant->digits[n - 3] : (n == 2) ? mant->first_digit : 0; uint64_t d3 = (n > 2) ? mant->digits[n - 3] : (n == 2) ? mant->first_digit : 0;
int lz = clz(d1); int lz = clz((uint32_t) d1);
int nbits = 32 - lz; int nbits = 32 - lz;
/* First get 54 bits */ /* First get 54 bits */
top53 = (d2 << (54 - BIGNAT_NBIT)) + (d3 >> (2 * BIGNAT_NBIT - 54)); top53 = (d2 << (54 - BIGNAT_NBIT)) + (d3 >> (2 * BIGNAT_NBIT - 54));
@ -192,7 +192,7 @@ static double bignat_extract(struct BigNat *mant, int32_t exponent2) {
/* One digit */ /* One digit */
top53 = mant->first_digit; top53 = mant->first_digit;
} }
return ldexp(top53, exponent2); return ldexp((double)top53, exponent2);
} }
/* Read in a mantissa and exponent of a certain base, and give /* Read in a mantissa and exponent of a certain base, and give