亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uarrtests.cpp

?? C++ Math Lib. C++ Builder must use.
?? CPP
字號:
//---------------------------------------------------------------------------
// N.V.Shokhirev
// created: 20040726
// modified: 20041106
//---------------------------------------------------------------------------

#pragma hdrstop

#include "uArrTests.h"

#include "DynLinAlg.h"
#include "MatUtils.h"
#include "dynarrutils.h"
//---------------------------------------------------------------------------

#pragma package(smart_init)

double GetValue(FArr1D& v, int i)
{
  return v(i);
};

void SetValue(FArr1D& v, int i, double x)
{
  v(i) = x;
};

container::container(int n):v(n),m(n,n) { };

String Lim1DTest()
{
  String s = "", ss = "Lim1D Test";
  bool fail = false;

  Lim1D lim1;
  if (lim1.D1() != 1 || lim1.L1() != 1 || lim1.H1() != 1 ) {
    fail = true;   s += " Default Constr  |";
  };
  lim1.SetL1(0);
  if (lim1.D1() != 1 || lim1.L1() != 0 || lim1.H1() != 0 ) {
    fail = true;   s += " SetL1(0)  |";
  };
  Lim1D lim2(5);
  if (lim2.D1() != 5 || lim2.L1() != 1 || lim2.H1() != 5 ) {
    fail = true;   s += " 1-based Constr  |";
  };
  Lim1D lim3(-2,2);
  if (lim3.D1() != 5 || lim3.L1() != -2 || lim3.H1() != 2 ) {
    fail = true;   s += " General Constr  |";
  };
  if (lim3.eq(lim2) ) { fail = true;   s += " eq must fail  |";  };

  lim2.SetL1(-2);
  if (!lim3.eq(lim2) ) { fail = true;   s += " eq must not fail  |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String Lim2DTest()
{
  String s = "", ss = "Lim2D Test";
  bool fail = false;

  Lim2D lim1;
  if (lim1.D1() != 1 || lim1.L1() != 1 || lim1.H1() != 1 ||
      lim1.D2() != 1 || lim1.L2() != 1 || lim1.H2() != 1) {
    fail = true;   s += " Default Constr  |";
  };
  Lim2D lim2(3,4);
  if (lim2.D1() != 3 || lim2.L1() != 1 || lim2.H1() != 3 ||
      lim2.D2() != 4 || lim2.L2() != 1 || lim2.H2() != 4 ) {
    fail = true;   s += " 1-based Constr  |";
  };
  Lim2D lim3(-1,1,0,3);
  if (lim3.D1() != 3 || lim3.L1() != -1 || lim3.H1() != 1 ||
      lim3.D2() != 4 || lim3.L2() !=  0 || lim3.H2() != 3) {
    fail = true;   s += " General Constr  |";
  };
  lim2.SetL1(-1);
  lim2.SetL2(0);
  if (lim2.D1() != 3 || lim2.L1() != -1 || lim2.H1() != 1 ||
      lim2.D2() != 4 || lim2.L2() !=  0 || lim2.H2() != 3) {
    fail = true;   s += " SetL1(-1), SetL2(0) |";
  };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String FArr1DTest()
{
  String s = "", ss = "FArr1D Test";
  bool fail = false;
  double x1, x2;
  int n = 5;

  FArr1D a1(n);
  FArr1D a2(n);
  FArr1D arr1(n);
  FArr1D arr2(n);

  RandArr(arr1,-1.0,1.0);
  RandArr(arr2,-1.0,1.0);

  x1 = arr1 * arr2;
  x2 = Dot(arr1, arr2);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " Dot product |"; };

  arr1(2) = 4.44;
  arr2 = arr1;
  if ( ! Equal(arr1, arr2) ) { fail = true;   s += " Assignment |"; };

  arr1.swap1(2,4);
  double temp = arr2(2);
  arr2(2) = arr2(4);
  arr2(4) = temp;
  if ( ! Equal(arr1, arr2) ) { fail = true;   s += " Swap |"; };

  a1.fill(0.0);
  a2 = arr2 - arr1;
  if ( ! Equal(a1, a2) ) { fail = true;   s += " Subtraction |"; };

  MultArr(arr2, 1.2345);
  a1 = 1.2345*arr1;
  if (! Equal(a1, arr2) ) { fail = true;  s += " Const * FArr1D |"; };
  a1 = arr1*1.2345;
  if (! Equal(a1, arr2) ) { fail = true;  s += " FArr1D * Const |"; };

  a1 = arr1 + arr2;
  a2 = 2.2345 * arr1;
  if ( ! Equal(a1, a2) ) { fail = true;   s += " Addition |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String FArr1DTest2()
{
  String s = "", ss = "FArr1D Test2";
  bool fail = false;
  double x1, x2;
  int idx;
  FArr1D a(-4 , 3);
  x1 = -4.0;
  for (int i = a.L1(); i <= a.H1(); i++)
  {
    a(i) = x1;
    x1 += 1.0;
  };

  x1 = a.minval(idx);
  if ( ! Equal(x1, -4.0) ) { fail = true;   s += " minval |"; };
  if ( idx != -4 ) { fail = true;   s += " minval ixd |"; };

  x1 = a.maxval(idx);
  if ( ! Equal(x1, 3.0) ) { fail = true;   s += " maxval |"; };
  if ( idx != 3 ) { fail = true;   s += " maxval ixd |"; };

  x1 = a.maxabs(idx);
  if ( ! Equal(x1, 4.0) ) { fail = true;   s += " maxabs |"; };
  if ( idx != -4 ) { fail = true;   s += " maxabs ixd |"; };

  a.minmax(x1, x2, true);
  if ( ! Equal(x1,-4.0) ) { fail = true;   s += " minmax min |"; };
  if ( ! Equal(x2, 3.0) ) { fail = true;   s += " minmax max |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String FArr1DTest3()
{
  String s = "", ss = "FArr1D Test3";
  bool fail = false;
  bool cyclic = true;
  double x1, x2;
  int i, L, H, D, j;
  FArr1D a(-4 , 3);

  RandArr(a,-10.0,10.0);

  for (int i = a.L1(); i <= a.H1(); i++)
  {
    x1 = extend(a, i, cyclic);
    j = cycle(i, a.L1(), a.H1(), a.D1());
    x2 = a(j);
    if ( ! Equal(x1, x2) ) { fail = true;   s += " cyclic |"; };
  };

  cyclic = false;
  for (int i = -5; i <= 5; i++)
  {
    x1 = extend(a, i, cyclic);
    if ( (i < a.L1()) || (a.H1() < i) )
      x2 = 0.0;
    else
      x2 = a(i);
    if ( ! Equal(x1, x2) ) { fail = true;   s += " zero |"; };
  };

  x1 = extend0(a, -4, cyclic);  x2 = a(-4);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " zero0-1 |"; };
  x1 = extend0(a,  3, cyclic);  x2 = a(3);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " zero0-2 |"; };
  x1 = extend0(a,  0, cyclic);  x2 = a(0);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " zero0-3 |"; };
  x1 = extend0(a, -6, cyclic);  x2 = 0.0;
  if ( ! Equal(x1, x2) ) { fail = true;   s += " zero0-4 |"; };
  x1 = extend0(a,  4, cyclic);  x2 = 0.0;
  if ( ! Equal(x1, x2) ) { fail = true;   s += " zero0-5 |"; };

  cyclic = true;

  x1 = extend0(a, -4, cyclic);  x2 = a(3);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " cyclic0-1 |"; };
  x1 = extend0(a,  3, cyclic);  x2 = a(3);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " cyclic0-2 |"; };
  x1 = extend0(a,  0, cyclic);  x2 = a(0);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " cyclic0-3 |"; };
  x1 = extend0(a, -5, cyclic);  x2 = a(2);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " cyclic0-4 |"; };
  x1 = extend0(a,  4, cyclic);  x2 = a(-3);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " cyclic0-5 |"; };
  x1 = extend0(a, -3, cyclic);  x2 = a(-3);
  if ( ! Equal(x1, x2) ) { fail = true;   s += " cyclic0-6 |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String FArr2DTest()
{
  String s = "", ss = "FArr2D Test";
  bool fail = false;
  double x1, x2;
  int n = 3, m = 4;

  FArr2D a1(n,m);
  FArr2D a2(n,m);
  FArr2D arr1(n,m);
  FArr2D arr2(n,m);

  RandArr(arr1,-1.0,1.0);
  RandArr(arr2,-1.0,1.0);

  arr2 = arr1;
  if ( ! Equal(arr1, arr2) ) { fail = true;   s += " Assignment |"; };

  a1.fill(0.0);
  a2 = arr2 - arr1;
  if ( ! Equal(a1, a2) ) { fail = true;   s += " Subtraction |"; };

  MultArr(arr2, 1.2345);
  a1 = 1.2345*arr1;
  a2 = arr2 - a1;
  if (! Equal(a1, arr2) ) { fail = true;  s += " Const * FArr2D |"; };
  a1 = arr1*1.2345;
  if (! Equal(a1, arr2) ) { fail = true;  s += " FArr2D * Const |"; };

  a1 = arr1 + arr2;
  a2 = 2.2345 * arr1;
  if ( ! Equal(a1, a2) ) { fail = true;   s += " Addition |"; };


  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String FArr2DTestSwap()
{
  String s = "", ss = "FArr2D Test Swap";
  bool fail = false;
  double t;
  int n = 5, m = 6;

  FArr2D a1(n,m);
  FArr2D a2(n,m);

  RandArr(a1,-1.0,1.0);

  a2 = a1;

  a1.swap1(2,4);
  for (int k = a2.L2(); k<= a2.H2(); k++)
  {
    t = a2(2,k);
    a2(2,k) = a2(4,k);
    a2(4,k) =t;
  };
  if ( ! Equal(a1, a2) ) { fail = true;   s += " swap1 |"; };

  a1.swap2(2,4);
  for (int k = a2.L1(); k<= a2.H1(); k++)
  {
    t = a2(k,2);
    a2(k,2) = a2(k,4);
    a2(k,4) =t;
  };
  if ( ! Equal(a1, a2) ) { fail = true;   s += " swap2 |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String FArr1D2DTest()
{
  String s = "", ss = "FArr1D2D Test";
  bool fail = false;
  int i1, i2, n = 3, m = 4;

  FArr2D a1(n,m);
  FArr1D v1(m);
  FArr1D v2(n);
  FArr1D u2(n);

  RandArr(a1,-1.0,1.0);
  RandArr(v1,-1.0,1.0);
  u2 = a1 * v1;
  v2 = MxV(a1, v1);
  if (! Equal(u2, v2) ) { fail = true;  s += " FArr2D * FArr1D |"; };

  FArr2D a2(m,n);
  FArr2D b1(n,n);
  FArr2D b2(n,n);

  RandArr(a2,-1.0,1.0);
  b1 = a1*a2;
  b2 = MxM(a1,a2);
  if (! Equal(b1, b2) ) { fail = true;  s += " FArr2D * FArr2D |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String ObjTest()
{
  String s = "", ss = "Obj Test";
  bool fail = false;
  int i1, i2, n = 3;

  FArr2D a1(n,n);
  FArr1D v1(n);
  RandArr(a1,-1.0,1.0);
  RandArr(v1,-1.0,1.0);

  container c(n);

  c.v = v1;
  if (! Equal(c.v, v1) ) { fail = true;  s += " FArr1D |"; };
  c.m = a1;
  if (! Equal(c.m, a1) ) { fail = true;  s += " FArr2D |"; };

  container* pc = new container(n);
  pc->v(1) = 2.0;
  pc->m = a1;
  delete pc;

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String ObjTest2()
{
  String s = "", ss = "Obj Test 2";
  bool fail = false;
  int i1 = 2, n = 3;
  double x1, x2;
  FArr1D v1(n);

  x1 = 1.0/3.0;
  v1(i1) = x1;
  x2 = GetValue(v1, i1);
  if (! Equal(x1, x2) ) { fail = true;  s += " GetValue |"; };

  v1(i1) = 0.0;
  SetValue(v1, i1, x1);
  if (! Equal(x1, v1(i1) ) ) { fail = true;  s += " SetValue |"; };

  x2 = GetValue(v1, i1);
  if (! Equal(x1, x2) ) { fail = true;  s += " Set/Get Value |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String MiscTests()
{
  FArr2D a2, a3;
  String s = "", ss = "MiscTests";
  bool fail = false;
  int m = 2, n = 3;

  FArr2D a1(n,m);
  RandArr(a1,-1.0,1.0);
  a2 = MT(a1);
  a3 = MT(a2);

  if (! Equal(a3, a1) ) { fail = true;  s += " ( a^T )^T |"; };

  double y;
  y = sign( 2.2, 3.3);
  if (! Equal( 2.2, y) ) { fail = true;  s += " sign(2.2,3.3) |"; };
  y = sign(-2.2, 3.3);
  if (! Equal( 2.2, y) ) { fail = true;  s += " sign(-2.2,3.3) |"; };
  y = sign( 2.2,-3.3);
  if (! Equal(-2.2, y) ) { fail = true;  s += " sign(2.2,-3.3) |"; };
  y = sign(-2.2,-3.3);
  if (! Equal(-2.2, y) ) { fail = true;  s += " sign(-2.2,-3.3) |"; };

  y = max1(-2.2,3.3);
  if (! Equal(3.3, y) ) { fail = true;  s += " max1(-2.2,3.3) |"; };
  y = min1(-2.2,3.3);
  if (! Equal(-2.2, y) ) { fail = true;  s += " min1(-2.2,3.3) |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};

String IArr1DTest()
{
  String s = "", ss = "IArr1D Test";
  bool fail = false;
  int n = 5;

  IArr1D a1(n);
  IArr1D a2(n);
//  IArr1D arr1(n);
//  IArr1D arr2(n);

  RandArr(a1,-9,9);
  a1(2) = 11;
  a2 = a1;
  if ( ! Equal(a1, a2) ) { fail = true;   s += " Assignment |"; };

  a1.swap1(2,4);
  int temp = a2(2);
  a2(2) = a2(4);
  a2(4) = temp;
  if ( ! Equal(a1, a2) ) { fail = true;   s += " Swap |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};
/*
String LinAlgTest()
{
  String s = "", ss = "LinAlg Test";
  bool fail = false;
  int n = 5;

  FArr1D a(n);
  FArr1D b(n);
  FArr1D c(n);
  FArr1D d(n);
  FArr1D e(n);

  a.fill(-1.0);
  b.fill(-2.0);
  d.fill(4.0);
  for(int i =1; i<=n;i++) e(i) = double(i);
  for(int i =1; i<=n;i++) c(i) = double(i+1);  c(5) = 12.0;
  strid(b, d, a, c);
  if ( ! Equal(c, e) ) { fail = true;   s += " strid |"; };

  FArr2D m(n,n+1);
  for(int i =1; i<=n;i++) { m(i,i) = 4.0; m(i,n+1) = double(i+1); };
  m(5,6) = 12.0;
  for(int i =1; i< n;i++) {m(i,i+1) = -1.0;  m(i+1,i) = -2.0;};
  fail = !GaussD(m);
  if (fail) {s += " GaussD-singular |"; };
  for(int i =1; i<=n;i++) c(i) = m(i,n+1);
  if ( ! Equal(c, e) ) { fail = true;   s += " GaussD |"; };

  for(int i =1; i<=n;i++) { m(i,i) = 4.0; m(i,n+1) = double(i+1); };
  m(5,6) = 12.0;
  for(int i =1; i< n;i++) {m(i,i+1) = -1.0;  m(i+1,i) = -2.0;};
  fail = !GaussP(m);
  if (fail) {s += " GaussP-singular |"; };
  for(int i =1; i<=n;i++) c(i) = m(i,n+1);
  if ( ! Equal(c, e) ) { fail = true;   s += " GaussP |"; };

  FArr2D q(n,n);
  int err;
  double x = 0.1;
  for(int i =1; i<=n;i++)
    { q(i,i) = 4.0; b(i) = double(i+1); c(i) = e(i) + x; x = -x; };
  b(5) = 12.0;
  for(int i =1; i< n;i++) {q(i,i+1) = -1.0;  q(i+1,i) = -2.0;};
  JacobiIter(q, c, b, 1.0e-6, err);
  if ( ! Equal(c, e,1.1e-6) ) { fail = true;   s += " JacobiIter |"; };

  FArr1D r(n);
  x = 0.1;
  for(int i =1; i<=n;i++)
    { q(i,i) = 4.0; b(i) = double(i+1); c(i) = e(i) + x; x = -x; };
  b(5) = 12.0;
  c.fill(0.0);
  for(int i =1; i< n;i++) {q(i,i+1) = -1.0;  q(i+1,i) = -2.0;};
  fail = !ConjGrad(q, b, c, 1.0e-8);
  if (fail) {s += " ConjGrad: Iter > IterMax |"; };
  if ( ! Equal(c, e,1.1e-4) ) { fail = true;   s += " ConjGrad |"; };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
};
*/
String FArr3DTest()
{
  String s = "", ss = "FArr3D Test";
  bool fail = false;
  double x1, x2;
  int d1 = 5, d2 = 3, d3 = 4;

  FArr3D a3(d1,d2,d3);
  FArr3D a33(d1,d2,d3);

  FArr2D a22(d2,d3);
  FArr2D a2(d2,d3);

  for(int i1=1; i1<=d1; i1++)
  {
    RandArr(a2,-1.0,1.0);
    a3.SetFArr2D(i1,a2);
    a3.GetFArr2D(i1,a22);
    if ( ! Equal(a22, a2) ) { fail = true;   s.cat_sprintf(" Get/Set i= %d", i1); };
  };
  x1 = 1.23456789;
  a3(4,2,3) = x1;
  x2 = a3(4,2,3);
  if ( ! Equal(x1, x2) ) { fail = true;   s.cat_sprintf(" Element"); };

  a33 = a3;
  for(int i1=1; i1<=d1; i1++)
  {
    a33.GetFArr2D(i1,a22);
    a3.GetFArr2D(i1,a2);
    if ( ! Equal(a22, a2) ) { fail = true;   s.cat_sprintf(" Assign i= %d", i1); };
  };

  if (fail) ss += " FAIL:" + s;
  else ss += " - OK";
  return ss;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久岛国免费| 久久久国产精品麻豆| 国产精品资源站在线| 亚洲一二三四区| 国产人成一区二区三区影院| 在线观看成人小视频| 国产成人在线影院| 五月婷婷综合激情| 中文字幕一区免费在线观看| 久久先锋影音av| 欧美男女性生活在线直播观看| 成人丝袜高跟foot| 蜜桃91丨九色丨蝌蚪91桃色| 香蕉久久一区二区不卡无毒影院| 国产精品久久久久9999吃药| 精品久久久网站| 91精品国产黑色紧身裤美女| 在线这里只有精品| 91一区一区三区| 成人免费视频视频| 国产一区二区不卡在线| 日本不卡高清视频| 日本伊人午夜精品| 天堂一区二区在线| 一区二区三区在线免费播放| 亚洲三级电影网站| 中文字幕一区在线观看| 国产精品无人区| 欧美国产一区二区| 中文字幕乱码亚洲精品一区 | 欧美不卡123| 欧美色老头old∨ideo| 日本丰满少妇一区二区三区| 91丨九色丨蝌蚪富婆spa| 成人黄色大片在线观看| zzijzzij亚洲日本少妇熟睡| 成人综合在线网站| 99久久99久久精品免费观看 | 午夜精品一区在线观看| 亚洲午夜久久久久久久久电影院| 依依成人精品视频| 亚洲精品美国一| 亚洲一区二区三区四区的| 亚洲综合免费观看高清完整版在线| 亚洲免费观看在线视频| 一区二区国产盗摄色噜噜| 一片黄亚洲嫩模| 午夜一区二区三区视频| 石原莉奈在线亚洲二区| 天天综合日日夜夜精品| 首页综合国产亚洲丝袜| 激情综合色播激情啊| 国产精品99久久不卡二区| 成人午夜在线免费| 色妞www精品视频| 欧美性生活大片视频| 欧美一区二区三区在线看| 精品国产乱子伦一区| 国产人成亚洲第一网站在线播放 | 夜夜精品浪潮av一区二区三区| 亚洲国产sm捆绑调教视频 | 99精品热视频| 欧美日本一区二区在线观看| 日韩精品专区在线影院观看 | 日韩毛片视频在线看| 一区二区三区91| 久久综合综合久久综合| 成人午夜私人影院| 欧美中文字幕一二三区视频| 91精品国产91久久久久久最新毛片| 日韩色视频在线观看| 中文字幕av在线一区二区三区| 一区二区三区欧美在线观看| 人人超碰91尤物精品国产| 国产精品18久久久| 精品视频在线视频| 久久久天堂av| 亚洲一区二区三区精品在线| 久久97超碰国产精品超碰| av一区二区不卡| 欧美一区二区视频在线观看2022| 欧美激情一区二区三区在线| 亚洲成人7777| 从欧美一区二区三区| 欧美视频中文一区二区三区在线观看| 欧美精品一区二区不卡| 亚洲欧美成人一区二区三区| 久久99精品国产麻豆不卡| 一本色道久久加勒比精品| 精品福利一二区| 亚洲制服丝袜在线| 久久国内精品自在自线400部| 99精品视频在线观看| 日韩精品一区二区三区四区 | 国内欧美视频一区二区| 色噜噜夜夜夜综合网| xnxx国产精品| 首页综合国产亚洲丝袜| 色综合天天综合在线视频| 日韩欧美国产wwwww| 一区二区三区中文在线观看| 久久国产综合精品| 欧美亚洲禁片免费| 国产精品久久影院| 国产在线精品免费| 91精品国产入口| 一区二区理论电影在线观看| 成人福利视频在线看| 久久亚洲欧美国产精品乐播| 日韩精品91亚洲二区在线观看 | 成人美女在线观看| 欧美sm美女调教| 亚洲成人综合网站| 91免费在线看| 国产精品美女久久久久久久网站| 韩国一区二区三区| 日韩一区二区三区高清免费看看| 性做久久久久久免费观看| 日本道免费精品一区二区三区| 亚洲国产精品二十页| 国产成人在线观看| 久久久久久一二三区| 狠狠狠色丁香婷婷综合激情| 日韩欧美成人激情| 日韩精品电影一区亚洲| 欧美日本乱大交xxxxx| 亚洲成人777| 欧美精品一级二级三级| 亚洲丶国产丶欧美一区二区三区| 一本大道久久a久久综合婷婷| 亚洲手机成人高清视频| 97久久精品人人做人人爽| 亚洲婷婷综合色高清在线| 99精品欧美一区| 自拍偷在线精品自拍偷无码专区 | 日韩精品一区二区三区中文精品 | av网站免费线看精品| 国产精品亲子乱子伦xxxx裸| 成人91在线观看| 国产精品久久久久久久第一福利 | 国产免费观看久久| 福利电影一区二区三区| 国产精品伦理一区二区| 成人激情黄色小说| 亚洲天堂2016| 欧美又粗又大又爽| 日日欢夜夜爽一区| 精品国产三级电影在线观看| 国产一区二区0| 中文字幕中文在线不卡住| 99这里只有久久精品视频| 一区二区三区小说| 欧美日韩国产高清一区| 秋霞成人午夜伦在线观看| 欧美成人官网二区| 粉嫩一区二区三区在线看| 亚洲乱码国产乱码精品精小说| 在线免费视频一区二区| 秋霞国产午夜精品免费视频| 国产婷婷色一区二区三区四区 | 亚洲一区国产视频| 日韩一区二区三区三四区视频在线观看 | 久久精品久久综合| 久久久久久久久久久电影| 91在线视频播放| 视频在线观看一区二区三区| 久久看人人爽人人| 色偷偷久久人人79超碰人人澡| 日韩影院在线观看| 中文在线一区二区| 欧美精品乱码久久久久久按摩 | 久久国产精品区| 亚洲视频你懂的| 欧美一级黄色片| 成人18精品视频| 秋霞av亚洲一区二区三| 国产精品国产三级国产a| 欧美日韩国产a| 国产成人精品影院| 午夜精品久久久久久久| 国产日本欧美一区二区| 欧美久久免费观看| 国产精品一区一区| 婷婷中文字幕一区三区| 国产精品日产欧美久久久久| 91精品国产入口| 91色.com| 国产激情视频一区二区三区欧美 | 欧美日韩一区 二区 三区 久久精品| 久国产精品韩国三级视频| 亚洲免费色视频| 久久婷婷成人综合色| 777a∨成人精品桃花网| 白白色 亚洲乱淫| 国产综合久久久久影院| 亚洲sss视频在线视频| 国产精品免费av| 久久一区二区三区国产精品| 欧美三级韩国三级日本三斤| 成人午夜精品在线|