From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <43FC69F4.5010409@iop.kiev.ua> Date: Wed, 22 Feb 2006 15:41:08 +0200 From: Andrey Rybak User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060130 SeaMonkey/1.0 MIME-Version: 1.0 To: =?KOI8-R?Q?=F3=D0=C9=D3=CF=CB_=D2=C1=D3=D3=D9=CC=CB=C9_=D0=CF_=C9?= =?KOI8-R?Q?=D3=D0=CF=CC=D8=DA=CF=D7=C1=CE=C9=C0_=C4=C9=D3=D4=D2=C9=C2=D5?= =?KOI8-R?Q?=D4=C9=D7=CF=D7_ALT_Linux?= References: <43FC4A2E.5030302@iop.kiev.ua> <20060222115141.GG19814@damir.rnd.local> <43FC5E46.9000909@iop.kiev.ua> <20060222125640.GH19814@damir.rnd.local> In-Reply-To: <20060222125640.GH19814@damir.rnd.local> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Scanned: ClamAV 0.88/1297/Tue Feb 21 21:44:31 2006 on rmaile.iop.kiev.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.4 required=4.0 tests=ALL_TRUSTED,BAYES_00, CHARSET_FARAWAY,MIME_CHARSET_FARAWAY autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on rmaile.iop.kiev.ua Subject: Re: [Comm] value overflow on C X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.6 Precedence: list Reply-To: ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Feb 2006 13:40:57 -0000 Archived-At: List-Archive: List-Post: > >> Поэтому мне надо просто детектировать, что я подошел к предельным >> величинам. Просто условными оператороми (if например) эта задача >> решается неудовлетворительно. >> > Почему? Даже с флажком от условного перехода (if) вы никуда не денетесь :( > > Я имел ввиду if c операторами "<" и ">". А так конечно - флаг используется вместе с if. >> А вопрос у меня возник, потому что помнится мне, что в ассемблере есть >> флажок переполнения байта величины (при инкременте например), поэтому >> думается мне, что при близости Си к низкоуровнему программированию, >> такая фича (определение превышения допустимой величины) должна быть. >> Именно поэтому я привел пример с ERANGE. >> >> Есть еще идеи? >> > Написать на асме функцию сложения, использующую этот флаг и использовать ее, > определив как inline для ускорения например. Правда это непортабельно. > > Не хочу, а придется. Но, кажется, должно быть чисто сишное решение. Может еще кто что скажет?