From owner-FreeBSD-users-jp@jp.freebsd.org  Sun Jul  6 22:33:08 1997
Received: by jaz.jp.freebsd.org (8.8.6+2.7Wbeta5/8.7.3) id WAA26155
	Sun, 6 Jul 1997 22:33:08 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.6+2.7Wbeta5/8.7.3) with ESMTP id WAA26150
	for <FreeBSD-users-jp@jp.freebsd.org>; Sun, 6 Jul 1997 22:33:07 +0900 (JST)
Received: (from tabuchi@localhost) by mars.numse.nagoya-u.ac.jp (8.8.5/3.4Wbeta696030918) id WAA00886; Sun, 6 Jul 1997 22:36:08 +0900 (JST)
Date: Sun, 6 Jul 1997 22:36:08 +0900 (JST)
From: Masao Tabuchi <tabuchi@mars.numse.nagoya-u.ac.jp>
Message-Id: <199707061336.WAA00886@mars.numse.nagoya-u.ac.jp>
To: FreeBSD-users-jp@jp.freebsd.org
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-users-jp 15366
Subject: [FreeBSD-users-jp 15366] How do I compile a program with 'complex'?
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org


  $BL>8E20Bg3X$NED^<$H8@$$$^$9!#(B

  g++ $B$GJ#AG?t$N07$$$G:$$C$F$$$^$9!#(B

  $B$3$3$G$*?R$M$9$k$N$,@5$7$$$+$I$&$+$o$+$i$J$$$G$9$,!"(B
  $BG'<1$H$7$F$O!"(B2.1.0 --> 2.2.1 $B$K>e$2$?;~$N(B
  gcc $B$N%P!<%8%g%s%"%C%W$KBP1~$7$?LdBj$@$H;W$C$F$$$^$9!#(B

  $B$I$J$?$+AjCL$K$N$C$FD:$1$J$$$G$7$g$&$+!"(B
  $B59$7$/$*4j$$CW$7$^$9!#(B

-----------------------------------------------------------------
#include <complex.h>

typedef struct{
    complex<double> m00, m01;
    complex<double> m10, m11;
} matrix;

matrix mul( matrix M1, matrix M2 )
{
  matrix M;

  M.m00 = M1.m00 * M2.m00 + M1.m01 * M2.m10;
  M.m01 = M1.m00 * M2.m01 + M1.m01 * M2.m11;
  M.m10 = M1.m10 * M2.m00 + M1.m11 * M2.m10;
  M.m11 = M1.m10 * M2.m01 + M1.m11 * M2.m11;
  
  return M;
}
-----------------------------------------------------------------

  $B$H8@$&$N$r4^$s$@%W%m%0%i%`$r=q$-!"(B

  g++ -o test test.c -lm 

  $B$G%3%s%Q%$%k$7$h$&$H$9$k$H!"(B
  $BBeF~$r4^$s$@(B 4 $B9T$KBP1~$7$F!"(B

-----------------------------------------------------------------
/var/tmp/cc0008101.o: Undefined symbol `___pl__FRCt7complex1ZdT0' referenced from text segment
/var/tmp/cc0008101.o: Undefined symbol `___pl__FRCt7complex1ZdT0' referenced from text segment
/var/tmp/cc0008101.o: Undefined symbol `___pl__FRCt7complex1ZdT0' referenced from text segment
/var/tmp/cc0008101.o: Undefined symbol `___pl__FRCt7complex1ZdT0' referenced from text segment
-----------------------------------------------------------------

  $B$H$$$&%(%i!<$,=P$^$9!#(B
  $BBeF~$7$F$$$k9T$r0l$D%3%a%s%H$K$9$k$H0l$D%(%i!<$,>C$($^$9$N$G!"(B
  $BBP1~4X78$O4V0c$$$J$$$H;W$$$^$9!#(B

  $B;O$a$O!"9=B$BN$NMWAG$X$NBeF~$GJ86g$r8@$o$l$F$$$k$N$+$H;W$$(B
  $B0lIt=q$-49$($F2<$N$h$&$K$7$F8+$?$H$3$m!"(B
  Line 3 $B$N=j$GA4$/F1$8%(%i!<$,=P$^$9!#(B

-----------------------------------------------------------------
matrix mul( matrix M1, matrix M2 )
{
  matrix M;
  complex<double> a;
  complex<double> t1, t2;

  t1 = M1.m00 * M2.m00;                        // Line 1
  t2 = M1.m01 * M2.m10;                        // Line 2
  a = t1 + t2;                                 // Line 3
//M.m00 = M1.m00 * M2.m00 + M1.m01 * M2.m10;
  M.m01 = M1.m00 * M2.m01 + M1.m01 * M2.m11;
  M.m10 = M1.m10 * M2.m00 + M1.m11 * M2.m10;
  M.m11 = M1.m10 * M2.m01 + M1.m11 * M2.m11;
  
  return M;
}
-----------------------------------------------------------------

  $B%W%m%0%i%`Cf$N(B complex<double> $B$r!"A4It(B double $B$KJQ$($k$H(B
  $BLdBj$J$/%3%s%Q%$%k$G$-$k$h$&$K$J$j$^$9!#(B

  $B$H$$$&$3$H$G!"(B
  $B$9$/$J$/$H$b!"$3$3$G$OJ#AG?t$X$NBeF~$,$&$^$/$$$C$F$$$J$$$h$&$K8+$($^$9!#(B

  gcc 2.7 $B$0$i$$$+$iJ#AG?t$N07$$$,JQ$o$C$F$$$k$N$K$O(B
  $B5$$,$D$$$F$$$?$N$G$9$,(B...

  $BJ#AG?t$NBeF~$@$H!"L5>r7o$K$@$a!"$H$$$&$o$1$G$O$J$/!"(B
  $BJ#AG?t$r;H$C$F$$$k%W%m%0%i%`$G$b!"(B
  complex --> complex<double>
  $B$NJQ99$@$1$GLdBj$J$/F0$$$F$$$k$b$N$b$"$j!"(B
  $B$o$1$,$o$+$i$J$/$J$C$F$$$^$9!#(B

  $B$J$*!"(Bg++ $B$G%3%s%Q%$%k$7$F$$$k$N$O!"(B
  complex $B$,%5%]!<%H$5$l$F$$$k$3$H$H!"(B
  // $B7?$N%3%a%s%H$,DL$k$+$i$G!"(B
  $BA4BN$H$7$F$O!"C1$J$k(B C $B$N%9%?%$%k$N%W%m%0%i%`$K$J$C$F$^$9!#(B
  $B$I$&$b!"$=$N$;$$$GH/@8$7$F$$$k%H%i%V%k$NMM$K$b;W$C$F$$$^$9!#(B
