Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #3883

Re: boolean to int : was char to decimal

Path csiph.com!x330-a1.tempe.blueboxinc.net!aioe.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail
From Jeff Higgins <jeff@invalid.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: boolean to int : was char to decimal
Date Mon, 09 May 2011 20:51:55 -0400
Organization A noiseless patient Spider
Lines 59
Message-ID <iqa238$ab5$1@dont-email.me> (permalink)
References <92ea64F3avU1@mid.individual.net> <Xns9EDBB8224D5B6vaj4088ianshef@138.125.254.103> <iptlkq$62g$2@lust.ihug.co.nz> <iq0r9c$efs$1@dont-email.me> <iq1asr$tps$1@dont-email.me> <iq996f01ge7@news2.newsguy.com>
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Tue, 10 May 2011 00:49:44 +0000 (UTC)
Injection-Info mx02.eternal-september.org; posting-host="66+B4XK2fUYI7mQKoMaOgA"; logging-data="10597"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX197eUyDsOr5y3QJvDc41PPnBcs9qSQbddo="
User-Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10
In-Reply-To <iq996f01ge7@news2.newsguy.com>
Cancel-Lock sha1:z5C2W6WokTdQmU/iO0x/aEo4p9o=
Xref x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:3883

Show key headers only | View raw


On 05/09/2011 12:51 PM, Michael Wojcik wrote:
> Jeff Higgins wrote:
>> Yes, the nested if/else seems more clear in the above short example.
>
> And that shows why context is often important in a question of coding
> style. Your short example contained nothing that could justify the odd
> use of the switch statement. (And your Java version made even less
> sense, since it lost the C++ boolean-int conversions and symmetry.)

Yes, a hasty post.

>> Now I wonder about the original author's motivation for
>> the use of switch statement. Code clarity, optimization, idiomatics?
>
> It looks to me like the C++ code may have been based on a C
> implementation of the algorithm, which would have been a bit simpler,
> since the int casts would have been unnecessary:
>
>     switch (((d2>  curve_collinearity_epsilon)<<  1) +
>              (d3>  curve_collinearity_epsilon)) {
>
> I would have preferred binary-or there rather than addition, for
> clarity, but either works.

Yes. I believe that if I had spent even a few more moments studying
I would have come up with markspace's one line solution.
Nigel Wade's one liner would have likely escaped me. Very nice.
Thanks to both.

> And that, in turn, may have come from a description of the algorithm
> that treated the two tests for inner-point collinearity as a pair of
> bits (which is what this code is doing). Or it may have originally
> been implemented on a processor where {test, test, shift, add,
> computed-goto} was a faster sequence than {test, branch, test,
> branch}. Bezier-curve rendering is a plausible target for optimization.
>
> Or it may just be idiosyncrasy, particularly since this is a directly
> recursive implementation, which seems likely to dwarf any savings from
> fooling with the collinearity tests.
>
> It's unlikely a Java implementation will benefit detectably from
> anything other than the straightforward cascading-if-else design.
> Certainly that would be the one to start with, and only investigate
> alternatives if performance is a problem and profiling indicates this
> is a useful target for optimization.

My translation of Maxim Shemanarev's code seems to run without a hitch
in an interactive Swing panel.

Roedy Green sparked my interest in this subject in a recent cljh post.
My original question was: Will the AGG algo produce a 'nicer' curve
than Java's FlatteningPathIterator? The answer so far is yes and no.

My interest has now expanded. Starting here, I've a ways to go.
<http://www3.villanova.edu/maple/misc/history_of_curvature/index.htm>

Thanks for the discussion, much appreciated.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-05 01:43 +0100
  Re: char to decimal Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2011-05-04 17:49 -0700
  Re: char to decimal Ian Shef <invalid@avoiding.spam> - 2011-05-05 01:06 +0000
    Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-05 20:03 +1200
      Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 07:03 -0400
        Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-05 11:18 +0000
          Re: char to decimal Patricia Shanahan <pats@acm.org> - 2011-05-05 06:11 -0700
            Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 01:59 +1200
              Re: char to decimal Mayeul <mayeul.marguet@free.fr> - 2011-05-05 16:53 +0200
                Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 11:49 +1200
                Re: char to decimal Mayeul <mayeul.marguet@free.fr> - 2011-05-06 08:46 +0200
                Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 18:43 +1200
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 06:52 -0400
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-06 11:39 +0000
              Re: char to decimal Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-05-05 14:13 -0400
                Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 11:49 +1200
                Re: char to decimal Mayeul <mayeul.marguet@free.fr> - 2011-05-06 08:47 +0200
                Re: char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 18:43 +1200
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 06:54 -0400
                Re: char to decimal Jussi Piitulainen <jpiitula@ling.helsinki.fi> - 2011-05-06 10:30 +0300
              Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:05 -0400
            Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-05 14:56 +0000
              Re: char to decimal Paul Cager <paul.cager@googlemail.com> - 2011-05-05 11:48 -0700
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:06 -0400
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-05 21:28 +0000
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:32 -0400
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-06 08:31 +0000
          Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:04 -0400
      boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-06 09:00 -0400
        Re: boolean to int : was char to decimal Patricia Shanahan <pats@acm.org> - 2011-05-06 06:54 -0700
        Re: boolean to int : was char to decimal markspace <-@.> - 2011-05-06 07:07 -0700
          Re: boolean to int : was char to decimal markspace <-@.> - 2011-05-06 08:30 -0700
        Re: boolean to int : was char to decimal Nigel Wade <nmw-news@ion.le.ac.uk> - 2011-05-06 15:35 +0100
        Re: boolean to int : was char to decimal Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 19:12 +0200
        Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-06 13:26 -0400
          Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-06 21:25 -0400
          Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-06 21:28 -0400
          Re: boolean to int : was char to decimal Michael Wojcik <mwojcik@newsguy.com> - 2011-05-09 12:51 -0400
            Re: boolean to int : was char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-09 23:54 +0000
            Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-09 20:51 -0400
              Re: boolean to int : was char to decimal Michael Wojcik <mwojcik@newsguy.com> - 2011-05-10 11:20 -0400
            Re: boolean to int : was char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-10 13:47 +1200
              Re: boolean to int : was char to decimal Michael Wojcik <mwojcik@newsguy.com> - 2011-05-10 11:02 -0400
                Re: boolean to int : was char to decimal Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-11 14:05 +1200
                Re: boolean to int : was char to decimal Jeff Higgins <jeff@invalid.invalid> - 2011-05-11 08:11 -0400
  Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-05 02:12 +0100
  Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-04 21:59 -0400
    Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-05 16:14 +0100
      Re: char to decimal markspace <-@.> - 2011-05-05 11:20 -0700
        Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 17:10 -0400
          Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-05 22:00 +0000
            Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-05 18:20 -0400
          Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-06 10:45 +0100
            Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 06:56 -0400
              Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-06 11:48 +0000
                Re: char to decimal Joshua Cranmer <Pidgeot18@verizon.invalid> - 2011-05-06 08:38 -0400
                Re: char to decimal Michael Wojcik <mwojcik@newsguy.com> - 2011-05-06 09:47 -0400
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 12:02 -0400
                Re: char to decimal Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 19:15 +0200
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 14:01 -0400
                Re: char to decimal Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 20:07 +0200
                Re: O/T linguistics (Was: char to decimal) Lew <noone@lewscanon.com> - 2011-05-06 15:28 -0400
                Re: O/T linguistics Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 21:44 +0200
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-06 23:57 +0000
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 12:00 -0400
              Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-06 18:29 +0100
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 14:02 -0400
                Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-07 01:09 +0100
                Re: char to decimal Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-07 00:18 +0000
                Re: char to decimal Lew <noone@lewscanon.com> - 2011-05-06 21:30 -0400
  Re: char to decimal Roedy Green <see_website@mindprod.com.invalid> - 2011-05-04 22:03 -0700
    Re: char to decimal "Nasser M. Abbasi" <nma@12000.org> - 2011-05-05 01:14 -0700
    Re: char to decimal Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-05-05 16:15 +0100

csiph-web