function CDF = space_time(LT,s,DIST)

%SPACE_TIME computes CDF's for space and time

%Written by: TONY E. SMITH, 2/9/98
%
%INPUTS:
%       (i)   LT = array of loc-times (Xi,Yi,Ti)
%       (ii)  s = size of dist-time array
%       (iii) DIST = matrix of pairwise distances
%
%OUTPUT: CDF = (sxs) matrix of CDF values

[m,n] = size(LT) ;

%Compute pairwise times

TIME = zeros(m*(m-1)/2,1) ; %Matrix of loc-time pairs

i = 1 ;

k = 1 ;  %counter for D.


while i < m
   
   j = i + 1 ;
   
   while j <= m
         
      TIME(k,1) = abs(LT(i,3) - LT(j,3)) ; 
                
      j = j + 1 ;
      
      k = k + 1 ;
      
   end
   
   i = i + 1; 
   
end

%Count point frequencies

F = zeros(s) ;

[M,n] = size(DIST) ;

k = 1 ;

Dmax = max(DIST(:,1)) ;

Tmax = max(TIME(:,1)) ;

while k <= M 
   
   if (DIST(k,1) <= Dmax/2)&(TIME(k,1) <= Tmax/2)
      
      d = max([1 ceil(s * (DIST(k,1)/(Dmax/2)))]) ;  %allows 0 dist
      
      t = max([1 ceil(s * (TIME(k,1)/(Tmax/2)))]) ;  %allows 0 time
      
      i = DIST(k,2) ;
      
      j = DIST(k,3) ;
      
      F(d,t) = F(d,t) + 2 ; %we add both ij and ji     
          
   end
   
   k = k + 1 ;
   
end

%Construct CDF

CDF  = zeros(s) ;

CDF1 = zeros(s) ;

CDF1(:,1) = F(:,1) ;

%First Pass

for j = 2:s
    
    CDF1(:,j) = CDF1(:,j-1) + F(:,j);
    
end

% for i = 1:s
%    
%    for j = 2:s   
%        
%       CDF1(i,j) = CDF1(i,j-1) + F(i,j) ;
%       
%    end
% 
% end

%Second Pass

CDF(1,:) = CDF1(1,:) ;

for i = 2:s
    
    CDF(i,:) = CDF(i-1,:) + CDF1(i,:);
    
end


% for i = 2:s
%       
%    for j = 1:s
%       
%       CDF(i,j) = CDF(i-1,j) + CDF1(i,j) ;
%       
%    end
%    
% end


CDF = CDF/(m * (m - 1)) ;  %normalize

