#-------------------------------------------------------------
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
#-------------------------------------------------------------


#example usecase from LSML, orderedDistances.dml

n_t = 1000;
n_f = 77;
X_train = matrix(1, rows=n_t,cols=n_f);
alldist = matrix(0, rows=n_t, cols=n_t);
parfor(r in 1:(n_t-1))
{
    Xr = X_train[r,];
    myd = matrix (0, rows = 1, cols = n_t)
    parfor(c in (r+1):n_t) {
       tmp = rowSums((Xr - X_train[c,])^2);
       myd[1,c] = tmp;
    }
    alldist[r,] = myd;
}
alldist = alldist + t(alldist);
print(sum(alldist));

