ArrayTranspose

Array or matrix transpose.

声明

语法

ArrayTranspose(expr matrix, ttype type, expr? value)

参数

Argument Name

Argument Description

matrix

expression array, single or multi dimensional, square matrix

type

table entry type

value

expression value

返回值

The return value is the expression that the ArrayTranspose represents.

描述

ArrayTranspose represents transpose of square matrix, where row are stored in column values and column values are store in rows.

类型

Only accepts integers.

示例

integer :: a(3, 4), b(4, 3)
b = transpose(a)

ASR:

(TranslationUnit
    (SymbolTable
        1
        {
            a:
                (Variable
                    1
                    a
                    Local
                    ()
                    ()
                    Default
                    (Integer 4 [((IntegerConstant 1 (Integer 4 []))
                    (IntegerConstant 3 (Integer 4 [])))
                    ((IntegerConstant 1 (Integer 4 []))
                    (IntegerConstant 4 (Integer 4 [])))])
                    Source
                    Public
                    Required
                    .false.
                ),
            b:
                (Variable
                    1
                    b
                    Local
                    ()
                    ()
                    Default
                    (Integer 4 [((IntegerConstant 1 (Integer 4 []))
                    (IntegerConstant 4 (Integer 4 [])))
                    ((IntegerConstant 1 (Integer 4 []))
                    (IntegerConstant 3 (Integer 4 [])))])
                    Source
                    Public
                    Required
                    .false.
                )

        })
    [(=
        (Var 1 b)
        (ArrayTranspose
            (Var 1 a)
            (Integer 4 [((IntegerConstant 1 (Integer 4 []))
            (IntegerConstant 4 (Integer 4 [])))
            ((IntegerConstant 1 (Integer 4 []))
            (IntegerConstant 3 (Integer 4 [])))])
            ()
        )
        ()
    )]
)

也可以看看