-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix some typos through 'codespell' (#138)
* Fix some typos * Checked codespell manually * Checked codespell manually * Fixed allways
- Loading branch information
Showing
35 changed files
with
101 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,7 +36,7 @@ | |
- [Pavel Tzekov](mailto:[email protected]): Win32 support | ||
- Charles Vidal: Tcl/Tk interface | ||
- [Tapio K. Vocaldo](mailto:[email protected]): Macintosh port | ||
- Tormod Volden: Fixes for X11 driver to improve compatability with Xorg, XScreenSaver, Beryl and Compiz | ||
- Tormod Volden: Fixes for X11 driver to improve compatibility with Xorg, XScreenSaver, Beryl and Compiz | ||
- [Philippe Wautelet](mailto:[email protected]): Bug fixes for version 3.1.1, French translation, gcc 4.0 fixes | ||
- Sergio Zanchetta: Italian translation | ||
- Alexey Loginov: Russian translation | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,7 +12,7 @@ | |
* This is an implementation of famous boundary trace algorithm. | ||
* See fractint documentation if you don't know what this means :) | ||
* | ||
* Here is two different implentation of this algorithm - one is faster | ||
* Here is two different implementation of this algorithm - one is faster | ||
* and second is threadable. | ||
* | ||
* An faster one is quite usual implementation - get first uncalculated pixel, | ||
|
@@ -36,7 +36,7 @@ | |
> its left" designated as if they were in a "logical" ring. Each processor | ||
> pushes new pixels on the processor to its left's substack, and pops from | ||
> its own. This way, busy parts of the image wind up spread among all | ||
> processors. By adding substacks, this can be expanded to accomodate more | ||
> processors. By adding substacks, this can be expanded to accommodate more | ||
> processors. Some amount is optimal, after which a point of diminishing | ||
> returns is reached when most processors only do a few pixels and spend | ||
> most of their time waiting for new stuff from the processor to its right. | ||
|
@@ -46,13 +46,13 @@ | |
> image anyways.) Also, the end is only reached when NO processors have | ||
> anything in their stacks. | ||
This method looks very interesting but has few serious problems. | ||
Most significant probably is that it always caluclates pixels up | ||
Most significant probably is that it always calculates pixels up | ||
to distance 3 from boundary. Simple modification should lower it | ||
to distance 2. But "right hand rule" based algorithm should actualy | ||
to distance 2. But "right hand rule" based algorithm should actually | ||
calculate points just to distance 1. So I want to implement such alrogithm, | ||
since number of caluclated points is still significant. | ||
since number of calculated points is still significant. | ||
So I think I have to extend stack for two informations: | ||
So I think I have to extend stack for two information: | ||
1) direction | ||
2) color of boundary I am tracking(not color I am at) | ||
and main algorithm should look like: | ||
|
@@ -61,16 +61,16 @@ | |
yes:add point at the right to stack and exit | ||
is there boundary color? | ||
no:we are meeting boundary with different color - so we need | ||
to track this boundary too. add point at right to stack with oposite | ||
to track this boundary too. add point at right to stack with opposite | ||
direction and boundary color set to current color | ||
3) look forward: similar scheme as to look right | ||
4) look left: again similar | ||
5) exit | ||
This hould trace boundaries to distance 1 (I hope) and do not miss anything. | ||
This should trace boundaries to distance 1 (I hope) and do not miss anything. | ||
Problem is that this algorithm never ends, since boundaries will be rescaned | ||
again and again. So I need to add an caluclated array wich should looks like: | ||
for every point has mask for all directions that were scaned+calculated mask | ||
again and again. So I need to add an calculated array which should looks like: | ||
for every point has mask for all directions that were scanned+calculated mask | ||
(set to 1 if pixel is already calculated)+inprocess mask(set to 1 if some | ||
other processor is currently calculating it) | ||
|
@@ -81,16 +81,16 @@ | |
some point) | ||
I was also thinking about perCPU queues. I think that one queue is OK, | ||
it is simplier and should not take much more time(except it will be locked | ||
more often but time spend in locked queue in comparsion to time spent | ||
it is simpler and should not take much more time(except it will be locked | ||
more often but time spend in locked queue in comparison to time spent | ||
in rest should be so small so this should not be drastical for less than 10 | ||
procesors) | ||
At the other hand - perCPU queues should have one advantage - each | ||
cpu should own part of image and points from its part will be added to | ||
this cpu. This should avoid procesor cache conflict and speed up process. | ||
At the other hand, when cpu's queue is empty, cpu will have to browse | ||
others queues too and steal some points from other CPU, wich should introduce | ||
others queues too and steal some points from other CPU, which should introduce | ||
some slowdown and I am not sure if this way will bring any improvement. | ||
Other think that should vote for perCPU queue is fact, that in one CPU | ||
|
@@ -100,10 +100,10 @@ | |
cross broders, so they should be added to queue at the initialization, so | ||
this should be OK. | ||
I am beginer to threds, SMP etc. So I looking for ideas, and suggestions | ||
I am beginer to threads, SMP etc. So I looking for ideas, and suggestions | ||
to improve this alg. (or design different one). | ||
Also someone with SMP box, who should test me code is welcomed. | ||
BTW whats is the average/maximal number of CPU in todays SMP boxes? | ||
BTW what's is the average/maximal number of CPU in today's SMP boxes? | ||
Please reply directly to my email:[email protected] | ||
|
@@ -119,13 +119,13 @@ | |
* This will make queue bigger and reduce probability of situation, where | ||
* queue is empty and other processors has to wait for one, that is | ||
* calculating and should add something there (maybe :) | ||
* 2) Stack (queue :) is used just when neccesary - in situations where queue | ||
* 2) Stack (queue :) is used just when necessary - in situations where queue | ||
* is quite full (there is more items than 10) procesor just continues in | ||
* tracing path it started. This reduces number of slow stack operations, | ||
* locks/unlocks, cache conflicts and other bad thinks. | ||
* 3) Just each fourth pixel should be added into queue | ||
* 4) Foodfill algorithm should be avoided since colors at the boundaries | ||
* are always correct, we should simply go trought each scanline and when | ||
* are always correct, we should simply go through each scanline and when | ||
* pixel is uncalcualted, copy value from its left neighbor | ||
* | ||
* Current implementation has about 6% lower results than "fast" algorithm | ||
|
@@ -162,7 +162,7 @@ static int exitnow; | |
#define PAGESHIFT 14 | ||
#define PAGESIZE (1 << PAGESHIFT) | ||
#define MAXPAGES \ | ||
200 /*Well limit is about 6MB of stack..Hope it will never owerflow */ | ||
200 /*Well limit is about 6MB of stack..Hope it will never overflow */ | ||
#define MAXSIZE (MAXPAGES * PAGESIZE - 1) | ||
struct stack { | ||
int color; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
/* Hello reader! | ||
* Are you sure you want read this? Its very cryptic and strange code. YOU | ||
* HAVE BEEN WARNED! Its purpose is to genereate as fast as possible | ||
* HAVE BEEN WARNED! Its purpose is to generate as fast as possible | ||
* calculation loops for various formulas/algorithms. It uses lots of | ||
* coprocesor magic. It is included from formulas.c | ||
*/ | ||
|
@@ -246,7 +246,7 @@ static unsigned int CALC(number_t zre, number_t zim, number_t pre, number_t pim) | |
} | ||
#endif | ||
|
||
/*F. : Periodicity checking rountines. (16-02-97) | ||
/*F. : Periodicity checking routines. (16-02-97) | ||
All comments preceded by F. are mine (Fabrice Premel [email protected]). | ||
Tried to make code as efficient as possible. | ||
Next to do is convert lim in a variable that would be updated sometimes | ||
|
@@ -261,15 +261,15 @@ static unsigned int CALC(number_t zre, number_t zim, number_t pre, number_t pim) | |
UNCOMPRESSed form is just an extension, with careful that if we only check | ||
whentosave all 8 iterations, number of iterations must be well set at the | ||
begining.This is done by adding a (iter&7) in the while statement preceeding | ||
beginning.This is done by adding a (iter&7) in the while statement preceding | ||
then uncompressed calculation. */ | ||
|
||
/*F. : This is from then lim factor that depends all periodicity check spped : | ||
the bigger it is, the faster we can detect periodicity, but the bigger it is, | ||
the more we can introduce errors. I suggest a value of | ||
(maxx-minx)/(double)getmaxx for a classic Mandelbrot Set, and maybe a lesser | ||
value for an extra power Mandelbrot. But this should be calculated outter | ||
from here (ie each frame, for example), to avoid new calculs */ | ||
value for an extra power Mandelbrot. But this should be calculated outer | ||
from here (ie each frame, for example), to avoid new calculus */ | ||
#ifdef PERI | ||
#define PCHECK \ | ||
(abs_less_than(r1 - zre, cfractalc.periodicity_limit) && \ | ||
|
@@ -333,7 +333,7 @@ static unsigned int PERI(number_t zre, number_t zim, number_t pre, number_t pim) | |
iter -= 8; | ||
r1 = zre; | ||
s1 = zim; | ||
whensavenew = 3; /*You should adapt theese values */ | ||
whensavenew = 3; /*You should adapt these values */ | ||
/*F. : We should always define whensavenew as 2^N-1, so we could use | ||
* a AND instead of % */ | ||
|
||
|
@@ -432,7 +432,7 @@ static unsigned int PERI(number_t zre, number_t zim, number_t pre, number_t pim) | |
iter--; | ||
} */ | ||
} else { | ||
whensavenew = 7; /*You should adapt theese values */ | ||
whensavenew = 7; /*You should adapt these values */ | ||
/*F. : We should always define whensavenew as 2^N-1, so we could use | ||
* a AND instead of % */ | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.