본문 바로가기

Programming/NEON

[NEON] 벡터 자료형

벡터 데이터형 : 1차원 배열 형태를 갖는 데이터형

벡터 데이터 : 공간 정보의 기본 단위인 점, 선, 면을 사용하여 실세계의 위치를 2차원 또는 3차원의 좌표값으로 표현한 자료. 래스터 자료(raster data)와 더불어 공간 정보 저장 방식의 두 축을 이루고 있다.


NEON에서의 벡터 데이터 유형

벡터를 나타내기 위해 다음 유형을 정의합니다. NEON 벡터 데이터 유형은 다음 패턴에 따라 명명됩니다.

 <type><size>x<number of lanes>_t

예를 들어 int16x4_t는 각각 부호 있는 16비트 정수를 포함하는 4개의 레인이 있는 벡터입니다. Table E.1에서는 벡터 데이터 유형을 나열합니다.


Table E.1. 벡터 데이터 유형

int8x8_tint8x16_t
int16x4_tint16x8_t
int32x2_tint32x4_t
int64x1_tint64x2_t
uint8x8_tuint8x16_t
uint16x4_tuint16x8_t
uint32x2_tuint32x4_t
uint64x1_tuint64x2_t
float16x4_tfloat16x8_t
float32x2_tfloat32x4_t
poly8x8_tpoly8x16_t
poly16x4_tpoly16x8_t


일부 내장 함수는 다음 형식의 벡터 유형 배열을 사용합니다.

<type><size>x<number of lanes>x<length of array>_t 

이러한 유형은 이름이 val인 단일 요소를 포함하는 기본 C 구조체로 처리됩니다.

다음은 구조체 정의의 예입니다.

	struct int16x4x2_t
	{
	    int16x4_t val[2];
	};

Table E.1에 나열된 벡터 유형을 2 ~ 4의 배열 길이로 정의한 배열 유형이 있습니다.


다시 말해,

NEON 벡터 변수 자료형 표현 방식


<type><size>x<number of lanes>_t  변수명

  타입  사이즈 x          길이         _t  변수명


<NEON 벡터>                   <C 변수>

  int16x4_t a           ▷      int16_t a[4]


<type><size>x<number of lanes>x<length of array>_t

 타입   사이즈 x 길이(레인개수)  x 개수 _t 

'Programming > NEON' 카테고리의 다른 글

[NEON] 비트와 시프트 연산  (0) 2016.09.23
[NEON] 레인 설정과 조회  (0) 2016.09.23
[NEON 산술 연산과 확장  (0) 2016.09.23
[NEON] 함수 정리 (로드 함수, 저장 함수)  (0) 2016.09.23
[NEON] 기본 개념  (0) 2016.09.23