2011-01-26 3 views
9

Кто-нибудь знает библиотеку JavaScript, которая точно реализует спецификацию IEEE 754 для 32-битных значений с плавающей запятой? Я спрашиваю, потому что я пытаюсь написать кросс-компилятор в JavaScript, и поскольку исходный язык имеет строгие требования, что значения с плавающей запятой соответствуют IEEE 754, генерируемый код JavaScript должен это сделать. Это означает, что я должен иметь возможность получить правильные значения IEEE 754 для сложения, вычитания, умножения и деления 32-битных поплавков. К сожалению, стандартный тип JavaScript Number - это 64-битный double, который даст разные результаты, чем ожидаемый. Проект действительно должен быть в JavaScript, и это единственный крупный камень преткновения, который мне еще предстоит пройти.Реализация 32-битных поплавков или 64-битных длин в JavaScript?

Я также сталкиваюсь с этой проблемой с 64-битными длинными.

+1

Вы делаете что?!? (впечатлено) Компилятор для чего именно? – amphetamachine

+0

@ amphetamachine- Если все идет хорошо (пересекает пальцы!) Реализация JVM, которая работает в JavaScript. Он предназначен для обучения intro CS онлайн. Я не ожидал, что это будет узким местом - я понял, как это делать, и все это до того, как это меня озадачило. :-) – templatetypedef

+0

Я предполагаю, что вы уже вложили в это много усилий, поэтому я думаю, что на самом деле стоит попробовать себя. Детали остаются в качестве упражнения для читателя. :) – nss

ответ

8

Closure library имеет по крайней мере 64-битную реализацию.

+0

@ gsnedders- Это красиво! Большое спасибо за ссылку. У меня сегодня нет голосов, но я обязательно дам вам +1, как только на следующий день перевернется. – templatetypedef

 Смежные вопросы

  • Нет связанных вопросов^_^