From: Alexandros Droseltis on
On 2009-11-05, robin <robin_v(a)bigpond.com> wrote:
> "Alexandros Droseltis" <usenet-1(a)alex-droseltis.com> wrote in message news:7lcl5pF3conm6U1(a)mid.individual.net...
>
>| I am studying an ancient source written in Fortran IV (it is the
>| programme "Free Stochastic Music" by Xenakis in [1]) and I do not
>| understand the blank in the following line of code:
>|
>| HX=HINF+HM*X RANF(-1)
>
> Either a typo, or the name of the random generator is XRANF.
> Are there other exaples like that in the code?

I didn't study all the code yet, but as far as I looked, no.
From: e p chandler on
On Nov 5, 1:03 pm, Alexandros Droseltis <usene...(a)alex-droseltis.com>
wrote:
> On 2009-11-05, robin <robi...(a)bigpond.com> wrote:
>
> > "Alexandros Droseltis" <usene...(a)alex-droseltis.com> wrote in messagenews:7lcl5pF3conm6U1(a)mid.individual.net...
>
> >| I am studying an ancient source written in Fortran IV (it is the
> >| programme "Free Stochastic Music" by Xenakis in [1]) and I do not
> >| understand the blank in the following line of code:
> >|
> >| HX=HINF+HM*X RANF(-1)
>
> > Either a typo, or the name of the random generator is XRANF.
> > Are there other exaples like that in the code?
>
> I didn't study all the code yet, but as far as I looked, no.

Lookng at the listing in the text you referenced, the line is as you
have listed it. It's very odd in context. I saw no other variables
where an extra blank appears in the middle of an identifier, nor did I
see any other references to XRANF().

To me, the interesting line is "Translated into Fortran IV" - from
what? IIRC function names ending in F were earlier than Fortran IV.
For example the listing contains FLOATF() instead of the expected FLOAT
(). I distinctly remember FLOAT() and CALL EXIT from late '62 or early
'63 (Wayne State University).

-- Elliot



From: dpb on
Alexandros Droseltis wrote:
....
> ... If here Xenakis did mean
>
> 520 HX=HINF+HM*RANF(-1)
>
> then HX is distributed uniformly in [HINF, HINF+HM), as for all other
> iterations of the loop, which maybe makes more sense according to the
> theory of Xenakis.
....

As in my first post, that would seem most likely.

Being a pragmatist first, if I were trying to do something w/ this code,
I'd go w/ that and run w/ it until I got a result that indicated that
wasn't working so good. :)

Note the caveat Richard M responded to on your assumption about
zero-initialized variables by default.

The other thing I'd do w/ any code like this before the above "plow
ahead" approach would be to add

IMPLICIT NONE

and fix those errors thus arising and then use compiler diagnostics to
ensure find and fix those uninitialized variables and other such
"tidying up".

Then, see what happens...after all, given the subject matter WW III
isn't _too_ likely... :)

--
From: glen herrmannsfeldt on
Alexandros Droseltis <usenet-1(a)alex-droseltis.com> wrote:
(snip)

> Here I assume that a variable with no assigned value has the value
> 0. Is this so for Fortran IV?

No.

C does require static variables to be initialized to zero.
Some Fortran compilers based on the back end of a C compiler
will then also do that for static variables.

Many (maybe most) Fortran IV compilers generated all variables
as static, but that was before C and C compilers.

One systems that I used in the Fortran IV days had modified
the linker, which actually fills in the initial value for
otherwise uninitialized (not in DATA statement) variables,
to initialize to X'81'. That resulted in large negative integers,
and very small floating point values, which were often visible
in the results. (and 'a' as a character value)

-- glen
From: glen herrmannsfeldt on
e p chandler <epc8(a)juno.com> wrote:
> On Nov 5, 1:03?pm, Alexandros Droseltis <usene...(a)alex-droseltis.com>
> wrote:
(snip)

> To me, the interesting line is "Translated into Fortran IV" -
> from what?

It would seem to me Fortran II.

I believe the 7090 had both Fortran II and Fortran IV compilers,
and the latter supported some Fortran II features to make conversion
easier.

> IIRC function names ending in F were earlier than Fortran IV.
> For example the listing contains FLOATF() instead of the expected FLOAT
> (). I distinctly remember FLOAT() and CALL EXIT from late '62 or early
> '63 (Wayne State University).

FLOAT is still in Fortran 2003, as a specific version of the
generic REAL.

EXIT I believe didn't make it into Fortran IV or 66, except as a
back compatibility feature.

-- glen