iOS vDSP中的矢量绝对值
来源:互联网 发布:恒指期货实时行情数据 编辑:程序博客网 时间:2024/06/06 09:13
矢量绝对值1(float类型绝对值):
extern void vDSP_vabs( const float *__A, vDSP_Stride __IA, float *__C, vDSP_Stride __IC, vDSP_Length __N) __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0);
注:__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0)是适用于mac10.4及之后和iOS4.0及之后。
例子:
float input[8],output[8]; printf("input:\n"); for (int i=1; i<=8; i++) { input[i-1]=-i; printf("%f ",input[i-1]); } vDSP_vabs(input,1, output, 1, 8); printf("\noutput:\n"); for (int i=0; i<8; i++) { printf("%f ",output[i]); }
打印结果如下:
input:
-1.000000 -2.000000 -3.000000 -4.000000 -5.000000 -6.000000 -7.000000 -8.000000
output:
1.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000
-1.000000 -2.000000 -3.000000 -4.000000 -5.000000 -6.000000 -7.000000 -8.000000
output:
1.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000
将vDSP_vabs改成如下参数:
vDSP_vabs(input,1, output, 1, 4);
input:
-1.000000 -2.000000 -3.000000 -4.000000 -5.000000 -6.000000 -7.000000 -8.000000
output:
1.000000 2.000000 3.000000 4.000000 0.000000 0.000000 0.000000 0.000000
-1.000000 -2.000000 -3.000000 -4.000000 -5.000000 -6.000000 -7.000000 -8.000000
output:
1.000000 2.000000 3.000000 4.000000 0.000000 0.000000 0.000000 0.000000
将vDSP_vabs改成如下参数:
vDSP_vabs(input,2, output, 1, 4);
-1.000000 -2.000000 -3.000000 -4.000000 -5.000000 -6.000000 -7.000000 -8.000000
output:
1.000000 3.000000 5.000000 7.000000 0.000000 0.000000 0.000000 0.000000
注:后面打印的0.00000这些值,也有可能打印出的一个很大值。也不你就试试。
将vDSP_vabs改成如下参数:
vDSP_vabs(input,1, output, 2, 4);
-1.000000 -2.000000 -3.000000 -4.000000 -5.000000 -6.000000 -7.000000 -8.000000
output:
1.000000 0.000000 2.000000 0.000000 3.000000 0.000000 4.000000 0.000000
矢量绝对值2(double型绝对值):
extern void vDSP_vabsD( const double *__A, vDSP_Stride __IA, double *__C, vDSP_Stride __IC, vDSP_Length __N) __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0);
矢量绝对值3 (int型绝对值):
extern void vDSP_vabsi( const int *__A, vDSP_Stride __IA, int *__C, vDSP_Stride __IC, vDSP_Length __N) __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0);
矢量绝对值4 (复数float型绝对值或取摸)
typedef struct DSPSplitComplex { float * __nonnull realp; float * __nonnull imagp;} DSPSplitComplex;
extern void vDSP_zvabs( const DSPSplitComplex *__A, vDSP_Stride __IA, float *__C, vDSP_Stride __IC, vDSP_Length __N) __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0);
公式:
矢量绝对值5 (复数double型绝对值或取摸)
typedef struct DSPDoubleSplitComplex { double * __nonnull realp; double * __nonnull imagp;} DSPDoubleSplitComplex;
extern void vDSP_zvabsD( const DSPDoubleSplitComplex *__A, vDSP_Stride __IA, double *__C, vDSP_Stride __IC, vDSP_Length __N) __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0);
0 0
- iOS vDSP中的矢量绝对值
- iOS vDSP中的单矢量相反
- iOS vDSP中的单矢量生成
- iOS vDSP中的单矢量平方
- iOS vDSP中的单矢量填充和清除
- iOS vDSP中的单矢量归一化、极坐标转换和单矢量转换为分贝等值
- iOS中的绝对值处理
- iOS 取绝对值运算
- c语言中的绝对值
- Vdsp(bf561)中的浮点运算(15):vdsp库的一个BUG
- IOS 快速傅立叶变换(使用系统框架vDSP)
- IOS 快速傅立叶变换(使用系统框架vDSP)
- iOS 取绝对值用法
- iOS取绝对值的函数
- iOS中绝对值的处理
- Vdsp(bf561)中的浮点运算(1):文档的说法
- Vdsp(bf561)中的浮点运算(2):float的疑问
- Vdsp(bf561)中的浮点运算(3):FLT_MIN
- RxAndroid结合Retrofit,看看谁才是最佳拍档!
- 《设计模式之装饰模式》
- 【杭电oj1114】Piggy-Bank
- Ensemble methods --Bagging meta-estimator
- 输出一个集合的所有子集
- iOS vDSP中的矢量绝对值
- xheditor的使用方法
- va_list原理及用法
- java 线程模拟文件下载
- 为什么编程时间从1970年1月1日开始?
- 设计模式总结之Command Pattern(命令模式)
- poj3469Dual Core CPU【最小割】
- 九度OJ题目1491:求1和2的个数
- Java多线程下的生产者消费者模式