示例#1
0
文件: index.js 项目: ashnur/vatrix
    function multiplication(){
        return u.slice(arguments).reduce(function(A, B, index){
            if ( ! Array.isArray(A[0]) ) A = [A]
            if ( ! Array.isArray(B[0]) ) B = u.partition(B, 1)
            var height = A.length-1
                , width = (B = transpose(B)).length-1
                , result = u.span(0, height).map(function(i){
                    return u.span(0, width).map(function(j){
                        return m.dot(A[i],B[j])
                    })
                })
                ;
            if ( result[0].length == 1) result = Array.prototype.concat.apply([],result)
            if ( result.length == 1 ) result = result[0]

            return result
        })
    }
示例#2
0
文件: index.js 项目: ashnur/vatrix
 function subtraction(){
     return u.slice(arguments).reduce(function(p, c, i){
         return u.zipWith(m.sub, p, c)
     })
 }
示例#3
0
文件: index.js 项目: ashnur/vatrix
 function addition(){
     return u.slice(arguments).reduce(function(p, c, i){
         return u.zipWith(m.add, p, c)
     })
 }