^

8 messages
Open this post in threaded view
|

^

 Seems very logical to support a^b as a short cut for Math.pow( a,   b );  I know this is not really an important feature but it would make   some maths in haXe look a lot nicer, and would make haXe more   approachable as unlike some fancy feature requests ^ seems fairly   established notation, I guess if it was considered worthwhile to add   then obviously for consistency   a ^= b   could be used   a =   Math.pow( a, b );  probably very rare but logical in keeping   everything consistent.  I guess I am coming from the direction of   making haXe a language suitable for school students experimenting with   maths practically. For instance not tried it yet but this function currently in haXe...      private function quadraticBezier( startPoint: Float,   controlPoint: Float, endPoint: Float )      {          return  Math.pow( (1 – t), 2 ) * startPoint + 2(1 – t) * t *   controlPoint + Math.pow( t, 2 ) * endPoint;      } looks cleaner as...      private function quadraticBezier( startPoint: Float,   controlPoint: Float, endPoint: Float )      {          return  (1 – t)^2 * startPoint + 2(1 – t) * t * controlPoint   + t^2 * endPoint;      } and ofcourse         var distance = Math.pow( Math.pow( x2 - x1, 2 ) + Math.pow( y2 - y1,   2 ), 0.5 ); would be written in a much nicer form...         var distance = (  ( x2 - x1)^2  +  ( y2 - y1 )^2  )^0.5; you can argue that trig is currently a bit verbose, but you can create   a short cut in your code so that complex series can be written to be   easier to read. var sine = Math.sin; var cos = Math.cos; var x = r* sin( theta ); var y = r* cos( theta ); but this does not work so well with pow. Anyway just a thought. -- haXe - an open source web programming language http://haxe.org
Open this post in threaded view
|

Re: ^

 I think "using Math;" is good enough here, as it reduces things to:    return  (1 – t).pow(2) * startPoint + 2 * (1 – t) * t * controlPoint + t.pow(2) * endPoint;    var x = r* theta.sin();    var y = r* theta.cos(); Also ^ already means bitwise XOR, so something else must be used (python's ** might be an idea). greetz, back2dos On Mon, Oct 3, 2011 at 3:00 AM, [hidden email] <[hidden email]> wrote: > Seems very logical to support a^b as a short cut for Math.pow( a, b );  I > know this is not really an important feature but it would make some maths in > haXe look a lot nicer, and would make haXe more approachable as unlike some > fancy feature requests ^ seems fairly established notation, I guess if it > was considered worthwhile to add then obviously for consistency   a ^= b > could be used   a = Math.pow( a, b );  probably very rare but logical in > keeping everything consistent.  I guess I am coming from the direction of > making haXe a language suitable for school students experimenting with maths > practically. > > For instance not tried it yet but this function currently in haXe... > >    private function quadraticBezier( startPoint: Float, controlPoint: Float, > endPoint: Float ) >    { > >        return  Math.pow( (1 – t), 2 ) * startPoint + 2(1 – t) * t * > controlPoint + Math.pow( t, 2 ) * endPoint; > >    } > > looks cleaner as... > >    private function quadraticBezier( startPoint: Float, controlPoint: Float, > endPoint: Float ) >    { > >        return  (1 – t)^2 * startPoint + 2(1 – t) * t * controlPoint + t^2 * > endPoint; > >    } > > and ofcourse > >        var distance = Math.pow( Math.pow( x2 - x1, 2 ) + Math.pow( y2 - y1, > 2 ), 0.5 ); > > would be written in a much nicer form... > >        var distance = (  ( x2 - x1)^2  +  ( y2 - y1 )^2  )^0.5; > > you can argue that trig is currently a bit verbose, but you can create a > short cut in your code so that complex series can be written to be easier to > read. > > var sine = Math.sin; > var cos = Math.cos; > > var x = r* sin( theta ); > var y = r* cos( theta ); > > but this does not work so well with pow. > > Anyway just a thought. > > > -- > haXe - an open source web programming language > http://haxe.org> -- haXe - an open source web programming language http://haxe.org
Open this post in threaded view
|

Re: ^

 In reply to this post by jlm@justinfront.net ^ is already used for bitwise xor.On Sun, Oct 2, 2011 at 10:00 PM, [hidden email] wrote: Seems very logical to support a^b as a short cut for Math.pow( a, b );  I know this is not really an important feature but it would make some maths in haXe look a lot nicer, and would make haXe more approachable as unlike some fancy feature requests ^ seems fairly established notation, I guess if it was considered worthwhile to add then obviously for consistency   a ^= b   could be used   a = Math.pow( a, b );  probably very rare but logical in keeping everything consistent.  I guess I am coming from the direction of making haXe a language suitable for school students experimenting with maths practically. For instance not tried it yet but this function currently in haXe...    private function quadraticBezier( startPoint: Float, controlPoint: Float, endPoint: Float )    {        return  Math.pow( (1 – t), 2 ) * startPoint + 2(1 – t) * t * controlPoint + Math.pow( t, 2 ) * endPoint;    } looks cleaner as...    private function quadraticBezier( startPoint: Float, controlPoint: Float, endPoint: Float )    {        return  (1 – t)^2 * startPoint + 2(1 – t) * t * controlPoint + t^2 * endPoint;    } and ofcourse        var distance = Math.pow( Math.pow( x2 - x1, 2 ) + Math.pow( y2 - y1, 2 ), 0.5 ); would be written in a much nicer form...        var distance = (  ( x2 - x1)^2  +  ( y2 - y1 )^2  )^0.5; you can argue that trig is currently a bit verbose, but you can create a short cut in your code so that complex series can be written to be easier to read. var sine = Math.sin; var cos = Math.cos; var x = r* sin( theta ); var y = r* cos( theta ); but this does not work so well with pow. Anyway just a thought. -- haXe - an open source web programming language http://haxe.org -- haXe - an open source web programming language http://haxe.org
Open this post in threaded view
|

Re: ^

 oops sorry :)On 3 Oct 2011, at 02:49, Mario Carbajal wrote:^ is already used for bitwise xor.On Sun, Oct 2, 2011 at 10:00 PM, [hidden email] wrote: Seems very logical to support a^b as a short cut for Math.pow( a, b );  I know this is not really an important feature but it would make some maths in haXe look a lot nicer, and would make haXe more approachable as unlike some fancy feature requests ^ seems fairly established notation, I guess if it was considered worthwhile to add then obviously for consistency   a ^= b   could be used   a = Math.pow( a, b );  probably very rare but logical in keeping everything consistent.  I guess I am coming from the direction of making haXe a language suitable for school students experimenting with maths practically. For instance not tried it yet but this function currently in haXe...    private function quadraticBezier( startPoint: Float, controlPoint: Float, endPoint: Float )    {        return  Math.pow( (1 – t), 2 ) * startPoint + 2(1 – t) * t * controlPoint + Math.pow( t, 2 ) * endPoint;    } looks cleaner as...    private function quadraticBezier( startPoint: Float, controlPoint: Float, endPoint: Float )    {        return  (1 – t)^2 * startPoint + 2(1 – t) * t * controlPoint + t^2 * endPoint;    } and ofcourse        var distance = Math.pow( Math.pow( x2 - x1, 2 ) + Math.pow( y2 - y1, 2 ), 0.5 ); would be written in a much nicer form...        var distance = (  ( x2 - x1)^2  +  ( y2 - y1 )^2  )^0.5; you can argue that trig is currently a bit verbose, but you can create a short cut in your code so that complex series can be written to be easier to read. var sine = Math.sin; var cos = Math.cos; var x = r* sin( theta ); var y = r* cos( theta ); but this does not work so well with pow. Anyway just a thought. -- haXe - an open source web programming language http://haxe.org -- haXe - an open source web programming languagehttp://haxe.org-- haXe - an open source web programming language http://haxe.org
Open this post in threaded view
|

Re: ^

 By the way, why don't we have logical xor? On 3 Oct 2011 06:28, "[hidden email]" <[hidden email]> wrote:> oops sorry :) > On 3 Oct 2011, at 02:49, Mario Carbajal wrote:> >> ^ is already used for bitwise xor.>>>> On Sun, Oct 2, 2011 at 10:00 PM, [hidden email] <[hidden email] >> > wrote:>> Seems very logical to support a^b as a short cut for Math.pow( a, >> b ); I know this is not really an important feature but it would >> make some maths in haXe look a lot nicer, and would make haXe more >> approachable as unlike some fancy feature requests ^ seems fairly >> established notation, I guess if it was considered worthwhile to add >> then obviously for consistency a ^= b could be used a = >> Math.pow( a, b ); probably very rare but logical in keeping >> everything consistent. I guess I am coming from the direction of >> making haXe a language suitable for school students experimenting >> with maths practically.>>>> For instance not tried it yet but this function currently in haXe...>>>> private function quadraticBezier( startPoint: Float, >> controlPoint: Float, endPoint: Float ) >> {>>>> return Math.pow( (1 – t), 2 ) * startPoint + 2(1 – t) * t * >> controlPoint + Math.pow( t, 2 ) * endPoint;>>>> }>>>> looks cleaner as... >>>> private function quadraticBezier( startPoint: Float, >> controlPoint: Float, endPoint: Float )>> {>>>> return (1 – t)^2 * startPoint + 2(1 – t) * t * controlPoint >> + t^2 * endPoint;>>>> }>>>> and ofcourse>>>> var distance = Math.pow( Math.pow( x2 - x1, 2 ) + >> Math.pow( y2 - y1, 2 ), 0.5 ); >>>> would be written in a much nicer form...>>>> var distance = ( ( x2 - x1)^2 + ( y2 - y1 )^2 )^0.5;>>>> you can argue that trig is currently a bit verbose, but you can >> create a short cut in your code so that complex series can be >> written to be easier to read.>>>> var sine = Math.sin;>> var cos = Math.cos;>>>> var x = r* sin( theta ); >> var y = r* cos( theta );>>>> but this does not work so well with pow.>>>> Anyway just a thought.>>>>>> -- >> haXe - an open source web programming language >> http://haxe.org>>>> -- >> haXe - an open source web programming language>> http://haxe.org> -- haXe - an open source web programming language http://haxe.org
Open this post in threaded view
|

RE: ^

 ... because we do?trace([10^10,10^20,10^15]);outputs 0,30,5Date: Mon, 3 Oct 2011 10:57:48 +0400Subject: Re: [haXe] ^From: [hidden email]To: [hidden email]By the way, why don't we have logical xor? On 3 Oct 2011 06:28, "[hidden email]" <[hidden email]> wrote:> oops sorry :) > On 3 Oct 2011, at 02:49, Mario Carbajal wrote:> >> ^ is already used for bitwise xor.>>>> On Sun, Oct 2, 2011 at 10:00 PM, [hidden email] <[hidden email] >> > wrote:>> Seems very logical to support a^b as a short cut for Math.pow( a, >> b ); I know this is not really an important feature but it would >> make some maths in haXe look a lot nicer, and would make haXe more >> approachable as unlike some fancy feature requests ^ seems fairly >> established notation, I guess if it was considered worthwhile to add >> then obviously for consistency a ^= b could be used a = >> Math.pow( a, b ); probably very rare but logical in keeping >> everything consistent. I guess I am coming from the direction of >> making haXe a language suitable for school students experimenting >> with maths practically.>>>> For instance not tried it yet but this function currently in haXe...>>>> private function quadraticBezier( startPoint: Float, >> controlPoint: Float, endPoint: Float ) >> {>>>> return Math.pow( (1 – t), 2 ) * startPoint + 2(1 – t) * t * >> controlPoint + Math.pow( t, 2 ) * endPoint;>>>> }>>>> looks cleaner as... >>>> private function quadraticBezier( startPoint: Float, >> controlPoint: Float, endPoint: Float )>> {>>>> return (1 – t)^2 * startPoint + 2(1 – t) * t * controlPoint >> + t^2 * endPoint;>>>> }>>>> and ofcourse>>>> var distance = Math.pow( Math.pow( x2 - x1, 2 ) + >> Math.pow( y2 - y1, 2 ), 0.5 ); >>>> would be written in a much nicer form...>>>> var distance = ( ( x2 - x1)^2 + ( y2 - y1 )^2 )^0.5;>>>> you can argue that trig is currently a bit verbose, but you can >> create a short cut in your code so that complex series can be >> written to be easier to read.>>>> var sine = Math.sin;>> var cos = Math.cos;>>>> var x = r* sin( theta ); >> var y = r* cos( theta );>>>> but this does not work so well with pow.>>>> Anyway just a thought.>>>>>> -- >> haXe - an open source web programming language >> http://haxe.org>>>> -- >> haXe - an open source web programming language>> http://haxe.org> -- haXe - an open source web programming language http://haxe.org -- haXe - an open source web programming language http://haxe.org