diff options
author | antirez <antirez> | 2005-03-25 09:34:51 +0000 |
---|---|---|
committer | antirez <antirez> | 2005-03-25 09:34:51 +0000 |
commit | fe1d16ba54e519c5d71b5e25eb2c07f4ba39de7a (patch) | |
tree | 65393685af44849d4c395184b220041eb759f9b1 | |
parent | f6c1e3918c235af83f904f69407da973e8a093b4 (diff) | |
download | jimtcl-fe1d16ba54e519c5d71b5e25eb2c07f4ba39de7a.zip jimtcl-fe1d16ba54e519c5d71b5e25eb2c07f4ba39de7a.tar.gz jimtcl-fe1d16ba54e519c5d71b5e25eb2c07f4ba39de7a.tar.bz2 |
SetReturnCodeFromAny() modified to accept numerical codes.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | bench.tcl | 27 | ||||
-rw-r--r-- | jim.c | 11 |
3 files changed, 38 insertions, 4 deletions
@@ -1,3 +1,7 @@ +2005-03-24 14:58 antirez + + * ChangeLog, jim.c, test.tcl: [range] command + tests + 2005-03-24 12:00 antirez * ChangeLog, Makefile, TODO, jim-sdl.c: A simple SDL extension for @@ -508,6 +508,32 @@ proc commonsub_test {} { matched [llength $x] [llength $y] {} } +### MANDEL ##################################################################### + +proc mandel {xres yres infx infy supx supy} { + set incremx [expr {(0.0+$supx-$infx)/$xres}] + set incremy [expr {(0.0+$supy-$infy)/$yres}] + + for {set j 0} {$j < $yres} {incr j} { + set cim [expr {$infy+($incremy*$j)}] + set line {} + for {set i 0} {$i < $xres} {incr i} { + set counter 0 + set zim 0 + set zre 0 + set cre [expr {$infx+($incremx*$i)}] + while {$counter < 255} { + set dam [expr {$zre*$zre-$zim*$zim+$cre}] + set zim [expr {2*$zim*$zre+$cim}] + set zre $dam + if {$zre*$zre+$zim*$zim > 4} break + incr counter + } + # output pixel $i $j + } + } +} + ### RUN ALL #################################################################### if {[string compare [lindex $argv 0] "-batch"] == 0} { @@ -531,6 +557,7 @@ bench {dynamic code (list)} {dyncode_list} bench {PI digits} {pi_digits} bench {expand} {expand} bench {wiki.tcl.tk/8566} {commonsub_test} +bench {mandel} {mandel 60 60 -2 -1.5 1 1.5} proc istcl {} { return [expr {![catch {info tclversion}]}] @@ -2,7 +2,7 @@ * Copyright 2005 Salvatore Sanfilippo <antirez@invece.org> * Copyright 2005 Clemens Hintze <c.hintze@gmx.net> * - * $Id: jim.c,v 1.128 2005/03/24 13:58:05 antirez Exp $ + * $Id: jim.c,v 1.129 2005/03/25 09:34:51 antirez Exp $ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -5596,11 +5596,14 @@ int SetReturnCodeFromAny(Jim_Interp *interp, Jim_Obj *objPtr) { const char *str; int strLen, returnCode; + jim_wide wideValue; /* Get the string representation */ str = Jim_GetString(objPtr, &strLen); - /* Try to convert into a jim_wide */ - if (!JimStringCompare(str, strLen, "ok", 2, JIM_NOCASE)) + /* Try to convert into an integer */ + if (JimGetWideNoErr(interp, objPtr, &wideValue) != JIM_ERR) + returnCode = (int) wideValue; + else if (!JimStringCompare(str, strLen, "ok", 2, JIM_NOCASE)) returnCode = JIM_OK; else if (!JimStringCompare(str, strLen, "error", 5, JIM_NOCASE)) returnCode = JIM_ERR; @@ -10931,7 +10934,7 @@ int Jim_InteractivePrompt(Jim_Interp *interp) printf("Welcome to Jim version %d.%d, " "Copyright (c) 2005 Salvatore Sanfilippo\n", JIM_VERSION / 100, JIM_VERSION % 100); - printf("CVS ID: $Id: jim.c,v 1.128 2005/03/24 13:58:05 antirez Exp $\n"); + printf("CVS ID: $Id: jim.c,v 1.129 2005/03/25 09:34:51 antirez Exp $\n"); Jim_SetVariableStrWithStr(interp, "jim_interactive", "1"); while (1) { char buf[1024]; |