DMUG-Archiv 2006

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Antwort: Re: Indizierung von Tables mit Null beginnen.

Hallo,

also die Bemerkung "fast keine Zeit verbraucht" is 
ja wohl
ein Witz, man probiere

SetAttributes[myPart, HoldFirst]
myPart[a_, i_Integer] := a[[i + 1]]
SetAttributes[udoPart, HoldFirst]
udoPart[a_, i_Integer] := First[RotateLeft[a, i]]
Timing[
Table[
  k = Random[Integer, {0, Length[test] - 1}];
  myPart[test, k], {100000}
 ]
] // First
im Gegensatz zu
Timing[
Table[
  k = Random[Integer, {0, Length[test] - 1}];
  udoPart[test, k], {100000}
 ]
] // First

das Erste dauer bei mir 1.266 Sekunden, die 
Version mit
RotateLeft[] is nach unglaublichen 144.14 Sekunden 
fertig.

Gruß
  Jens

----- Original Message ----- 
From: "Nowak Robert" <robert.nowak@XXXXXXX.at>
To: "Udo und Susanne Krause" 
<su.krause@XXXXXXX.ch>; "Jens-Peer Kuska" 
<kuska@XXXXXXX.de>
Cc: "Richard Gollreiter" <RGollreiter@XXXXXXX.de>; 
<demug@XXXXXXX.ch>
Sent: Monday, March 13, 2006 12:05 PM
Subject: RE: Antwort: Re: Indizierung von Tables 
mit Null beginnen.


| hallo udo,
|
| > Part /: Part[x_List, n_Integer] := 
First[RotateLeft[x, n]]
|
| wie funktioniert deine lösung eigentlich, wieso 
wird für das rotieren scheinbar keine zeit 
verbraucht ?
| wird das array nur ein einziges mal rotiert und 
bei den individuellen zugriffen nicht mehr wenn 
ja, wodurch ?
|
| l.g. robert
| 



Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html