DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦8120db412⟧ TextFile

    Length: 3072 (0xc00)
    Types: TextFile
    Names: »hlmutrtx«

Derivation

└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ.  Detaljer om "HC8000" projekt.
    └─⟦0364f57e3⟧ 
        └─⟦787c125fb⟧ »adjprocfile« 
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦787c125fb⟧ »adjprocfile« 
            └─⟦this⟧ 

TextFile



;       hlm univ tr           * page 1   26 10 78, 11.22;  

;  hlm_u_tr
;  ********

if listing.yes
char nl ff nl

hlm_u_tr = set 1

hlm_u_tr = algol

external long procedure hlm_u_tr
________________________________
_             (x, i, tr_param, X, w);  
real           x;  
integer           i,              w;  
array                tr_param;  
long                           X;  

comment

hlm_u_tr         (call and return, logn procedure)
the value of the first coordinate in an n-dimensional
helmert transformation, X = X0 + '6*A*x. Note that
there is an implicit scale factor of '6, because the
input coordinates are assumed reals with meters as
the unit and the output coordinates are longs with
'-6 m as the unit.

x             (call, real)
the input coordinates in units of m. the individual
coordinates are addressed with JENSENs device, eg.
as array elements x(i) or as cae i of (x, y, ..
with i as the indicating variable.

i             (call, integer)
the addressing variable of the input coordinates used
with JENSENs device (see x).

tr_param         (call, array)
the parameters of the transformation
tr_param(1), first two bytes  = dimension of the coordinates
tr_param(1), last two bytes =  not used
_                              for invar/outvar.
tr_param(2), long fielded    = first coordinate of X0
.......
tr_param(2+dim-1), lng f     = last coordinate of X0
tr_param(2+dim)              = first elem of matrix A = A11
.......                        matrix A row-wize
tr_param(2+dim+dim**2-1)     = last elem of matrix A =Adimdim
note the implicit scale factor of '6.

X             (return, long)
the output coordinates, addressed as X(w) etc with
JENSENs device. note that case w of (N, E, ... cannot
be used as X may no be an expression.

w             (call, integer)
the addressing index of the output coordinate;  
\f



comment hlm univ tr           * page 2   26 10 78, 11.22
0 1 2 3 4 5 6 7 8 9 ;  

comment  
 
the call may e.g. be

hlm_u_tr(case i of (x, y, z), i, trparam, NE(w+11), w)

ext. proc
sqrt

Prog.: Knud Poder, OCT 1978

GI lib. no. :
;  

begin

  long                  wrk;  
 
  real                  r_wrk;

  integer               i0, dim, dim_1;  

  integer       field   dim_f;  

  long          field   X_f;  

  dim_f := 2;  
  dim   := tr_param.dim_f;
  dim_1 := dim + 1;
  X_f   := 8 - 4*dim_1;  
  i0    := 2 - dim_1;  

  for w := 1 step 1 until dim do
  begin
    i0    := i0 + dim_1;  
    r_wrk := 0.0;  
    X_f   := dim_1 shift 2 + X_f;
    for i := 1 step 1 until dim do
    r_wrk := r_wrk + x*tr_param(i0+i);  
    wrk   := '6*r_wrk;
    X     := tr_param.X_f + wrk;  
  end;  
w        := 1;
hlm_u_tr := X;

end hlm_u_tr;  

end;  

if ok.no
mode warning.yes

if warning.yes
(mode 0.yes
message hlm_u_tr not ok
lookup hlm_u_tr)

end

finis
▶EOF◀