blob: 9a28cbb1b446cc88381b1f4836569baa4ad33d71 [file] [log] [blame]
#-------------------------------------------------------------
#
# 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.
#
#-------------------------------------------------------------
# This builtin function convert vector into csv string such as [1 0 0 1 1 0 1] = "1,4,5,7"
# Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
#
# INPUT:
# ------------------------------------------------------------------------------------
# mask Data vector (having 0 for excluded indexes)
# ------------------------------------------------------------------------------------
#
# OUTPUT:
# ----------------------------------------------------------------------------------------
# indexes indexes
# ----------------------------------------------------------------------------------------
m_vectorToCsv = function(Matrix[Double] mask)
return (String indexes){
vector = mask * t(seq(1, ncol(mask)))
vector = removeEmpty(target = vector, margin = "cols")
if(nrow(vector) > ncol(vector))
vector = t(vector)
s = ""
if(ncol(vector) > 1) {
for(i in 1:ncol(vector)-1)
s = s+as.integer(as.scalar(vector[1,i]))+","
}
indexes = s+as.integer(as.scalar(vector[1,ncol(vector)]))
}