Hi, crossSum again...
Here my implementation that now even runs for negative numbers... ;-) - and comes with pre-/postconditions and some tests.
crossSumBase.1.cs
Description: Binary data
I posted it also on Mantis, so maybe it might get even included in an image >= 3.9 at sometime.
Cheers, Markusp.s. I also implemented an example to visually compare the outcome with the colormap from http://mathworld.wolfram.com/DigitSum.html (and run all the pre- and post-conditions on the way...)
| aForm aWheel maxNumber maxBase |
maxNumber := 100.
maxBase := 100.
aForm := Form extent: (maxBase+1) @ (maxNumber+1) depth: Display depth.
aWheel := Color wheel: ((maxNumber ln / maxBase ln) * maxBase)
saturation: 1.0
brightness: 1.0.
2
to: maxBase
do: [:aBase | 1
to: maxNumber
do: [:aNumber |
aForm
colorAt: aNumber @ (maxBase -
aBase)
put: (aWheel at: (aNumber
crossSumBase: aBase))]].
(aForm scaledToSize: [EMAIL PROTECTED]) display
Resulting pic of this code looks like:
Legend: As I understand the mathematica legend, the base should the x, and the number the y.
Bizarre thing is, that I had to swap x and y coordinates to reproduce the result, anybody any ideas why?
I assume that
Form >> colorAt: [EMAIL PROTECTED] put: aColor
is the way to use Forms and not
Form >> colorAt: [EMAIL PROTECTED] put: aColor
So is it me or Stephen Wolfram doing a mistake here? ;-)
On May 10, 2006, at 11:00 AM, stéphane ducasse wrote:
What I suggest also is to write SUnits to document the behavior of your program. You will see that when the bar of the test runner will be green after a large change, youwill get a really powerful feeling. I wrote the chapter Sunit Explained only for people starting. In 3.9 there is a reallllllly cool SUnit browser. Stef On 9 mai 06, at 12:30, Enrico Schwass wrote:Hello First of all. The creation of this mailinglist was a very good idea.Reading the original list I always felt wrong, because of the very highlevel of questions and ... yes answers. Thanks :) Anyway. I was looking for a crossSum Method for Integers. e.g. 251 crossSum (sometimes called checksum) should return 8 1234 -> 10 I couldnt find one with method finder. So I wrote one by myself. And a friend - also a smalltalk newbie - did another one. Probably both are not perfect.The first problem is: Where to put the new method? We decide to put it directly into Integer (arithmetic). There are no side effects, we guess.Are we right? Second, we dont know the class library very well. It tooks 20 min to find the smalltalk equivalent to != Its ~= for other newbies :) So we never know, if we are doing it the smalltalk way.It would be great if others post their solution and it could be a goodexample for describing the test first development cycle, too. Another area I am not so familiar with. But I am eager to learn this. BTW: How can I tell method finder to use new implemented methods for example search? 1. 2. 3. 4. 10 didnt show me crossSum. Have a nice day Enno _______________________________________________ Beginners mailing list [email protected] http://lists.squeakfoundation.org/mailman/listinfo/beginners_______________________________________________ Beginners mailing list [email protected] http://lists.squeakfoundation.org/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list [email protected] http://lists.squeakfoundation.org/mailman/listinfo/beginners

