Кто нибудь разбирался с fixed point type? Хочу умножить/разделить значение fixed point type на целое некоторого типа. Компилятор не дает. procedure A is type X is delta 0.01 digits 5; type Int is new Integer; Y : X := 1.0; I : Int := 1; begin Y := Y * I; -- error end A; В ARM сказано, что оператор "*" и "/" есть для любого fixed и предопределеного Integer. Тогда, что значит следующее [В приложении ARM Numerics (Model of Fixed Point Arithmetic)] A multiplication P * Q of an operand of a fixed point type F by an operand of an integer type I, or vice-versa, and a division P / Q of an operand of a fixed point type F by an operand of an integer type I, are also allowed. In these cases, the result has a type of F; explicit conversion of the result is never required. "an integer type I" - это же не обязательно Integer? Максим
hi, Maxim Reznik wrote: > Кто нибудь разбирался с fixed point type? > Хочу умножить/разделить значение fixed point type на целое некоторого типа. > Компилятор не дает. > > procedure A is > type X is delta 0.01 digits 5; > type Int is new Integer; > Y : X := 1.0; > I : Int := 1; > begin > Y := Y * I; -- error > end A; [skipped] > "an integer type I" - это же не обязательно Integer? суть "засады" в том, что все предопределенные операции описаны для типа Intrger. для данного случая: предопределенные _реализацией_ знаки операций * и / не имеют понятия о существовании производного _самостоятельного_ типа Int. в результате, получается егор - таких знаков операций где встречаются тип с фиксированной точкой и тип Int ваще нету надеюсь, что идею ты уловил вообще, похоже, что это "приятный" сюрприз конкретной реализации компилятора, так что RM-мом меня по голове не бить ...а что мешает описать Int как подтип? > > > Максим Alex
Oleksandr Havva пишет: >hi, > >Maxim Reznik wrote: > > >>"an integer type I" - это же не обязательно Integer? >> >> > >суть "засады" в том, что все предопределенные операции >описаны для типа Intrger. > > Да, наверное ты прав. Даже если они написали "an integer" это, наверное вовсе не означает что есть еще какойто целый тип, кроме Integer, на который можно множить фиксет-поинт. >вообще, похоже, что это "приятный" сюрприз конкретной >реализации компилятора, так что RM-мом меня по голове не бить > > Да не, наверное тут все по закону. >...а что мешает описать Int как подтип? > > Ну пример этот так, иллюстрация. А засада была вот в чем. Пытаюсь прикрутить Interbase к Аде, там NUMBER типы реализованы как Int_64 плюс SCALE которое означает на сколько десяток надо разделить значение чтоб получить нужную дробь. (Ну на пример, если NUMBER(10,2) то scale=2 и 123,45 будет как Int_64'(12345)) Я че-то думал можно как-то из двух Int_64 (числителя и знаменателя) сразу получить нужный fixed-point. Максим
hi, Maxim Reznik wrote: > Oleksandr Havva пишет: > > >hi, > > > >Maxim Reznik wrote: > > > [skip] > > >вообще, похоже, что это "приятный" сюрприз конкретной > >реализации компилятора, так что RM-мом меня по голове не бить > > > > > Да не, наверное тут все по закону. ну дык... строгая типизация, однако :) > >...а что мешает описать Int как подтип? > > > > > Ну пример этот так, иллюстрация. А засада была вот в чем. > Пытаюсь прикрутить Interbase к Аде, хе-хе... я энтим тоже забавлялся :) могу поделиться сырцами, если хошь тока оно до ума не доведено, хотя импорт-файл функций IBase практически полностью написан (черновик) а финальная точка о которую я спотыкнулся по взрослому это попытка написать UDF на Аде "не летит вертолет" и гайки :( Alex
Oleksandr Havva пишет: >>Пытаюсь прикрутить Interbase к Аде, >> >> > >хе-хе... >я энтим тоже забавлялся :) >могу поделиться сырцами, если хошь > Присылай! Могу прислать свои. Я Interbase (=Firebird) взял для примера, хочу воздвигнуть общее API к базам данных. А то в GNADE это дело похоже заглохло... Можем обсудить, если кому интересно. >а финальная точка о которую я спотыкнулся по взрослому >это попытка написать UDF на Аде >"не летит вертолет" и гайки :( > > Нет, туда я еще не совался... Максим
Hi ! Am Donnerstag, 5. Dezember 2002 13:09 schrieb Maxim Reznik: > Я Interbase (=Firebird) взял для примера, > хочу воздвигнуть общее API к базам данных. > А то в GNADE это дело похоже заглохло... > Можем обсудить, если кому интересно. Н-да, "Ada.Community в собственном соку" ;-) "Есть-ли у вас план мистер Фикс ?" У меня есть план : почему бы не прикрутить Ada через plug-in к eclipse ? В результате имеем долгосрочную платформу для development'а так как IBM свои продукты долго поддерживает, кроме того сделать binding к eclipse SWT low level (GUI), что так же дает выигрыш (imho) по портабельности -> по барабану, Motif ли это, Windoze или GTK+ . Вот только осталось начать... ;-) Ilja
<<прикрутить Ada через plug-in к eclipse ? В результате имеем долгосрочную платформу для development'а так как IBM свои продукты долго поддерживает, кроме того сделать binding к eclipse SWT low level (GUI), что так же дает выигрыш (imho) по портабельности -> по барабану, Motif ли это, Windoze или GTK+ . Вот только осталось начать... ;-)>> А что такое "eclipse", и где про это почитать в инете ? И какая у него лицензия ?
Dmitriy Anisimkov пишет: ><<прикрутить Ada через plug-in >к eclipse ? В результате имеем долгосрочную платформу >Вот только осталось начать... ;-)>> > >А что такое "eclipse", и где про это почитать в инете ? >И какая у него лицензия ? > > IBM выдала IDE под Open Source лицензией. Красивая - жуть. Вот только на Java. Монстровитая - как все на Жабе. Сделано по модульному принципу. Разрабатываешь плагин - суешь JAR и готово. А идея прикрутить туда Аду не нова и в CLA проскакивала. Я и сам загорелся, когда на eclipse-у поглядел. Вот только сразу погас, как только попытался там что-то своять для Ады. Описания API по размеру - как все описания базовых Java классов, как мне показалось. Иерархия классов просто в голову не влази. Объектно-ориентированная технология во всей красе. Да и не писун я на Жабе! А писать на JGNAT туда - в пять раз сложнее, тк лишаешься кучи визардов, темлейтов и поддержки самой IDE Адрес прост http://www.eclipse.org/ 8-) Максим
Hi ! Am Freitag, 6. Dezember 2002 07:35 schrieb Maxim Reznik: > А идея прикрутить туда Аду не нова и в CLA проскакивала. Что есть "CLA" ? > Я и сам загорелся, когда на eclipse-у поглядел. > Вот только сразу погас, как только попытался > там что-то своять для Ады. Описания API > по размеру - как все описания базовых Java > классов, как мне показалось. Иерархия классов > просто в голову не влази. Для этого и существует дока :-) >Объектно-ориентированная > технология во всей красе. Да и не писун я на Жабе! Ну что же, будем значит рыть потихоньку в одиночку ;-) Ilja
Maxim Reznik wrote: > > хочу воздвигнуть общее API к базам данных. > А то в GNADE это дело похоже заглохло... > Можем обсудить, если кому интересно. > Если там планируется поддержка Wide_String, то я тоже не против присоединиться. Вадим
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти