MTL 复数向量 找 最大元素

//复数向量 找 最大元素
//整理 by RobinKin
//

#include "mtl/mtl.h"
#include "mtl/utils.h"
#include "mtl/linalg_vec.h"

using namespace mtl;
//begin
typedef complex<float> c;
typedef external_vec<c> Vec;
//end

/*
 
  Note: the Sun Perf Lib docs show the correct answer
  as item 1. This is incorrect. The correct answer
  is item 5.cvazac

  abs( (5,-4) ) = sqrt(5^2 + 4^2) = 6.40312
  abs( (0, 8) ) = 8

  Sample Output
  [(5,-4),(-3,-2),(5,-4),(6,0),(0,8),]
  Largest element in the vector x is item 5

 */

int
main()
{
  //begin
  const int N = 5;
  c dx[] = { c(5,-4), c(-3,-2),
             c(5,-4), c(6,0), c(0,8) };
  Vec x(dx, N);
 
  int imax = max_index(x);
  //end

#if !defined(_MSVCPP_) && !defined(__sgi) || defined(__GNUC__)
  // VC++ and SGI CC do not have operator << defined for complex numbers
  print_vector(x);
#endif

  std::cout << "Largest element in the vector x is item " << imax + 1 << std::endl;
  return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值