### WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

### Author Topic: Code Golf Contest: The Pythagorean Problem  (Read 2814 times)

0 Members and 1 Guest are viewing this topic.

#### kotu

• -< \'V/,,,
• Super User
• Join Date: Aug 2016
• Location: don't panic
• Posts: 1160
• Post Rating Ratio: +8/-11
• woah
• Gender:
##### Re: Code Golf Contest: The Pythagorean Problem
« Reply #15 on: August 16, 2017, 02:36:11 pm »
it is actually unless you have infinite bits of precision

*edit*
in fact if you zoom in or out of the common domain slightly or scroll around slightly, every boolean value in the 96x64 area could be untrue. its just quite unlikely

HMM

there are technically infinte number of places where this does in fact happen.
« Last Edit: August 16, 2017, 02:38:27 pm by kotu »
• Calculators owned: TI 84+CE-T
• Consoles, mobile devices and vintage computers owned: Sega Master System, Sony PlayStation 3
SUBSCRIBE TO THE FUTURERAVE.UK MAILING LIST
http://futurerave.uk

#### Juju

• aka Yuki Kagayaki aka J̵̭͕͇ù̞̭̝̯̦j̴̭̙̗͖͡ù͏͓̲̕
• CodeWalrus Staff
• Super User
• Server Maintenance
• Moderator
• Forum Maintenance
• Original 5
• CodeWalrus Supporter
• Join Date: Nov 2014
• Location: Inside a walrus
• Posts: 3235
• Post Rating Ratio: +37/-2
• Couch potato
• Gender:
• WalriiPoints: 99999
##### Re: Code Golf Contest: The Pythagorean Problem
« Reply #16 on: August 17, 2017, 05:22:51 am »
Depending of the language you use, it is possible to check if your integer is an integer. As in, you can cast your float into an int, if it didn't lost information it's an integer.

Oh, also optimized my entries to 60 and 52 bytes respectively.

Code: (Ruby) [Select]
`64.times{|v|96.times{|u|\$><<((u.i+v).abs%1==0??o:" ")}puts}`
Code: (Ruby) [Select]
`p (0..6143).select{|n|((n%96).i+n/96).abs%1==0}.size`
« Last Edit: August 17, 2017, 06:51:51 am by Juju »
• Consoles, mobile devices and vintage computers owned: A lot
On semi-hiatus until who knows when. CODEWALRUS 2.0 COMING SOON
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

#### Snektron

• Lvl 69 Russian Snake
• Super User
• Join Date: Dec 2014
• Location: Netherlands
• Posts: 3165
• Post Rating Ratio: +32/-0
• SSSssssss.....
• Gender:
##### Re: Code Golf Contest: The Pythagorean Problem
« Reply #17 on: August 17, 2017, 11:35:21 am »
you havent updated the standings yet, juju
• Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...

#### c4ooo

• Pedanticity prevents ambiguity
• Super User
• CW Contest II Winner
• Join Date: Aug 2015
• Location: 127.0.0.1
• Posts: 1035
• Post Rating Ratio: +13/-4
• Gender:
##### Re: Code Golf Contest: The Pythagorean Problem
« Reply #18 on: August 17, 2017, 02:15:48 pm »
Depending of the language you use, it is possible to check if your integer is an integer. As in, you can cast your float into an int, if it didn't lost information it's an integer.
Yep. In a float, the first byte is almost always a signed exponent, so as long as it is >=0 its an integer (unless I got something mixed up). This should be useful if someone does the challenge in assembly.

Edit: got 39 bytes in tibasic but its a very lazy solution lol. Will post code when I get time.
« Last Edit: August 17, 2017, 02:30:28 pm by c4ooo »

#### Snektron

• Lvl 69 Russian Snake
• Super User
• Join Date: Dec 2014
• Location: Netherlands
• Posts: 3165
• Post Rating Ratio: +32/-0
• SSSssssss.....
• Gender:
##### Re: Code Golf Contest: The Pythagorean Problem
« Reply #19 on: August 17, 2017, 02:51:35 pm »
Depending of the language you use, it is possible to check if your integer is an integer. As in, you can cast your float into an int, if it didn't lost information it's an integer.
Yep. In a float, the first byte is almost always a signed exponent, so as long as it is >=0 its an integer (unless I got something mixed up). This should be useful if someone does the challenge in assembly.

thats not true, because the mantissa (other part of the float) is a fraction part: (1/16 + 1/8)*2^3 is 1.5, but it still has a positive exponent.
Instead you could check if the mantissa is clone enough to zero: if its smaller than 0.00001 for example is probably an integer. I think most is_integer() functions will work this way.

My solution actually uses this:
Code: [Select]
`#define mainImage(O, U)O+=sign(fract(length(U-.5)))`O is the output color, U is the input coodinate plus 0.5. length() is just sqrt(U.x*U.x + U.y*U.y).
fract takes the fraction part of the float (the mantissa). Sign(x) returns -1 if x < 0, 0 if x == 0 and 1 if x >0. I think the sign function internally also compares x to some small value.
• Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...

#### Juju

• aka Yuki Kagayaki aka J̵̭͕͇ù̞̭̝̯̦j̴̭̙̗͖͡ù͏͓̲̕
• CodeWalrus Staff
• Super User
• Server Maintenance
• Moderator
• Forum Maintenance
• Original 5
• CodeWalrus Supporter
• Join Date: Nov 2014
• Location: Inside a walrus
• Posts: 3235
• Post Rating Ratio: +37/-2
• Couch potato
• Gender:
• WalriiPoints: 99999
##### Re: Code Golf Contest: The Pythagorean Problem
« Reply #20 on: August 17, 2017, 05:03:40 pm »
you havent updated the standings yet, juju
Ah yeah, forgot yours, thanks.
• Consoles, mobile devices and vintage computers owned: A lot
On semi-hiatus until who knows when. CODEWALRUS 2.0 COMING SOON
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

#### c4ooo

• Pedanticity prevents ambiguity
• Super User
• CW Contest II Winner
• Join Date: Aug 2015
• Location: 127.0.0.1
• Posts: 1035
• Post Rating Ratio: +13/-4
• Gender:
##### Re: Code Golf Contest: The Pythagorean Problem
« Reply #21 on: August 17, 2017, 05:22:35 pm »
Depending of the language you use, it is possible to check if your integer is an integer. As in, you can cast your float into an int, if it didn't lost information it's an integer.
Yep. In a float, the first byte is almost always a signed exponent, so as long as it is >=0 its an integer (unless I got something mixed up). This should be useful if someone does the challenge in assembly.

thats not true, because the mantissa (other part of the float) is a fraction part: (1/16 + 1/8)*2^3 is 1.5, but it still has a positive exponent.
Instead you could check if the mantissa is clone enough to zero: if its smaller than 0.00001 for example is probably an integer.
Ohh well it works for tios floats. In my monochrome CE wrapper demo I had to convert floats to integers and I checked if the first byte was zero or one (meaning the float had one or two digits, respectively), and everything else was Out of bounds. But tios floats use BCD so I guess its a but different.

You can also use the following HTML or bulletin board code to share it on your page or forum signature!

Also do not forget to check our affiliates below.