• Create Account

Need scary sound effects or creepy audio loops for your next horror-themed game? Check out Highscore Vol.3 - The Horror Edition in our marketplace. 50 sounds and 10 loops for only \$9.99!

# toroidal array

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

3 replies to this topic

### #1Lord_Vader  Members   -  Reputation: 125

Like
0Likes
Like

Posted 07 May 2012 - 10:34 AM

Hello everybody,

Can someone write me a few words about what is a toroidal array data type and how it compares with a normal array. The way that I understand it is that it is almost like a circular double linked list with constant size.
If you provide me a link even better.

I did a search over the internet and some books about data structures but I didn't find any relevant and explanatory link.

Thanks

### #2Antheus  Members   -  Reputation: 2377

Like
1Likes
Like

Posted 07 May 2012 - 11:00 AM

For a 2D array with dimensions NxM:

torodial[i, j] = regular[i % N, j % M];

It doesn't have a use as such, but some algorithms may benefit from this property. For example:
A B
C D

// toroidal array now contains sequence:
ABABABABAB
and
ACACACACACACACACACAC....

It basically just says that rows and columns wrap around.

### #3Slavik81  Members   -  Reputation: 360

Like
0Likes
Like

Posted 07 May 2012 - 11:00 AM

I don't think this would normally be a double-linked list if it's of constant size. You can achieve the same effect by using modulo (%) on the index accessors of a normal 2D array, bounding them within the width or height of the array.

### #4swiftcoder  Senior Moderators   -  Reputation: 7251

Like
0Likes
Like

Posted 07 May 2012 - 11:21 AM

It doesn't have a use as such, but some algorithms may benefit from this property.

It is however very useful for representing game maps that wrap around at the edges - for instance, when implementing Conway's Game of Life.

Also worth mentioning that GPU texture lookups wrap by default, which provides a very simple case of toroidal access.

Tristam MacDonald - SDE II @ Amazon - swiftcoding        [Need to sync your files via the cloud? | Need affordable web hosting?]

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

PARTNERS