mescc: Support rshift, have guile-mini-mes pass math test.
[mes.git] / scaffold / mini-mes.c
index d5a4bcb46eb9f839aea95b0181241e5cd55b931a..9032fe8fd24af4e5a0f44d500930a93118456c42 100644 (file)
@@ -1278,9 +1278,10 @@ ash (SCM n, SCM count)
 #if __GNUC__
   return MAKE_NUMBER ((ccount < 0) ? cn >> -ccount : cn << ccount);
 #else
-  //FIXME
-  assert (ccount >= 0);
-  return MAKE_NUMBER (cn << ccount);
+  int x;
+  if (ccount < 0) x = cn >> INT_MIN - ccount;
+  else x = cn << ccount;
+  return MAKE_NUMBER (x);
 #endif
 }