Commit Graph

  • f0f6f516ab Few improvements to colour mapping algorithm and add missing comments. edmund 2011-11-03 08:00:14 +00:00
  • 517d0db0cb Fix bug with mouse clicks not being converted to points properly. edmund 2011-11-03 07:52:50 +00:00
  • 23eac5be1d Fix trace priority calculations and other algorithmic aspects. Still may draw more pixels than expected; this is likely because the FILLING stage does not check for pixels in other slots. edmund 2011-11-03 07:49:34 +00:00
  • 4d0581e3fa Refactor drawing modes to stop using static variables, and to use a FRACTAL object for translating pixels to mfunc inputs. edmund 2011-11-03 07:31:12 +00:00
  • cd3f90c3d3 Remove no-longer-used zero variable from mfunc_simd_float. edmund 2011-11-03 07:11:02 +00:00
  • 2e473f1151 Start implementing iterative mode. edmund 2011-11-01 06:52:09 +00:00
  • 3c92b95141 Rewrite mfuncs to take an input for zero, in preparation for supporting Julia set fractals. edmund 2011-10-31 08:20:45 +00:00
  • a9d5062d45 Turn tabs into spaces and set svn:eol-style. edmund 2011-10-31 05:39:24 +00:00
  • c110be2ba0 Add a simplistic method of applying a uniform colour distribution to the fractal. The results are actually almost uniformly uglier than the existing colour scheme. edmund 2011-10-29 09:38:04 +00:00
  • 1537503a77 Rewrite SIMD versions to use a tighter and more obvious loop for the main calculations, with a single countdown variable. Only when this expires, or one of the points is outside the boundary, are the full checks done on the individual slot counters and points. edmund 2011-10-29 02:15:48 +00:00
  • 61d56222a0 Import mfunc benchmark. Some of the changes tested in this should be implemented in the main program, as described in http://ejrh.wordpress.com/2011/10/13/mandelbrot-calculation-using-simd/. edmund 2011-10-28 07:49:58 +00:00
  • 98665ca640 Fix an embarrassing bug! edmund 2011-10-27 05:28:10 +00:00
  • fdc7be736a Re-fix for world's most over-rated compiler after obliterating previous fixes when saving in world's most loyalty-undeserving text editor. Bah. edmund 2011-10-25 12:18:56 +00:00
  • e51e0bb285 Fix bug with parallel mode drawing way too many pixels. edmund 2011-10-25 12:15:28 +00:00
  • 73bd51b958 Get the Fractal to compile with the world's most overrated compiler. edmund 2011-10-25 12:00:56 +00:00
  • cc86a50045 Implement loop mode for parallel, allowing (potentially) up to 24 pixels to be computed in parallel on my desktop (4 32-bit floats in SIMD times 6 cores). It's actually noticeably slower so far, but those SIMD improvements I blogged about still haven't made their way into the source yet. edmund 2011-10-25 11:48:14 +00:00
  • 96b53ccfd1 Move SIMD mfunc into separate file; also implement SIMD with 32-bit floats in another separate file. edmund 2011-10-25 11:31:51 +00:00
  • ffc15c41fa Add command line argument for number of benchmark loops. edmund 2011-10-25 11:29:15 +00:00
  • d14def70e1 Implement integer and 32-bit float modes (with fake loop functions). edmund 2011-10-25 10:24:15 +00:00
  • 423a7c54bb Use shift-2 and shift-3 for stepping back through modes and mfunc modes. edmund 2011-10-25 10:23:02 +00:00
  • f720ed77a7 Refactor to separate drawing mode from mfunc mode (parallel mode still can only use direct mfunc though). edmund 2011-10-25 06:04:39 +00:00
  • 803faa8944 Fix previous fix; don't continue (thus potentially omiting the necessary jump), just clear the vertex so that the last vertex is clear when checking for whether the label is needed. edmund 2011-10-21 05:27:03 +00:00
  • bc6e309002 Force labels after tests. Fixes issue 9. edmund 2011-10-21 04:29:17 +00:00
  • 305c4f7387 Move sources into a new subdirectory. edmund 2011-10-21 04:16:40 +00:00
  • 90917dd82b Keep track of original source lines for statements, expressions, declarations, and types. edmund 2011-10-21 04:05:45 +00:00
  • ff685cb15b Move the mfunc declarations to a new header file, and document them a bit. edmund 2011-10-16 07:21:36 +00:00
  • 3308bce39d Change standard benchmark to a more interesting spot of the fractal. edmund 2011-10-15 06:58:05 +00:00
  • 83ded81ccb Fix (possibly not completely, though) a confusing termination error in trace mode. edmund 2011-10-15 06:57:40 +00:00
  • 83efc635cc Implement LOOP and SIMD modes for TRACE. There's a still a bug where TRACE_SIMD will overdraw 2 pixels for some reason! The logic there is getting a bit convoluted. edmund 2011-10-15 04:58:59 +00:00
  • bbe218fed4 Fix structure packing on Windows. Who would have thought that using "char" instead of "long int" results in a larger structure! edmund 2011-10-15 01:56:27 +00:00
  • 830e5215b1 Turn a whole lot of ugly tabs into beautiful spaces. edmund 2011-10-15 01:18:13 +00:00
  • 5eae5d6b59 Unify the Mandelbrot function to use the (slightly slower, but graphically smoother) delayed boundary check. Basically, zr2 and zi2 are updated before zr and zi are, so when we check them against the boundary, we end up using doing one extra iteration. edmund 2011-10-15 00:53:36 +00:00
  • dccbd79e7f Add a --depth command line argument. edmund 2011-10-15 00:46:28 +00:00
  • 2fba475c07 Optimise priority queue by storing the coordinate information in the priority slot, and making the implementation use direct assignment instead of memmove if there is no item data. edmund 2011-10-14 07:09:39 +00:00
  • b639a4d7d2 Fix library problem with argc/argv not being initialised correctly. edmund 2011-10-12 06:55:44 +00:00
  • 9dc42de673 Get SIMD running on Linux, and fix a bug. edmund 2011-10-12 06:48:13 +00:00
  • f7e5704751 Add command line parsing and benchmarking. edmund 2011-10-12 06:47:05 +00:00
  • cfdb729d8c Restore commented-out smoothing calculation. Oops. edmund 2011-10-11 09:38:53 +00:00
  • ec33c0d4ec Check in changes to MSVC project files (which Subversion was ignoring for some reason!). edmund 2011-10-11 09:35:16 +00:00
  • 4fe34d7a75 Make a tag for another download, after implementing SIMD. fractal.2011-10-11 edmund 2011-10-11 09:11:14 +00:00
  • 8a923b056e Make a tag for when I put a download on Google Code. fractal.2011-10-07 edmund 2011-10-11 09:09:15 +00:00
  • ca3d3a5150 Force exit to avoid hang on returning from main (who knows what resources are getting leaked, though...). edmund 2011-10-11 09:07:27 +00:00
  • b4cd41fe23 Implement SIMD mode. It seems to be marginally faster than plan double arithmetic. There is probably scope for optimisation. Hey, it's my first SIMD program ever! edmund 2011-10-11 08:28:20 +00:00
  • 7dade74cd6 Have a directive to control full screen mode; if it's not enabled, use a 400x400 window (makes debugging easier!). edmund 2011-10-11 08:27:19 +00:00
  • fc6432eee3 Don't allocate a whole 'nother PQ every time we initialise! edmund 2011-10-11 08:25:47 +00:00
  • cf1d7282ad Don't try to return a broken PQ if we can't allocate memory for it. Also, fail with an error message if we couldn't make a PQ. Finally, don't create and destroy so many PQs. edmund 2011-10-11 06:08:30 +00:00
  • cbde42cd2c Use quota in simple mode. edmund 2011-10-11 05:34:19 +00:00
  • 9032dea39d Fix parallel mode to actually use more than one processor... edmund 2011-10-11 05:33:46 +00:00
  • f7c652a2eb Implement a loop Mandelbrot function that calls the drawing mode itself rather than the other way round, in preparation for SIMD. Also make a header file (note to self, inconsistent function declarations/definitions are a pain to debug :<). edmund 2011-10-10 09:22:54 +00:00
  • 13a374b739 Add a simple drawing mode: single-threaded, just paint the pixels row by row. edmund 2011-10-10 08:18:59 +00:00
  • 75c22552f1 Move Mandelbrot to separate file, in preparation for giant control flow refactoring for Kris's SIMD plan. edmund 2011-10-10 07:42:36 +00:00
  • fce07993ad Increase priority queue size; also, if we empty the queue without finishing the drawing, run over the remaining pixels and re-queue them. N.B. you can still get graphical glitches where some pixels will have been filled even though they are outside the set, but it should be pretty rare. edmund 2011-10-10 07:19:25 +00:00
  • c16ea61b04 A few fixes in status message, timing, and screenshot filenames. edmund 2011-10-10 07:13:39 +00:00
  • 9aa947a9a4 Re-enable parallel mode (excruciatingly slow on high-depth), and use 2 as a mode-switching key. edmund 2011-10-10 06:32:30 +00:00
  • 013e0691b0 Implement saving a screenshot of the fractal with F12. edmund 2011-10-07 05:35:33 +00:00
  • 3213bc8c88 Port fractal to Linux; screen size is set to native size. edmund 2011-10-06 10:11:06 +00:00
  • 90eff02a20 Make a tag of Fractal as uploaded to Google Code. fractal.2011-10-05 edmund 2011-10-05 09:48:41 +00:00
  • 28e17be629 Show pixels per second. edmund 2011-10-03 09:46:30 +00:00
  • 48bb29f7ce Tune performance when filling. edmund 2011-10-03 09:12:32 +00:00
  • 809c83efae Small fix to tracing states. edmund 2011-10-02 13:17:33 +00:00
  • d9af068028 A few improvements to drawing. edmund 2011-10-02 12:01:36 +00:00
  • bbb7d0358b Yield 100ms of CPU time if the fractal is drawn. edmund 2011-10-01 05:19:16 +00:00
  • cf806c8cbc Import C fractal using SDL. Code is a mess (as always!) but largely bug free. Really just needs some refactoring. Or even just first-time factoring... edmund 2011-09-30 10:24:47 +00:00
  • 7e9e177a63 Shorten denorm function a bit by removing unused declaration. edmund 2011-09-27 08:18:38 +00:00
  • 82c1d0f0d8 Shorten denorm function a bit by removing unused declaration. edmund 2011-09-27 08:18:38 +00:00
  • c09a80fd33 Create an aggregate function denorm(index, value) that constructs arrays where each index is set to the corresponding value. Useful for vector denormalisation. edmund 2011-09-27 07:46:40 +00:00
  • 2a536b2e03 Create an aggregate function denorm(index, value) that constructs arrays where each index is set to the corresponding value. Useful for vector denormalisation. edmund 2011-09-27 07:46:40 +00:00
  • 6c908840dc Make replay a bit more user-friendly with init and sync commands and several options. edmund 2011-09-23 06:53:14 +00:00
  • 3687913cb5 Make replay a bit more user-friendly with init and sync commands and several options. edmund 2011-09-23 06:53:14 +00:00
  • ff4b50f9aa Support incoming actions properly. TODO: the methods on the Controller class should probably be renamed... edmund 2011-09-21 10:40:50 +00:00
  • 76c2b3427e Set a lot of svn:eol-style properties\! edmund 2011-09-21 08:23:07 +00:00
  • 6a31691483 Set a lot of svn:eol-style properties\! edmund 2011-09-21 08:23:07 +00:00
  • 56796dd248 Small changes to bot script. edmund 2011-09-21 08:09:25 +00:00
  • 8ae9bba7be Add a basic vocabulary and differentiate relative nouns and normal nouns. edmund 2011-09-21 07:56:06 +00:00
  • 46ce2d7920 Only apply best query results, and ensure uniqueness of things and actions (which may ensure only one query result anyway, but nevermind...). edmund 2011-09-20 09:17:15 +00:00
  • 1c2264654e Score results and fix a couple of other bugs. edmund 2011-09-20 09:13:55 +00:00
  • 7580ad64cd Comprehend a sentence by incorporating it into the ontology. edmund 2011-09-20 07:39:52 +00:00
  • bd8605cc7a Define string representations of queries and results. edmund 2011-09-20 07:39:15 +00:00
  • b2449bceec Invent an Ontology class and supporting paraphernalia. edmund 2011-09-20 07:02:30 +00:00
  • 5406ef1950 Import "rankoids" game. edmund 2011-09-19 09:18:37 +00:00
  • aa0cbe5a04 Import svnindex program, with version 0.1 sources rescued from home page. edmund 2011-09-19 09:05:38 +00:00
  • 169cbd4775 Add a natural-language parser, that just collects words. edmund 2011-09-19 08:30:45 +00:00
  • 8ac901ec37 Implement join and part commands. edmund 2011-09-18 09:21:06 +00:00
  • a8360e0513 Refactor handlers a bit by adding a Context. edmund 2011-09-18 09:08:23 +00:00
  • 0566d3a5db Improve a bit with better variable names; rename actions to rules; add a helper for applying rules. edmund 2011-09-18 08:32:29 +00:00
  • 89e214e28f Decode original log message from UTF8. Not necessarily correct, but adequate for importing UQM... edmund 2011-09-18 07:24:45 +00:00
  • 958136f25f Decode original log message from UTF8. Not necessarily correct, but adequate for importing UQM... edmund 2011-09-18 07:24:45 +00:00
  • 924662ef17 Apply synchronised print technique from http://ejrh.wordpress.com/2011/09/18/output-synchronisation-in-python/, and use a constant for the number of cat workers. edmund 2011-09-18 06:05:52 +00:00
  • 54a215f11d Apply synchronised print technique from http://ejrh.wordpress.com/2011/09/18/output-synchronisation-in-python/, and use a constant for the number of cat workers. edmund 2011-09-18 06:05:52 +00:00
  • 0cc34d09f8 Process all revisions up to HEAD (or last+100, whichever is sooner). edmund 2011-09-18 05:54:53 +00:00
  • a01832f36a Process all revisions up to HEAD (or last+100, whichever is sooner). edmund 2011-09-18 05:54:53 +00:00
  • ab35789f9f Add a list of command handlers. edmund 2011-09-17 08:00:19 +00:00
  • 577c21816a Support actions. edmund 2011-09-17 07:59:51 +00:00
  • bfc9b68ec4 Add a timeout on blocking read requests, just in case other activities need to be performed in the absence of incoming messages. edmund 2011-09-17 07:38:03 +00:00
  • 0f16c21f0d Respond to PINGs with PONGs. edmund 2011-09-17 06:13:34 +00:00
  • 1c8effb81d Fix a few bugs and add something called a Controller edmund 2011-09-17 05:23:38 +00:00
  • 07607bda50 Start writing an IRC bot. edmund 2011-09-17 00:24:26 +00:00
  • 53d6af34df Fix getting status of directories. edmund 2011-09-16 10:09:16 +00:00
  • 8ae922fb00 Fix getting status of directories. edmund 2011-09-16 10:09:16 +00:00
  • 0afac56a65 Fix expected number of commit progress notifications edmund 2011-09-16 10:08:42 +00:00