# How many bytes in DIMENSION? - A Fortran Question

1. Jun 25, 2007

### dimensionless

How many bytes in DIMENSION?? - A Fortran Question

I'm looking at some Fortran code. Some variables are of type dimension. How do I tell if these variables are integers or floating points numbers? How do I know if they are signed or unsigned? How do I tell the number of bytes occupied by the variable?

2. Jun 25, 2007

### cipher_42

The 'dimension' type is an slightly out-dated way to declaring arrays (vectors, matrices, and higher dimensional arrays). What type of numbers are stored in the array depends on how the name of the array was declared. For example, if I type:

real A
dimension A(10)
real B
dimension B(2,2)

then A will be a vector of 10 reals. These 10 reals will be stored in 10 adjacent memory locations. B will be a 2-by-2 matrix of reals also stored in adjacent memory locations by column ( (1,1) then (2,1) then (1,2) then (2,2) ). And if there is no declaration like 'real A', then remember the fun FORTRAN protocol of automatic typing:

- If the first letter starts with A - J or U - Z, then it's a real
- If the first letter starts with I - T, then it's an integer.

The number of bytes occupied by the variable in memory will be the size of a single element of the array multiplied by the number of elements in the array.

- Jason

3. Jun 25, 2007

### rcgldr

Unless Fortran has changed since I last used it, intergers are I->N, not I->T.

4. Jun 25, 2007

### cipher_42

Good call :surprised

I always try to remember it from the letters in INteger...but occasionally when I'm not thinking (which is surprisingly often) I pick the wrong two letters in InTeger :tongue2:

Last edited: Jun 25, 2007
5. Jun 25, 2007

### rcgldr

Note that the choice of I->N coincides with common mathematical usage (for example, usually i->n are used as subcripts for series).