/*===---- arm_neon.h - ARM Neon intrinsics ---------------------------------===
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#ifndef __ARM_NEON_H
#define __ARM_NEON_H
#ifndef __ARM_FP
#error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
#else
#if !defined(__ARM_NEON)
#error "NEON support not enabled"
#else
#include <stdint.h>
#ifdef __ARM_FEATURE_BF16
#include <arm_bf16.h>
typedef __bf16 bfloat16_t;
#endif
typedef float float32_t;
typedef __fp16 float16_t;
#ifdef __aarch64__
typedef double float64_t;
#endif
#ifdef __aarch64__
typedef uint8_t poly8_t;
typedef uint16_t poly16_t;
typedef uint64_t poly64_t;
typedef __uint128_t poly128_t;
#else
typedef int8_t poly8_t;
typedef int16_t poly16_t;
typedef int64_t poly64_t;
#endif
typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
typedef __attribute__((neon_vector_type(2))) int64_t int64x2_t;
typedef __attribute__((neon_vector_type(8))) uint8_t uint8x8_t;
typedef __attribute__((neon_vector_type(16))) uint8_t uint8x16_t;
typedef __attribute__((neon_vector_type(4))) uint16_t uint16x4_t;
typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t;
typedef __attribute__((neon_vector_type(2))) uint32_t uint32x2_t;
typedef __attribute__((neon_vector_type(4))) uint32_t uint32x4_t;
typedef __attribute__((neon_vector_type(1))) uint64_t uint64x1_t;
typedef __attribute__((neon_vector_type(2))) uint64_t uint64x2_t;
typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t;
typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t;
typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t;
typedef __attribute__((neon_vector_type(4))) float32_t float32x4_t;
#ifdef __aarch64__
typedef __attribute__((neon_vector_type(1))) float64_t float64x1_t;
typedef __attribute__((neon_vector_type(2))) float64_t float64x2_t;
#endif
typedef __attribute__((neon_polyvector_type(8))) poly8_t poly8x8_t;
typedef __attribute__((neon_polyvector_type(16))) poly8_t poly8x16_t;
typedef __attribute__((neon_polyvector_type(4))) poly16_t poly16x4_t;
typedef __attribute__((neon_polyvector_type(8))) poly16_t poly16x8_t;
typedef __attribute__((neon_polyvector_type(1))) poly64_t poly64x1_t;
typedef __attribute__((neon_polyvector_type(2))) poly64_t poly64x2_t;
typedef struct int8x8x2_t {
int8x8_t val[2];
} int8x8x2_t;
typedef struct int8x16x2_t {
int8x16_t val[2];
} int8x16x2_t;
typedef struct int16x4x2_t {
int16x4_t val[2];
} int16x4x2_t;
typedef struct int16x8x2_t {
int16x8_t val[2];
} int16x8x2_t;
typedef struct int32x2x2_t {
int32x2_t val[2];
} int32x2x2_t;
typedef struct int32x4x2_t {
int32x4_t val[2];
} int32x4x2_t;
typedef struct int64x1x2_t {
int64x1_t val[2];
} int64x1x2_t;
typedef struct int64x2x2_t {
int64x2_t val[2];
} int64x2x2_t;
typedef struct uint8x8x2_t {
uint8x8_t val[2];
} uint8x8x2_t;
typedef struct uint8x16x2_t {
uint8x16_t val[2];
} uint8x16x2_t;
typedef struct uint16x4x2_t {
uint16x4_t val[2];
} uint16x4x2_t;
typedef struct uint16x8x2_t {
uint16x8_t val[2];
} uint16x8x2_t;
typedef struct uint32x2x2_t {
uint32x2_t val[2];
} uint32x2x2_t;
typedef struct uint32x4x2_t {
uint32x4_t val[2];
} uint32x4x2_t;
typedef struct uint64x1x2_t {
uint64x1_t val[2];
} uint64x1x2_t;
typedef struct uint64x2x2_t {
uint64x2_t val[2];
} uint64x2x2_t;
typedef struct float16x4x2_t {
float16x4_t val[2];
} float16x4x2_t;
typedef struct float16x8x2_t {
float16x8_t val[2];
} float16x8x2_t;
typedef struct float32x2x2_t {
float32x2_t val[2];
} float32x2x2_t;
typedef struct float32x4x2_t {
float32x4_t val[2];
} float32x4x2_t;
#ifdef __aarch64__
typedef struct float64x1x2_t {
float64x1_t val[2];
} float64x1x2_t;
typedef struct float64x2x2_t {
float64x2_t val[2];
} float64x2x2_t;
#endif
typedef struct poly8x8x2_t {
poly8x8_t val[2];
} poly8x8x2_t;
typedef struct poly8x16x2_t {
poly8x16_t val[2];
} poly8x16x2_t;
typedef struct poly16x4x2_t {
poly16x4_t val[2];
} poly16x4x2_t;
typedef struct poly16x8x2_t {
poly16x8_t val[2];
} poly16x8x2_t;
typedef struct poly64x1x2_t {
poly64x1_t val[2];
} poly64x1x2_t;
typedef struct poly64x2x2_t {
poly64x2_t val[2];
} poly64x2x2_t;
typedef struct int8x8x3_t {
int8x8_t val[3];
} int8x8x3_t;
typedef struct int8x16x3_t {
int8x16_t val[3];
} int8x16x3_t;
typedef struct int16x4x3_t {
int16x4_t val[3];
} int16x4x3_t;
typedef struct int16x8x3_t {
int16x8_t val[3];
} int16x8x3_t;
typedef struct int32x2x3_t {
int32x2_t val[3];
} int32x2x3_t;
typedef struct int32x4x3_t {
int32x4_t val[3];
} int32x4x3_t;
typedef struct int64x1x3_t {
int64x1_t val[3];
} int64x1x3_t;
typedef struct int64x2x3_t {
int64x2_t val[3];
} int64x2x3_t;
typedef struct uint8x8x3_t {
uint8x8_t val[3];
} uint8x8x3_t;
typedef struct uint8x16x3_t {
uint8x16_t val[3];
} uint8x16x3_t;
typedef struct uint16x4x3_t {
uint16x4_t val[3];
} uint16x4x3_t;
typedef struct uint16x8x3_t {
uint16x8_t val[3];
} uint16x8x3_t;
typedef struct uint32x2x3_t {
uint32x2_t val[3];
} uint32x2x3_t;
typedef struct uint32x4x3_t {
uint32x4_t val[3];
} uint32x4x3_t;
typedef struct uint64x1x3_t {
uint64x1_t val[3];
} uint64x1x3_t;
typedef struct uint64x2x3_t {
uint64x2_t val[3];
} uint64x2x3_t;
typedef struct float16x4x3_t {
float16x4_t val[3];
} float16x4x3_t;
typedef struct float16x8x3_t {
float16x8_t val[3];
} float16x8x3_t;
typedef struct float32x2x3_t {
float32x2_t val[3];
} float32x2x3_t;
typedef struct float32x4x3_t {
float32x4_t val[3];
} float32x4x3_t;
#ifdef __aarch64__
typedef struct float64x1x3_t {
float64x1_t val[3];
} float64x1x3_t;
typedef struct float64x2x3_t {
float64x2_t val[3];
} float64x2x3_t;
#endif
typedef struct poly8x8x3_t {
poly8x8_t val[3];
} poly8x8x3_t;
typedef struct poly8x16x3_t {
poly8x16_t val[3];
} poly8x16x3_t;
typedef struct poly16x4x3_t {
poly16x4_t val[3];
} poly16x4x3_t;
typedef struct poly16x8x3_t {
poly16x8_t val[3];
} poly16x8x3_t;
typedef struct poly64x1x3_t {
poly64x1_t val[3];
} poly64x1x3_t;
typedef struct poly64x2x3_t {
poly64x2_t val[3];
} poly64x2x3_t;
typedef struct int8x8x4_t {
int8x8_t val[4];
} int8x8x4_t;
typedef struct int8x16x4_t {
int8x16_t val[4];
} int8x16x4_t;
typedef struct int16x4x4_t {
int16x4_t val[4];
} int16x4x4_t;
typedef struct int16x8x4_t {
int16x8_t val[4];
} int16x8x4_t;
typedef struct int32x2x4_t {
int32x2_t val[4];
} int32x2x4_t;
typedef struct int32x4x4_t {
int32x4_t val
default.tar.gz
需积分: 0 21 浏览量
更新于2023-08-16
收藏 251.46MB GZ 举报
标题 "default.tar.gz" 指的是一种常见的文件压缩格式,它是Linux和Unix环境中广泛使用的。".tar" 扩展名表示这是一个归档文件,它能够将多个文件和目录打包成一个单一的文件,便于存储、传输或备份。".gz" 是Gzip的缩写,是一种流行的文件压缩算法,用于减小文件大小。结合起来,"default.tar.gz" 就是一个使用Gzip压缩的tar归档文件。
在Linux和Unix系统中,这个文件包含了多个系统目录的副本,这些目录通常具有以下功能:
1. **ish**:可能是一个错误的目录名,标准的Linux系统中没有这个目录,但如果是自定义环境或特定项目,它可能包含特定的脚本或命令。
2. **lib**:库目录,存放各种动态链接库(.so文件)和静态库,程序运行时会依赖这些库。
3. **media**:通常用来挂载各种外部媒体设备,如USB驱动器、CD/DVD等。
4. **etc**:配置文件目录,存放系统和服务的配置文件,如网络设置、用户权限、服务启动脚本等。
5. **proc**:虚拟文件系统,提供对内核状态和进程信息的访问,不占用磁盘空间。
6. **usr**:用户应用程序和系统软件的主要目录,包括bin、lib、include等子目录,分别存放可执行文件、库文件和头文件。
7. **tmp**:临时文件目录,存放系统和用户临时产生的文件,重启或定期清理。
8. **home**:用户主目录,每个用户的个人文件和配置都存储在这里。
9. **root**:超级用户(root)的主目录,通常包含root用户的个人文件和配置。
10. **bin**:全局可执行程序目录,存放系统必备的命令和工具。
将这些目录打包成"default.tar.gz" 可能是为了备份系统状态、迁移环境或者便于在不同系统间分享。解压此文件后,可以恢复或复制到目标系统以实现环境配置的一致性。在Linux环境下,可以使用`tar`命令配合`gzip`或`gunzip`来操作这个文件,例如,用`tar -zxvf default.tar.gz`命令进行解压。请注意,如果要在其他系统上使用这些文件,必须确保目标系统与源系统有相同的架构和软件版本,否则可能会出现兼容性问题。
![avatar](https://profile-avatar.csdnimg.cn/08caa14303f5473389faf9bee118e876_weixin_70956597.jpg!1)
静寂之鸢
- 粉丝: 20
- 资源: 1
最新资源
- Scratch-scratch资源
- 西门子S7系列PLC工程应用-多功能FC与FB块快速调用版,S71200与S71500 PLC工程中高效应用FB与FC块的实用指南:整合封装功能块合集,快速调用实现工程场景应用,西门子博图标准模板程
- gf-golang资源
- Golang_Puzzlers-春节主题资源
- 基于MATLAB的信号仿真与数字处理实验:调制解调解码、滤波器设计与音频信号处理,基于MATLAB的信号仿真与系统设计:从数字信号处理到调制解调和滤波器技术研究,MATLAB信号仿真 MATLAB,数
- JavaEE框架项目-javaEE框架项目资源
- 基于S7-1200 PLC的自动洗车机控制系统设计与实现:包含西门子触摸屏动态仿真文档、电气接线图与原理图,博图编写支持动态仿真,附赠安装包 ,基于S7-1200 PLC的自动洗车机控制系统设计与实现
- 基于西门子博途编程软件的PLC控制太阳能电池板系统:包含触摸屏、IO表、原理图、流程图及接线图等详细设计与报告,基于西门子博途编程的PLC控制太阳能电池板系统设计与实施,涵盖触摸屏界面、IO表、原理图
- 标幺化(归一化)计算Excel表格详解:溢出防护、精度保障、物理量基准自动计算与结果呈现,深度解析标幺化计算过程:Excel表格助力彻底理解溢出防护与数据精度平衡的艺术,标幺化(归一化)计算表格及知识
- 智汇商城-JAVA商城-c/c++源码资源
- java-graalvm-start-java开发项目资源
- KeyMouseHook-活动资源
- 基于IEEE 39节点标准系统的稳态潮流与短路分析,含真实发电机模型与多种功能扩展的仿真研究,基于IEEE 39节点标准系统的仿真分析:短路分析、无功补偿与暂态响应考量下的电源潮流及稳定性研究,IEE
- SVPWM控制异步电机PI双闭环变频调速系统:Matlab仿真结果解析与展示,SVPWM控制异步电机PI双闭环变频调速系统仿真研究及结果分析,SVPWM控制异步电机PI双闭环变频调速系统 附赠参考文
- 基于粒子群算法的标贴式永磁同步电机高精度参数辨识模型:算法设计详解,基于粒子群算法的标贴式永磁同步电机高精度参数辨识模型:算法优化、注释详细、拓展性强,基于粒子群算法的标贴式永磁同步电机参数辨识 模型
- 基于Carsim的联合仿真:探究LCC、LKA与路径跟踪算法(PID、纯跟踪及Stanley算法),基于Carsim的联合仿真:探究LCC、LKA与路径跟踪算法(PID、纯跟踪、Stanely),ca