<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Carl,<br><br>  I have not got a chance to check on your code.  I am basically still working to see if the BLAS binding can pass the standard test suite.  Unfortunately, the suite was in FORTRAN (written in 70s).  And I have wasted so much time trying to cheat it by using f2c.  But some BLAS still failed the test and f2c doesn't support 64 bit integer, so I have no choice but to hack the FORTRAN code to call SaC directly.  It'll take sometime but I'll get it done. <br><br>  Anyway, thanks for your help.<br><br>Salem<br><br>--- On <b>Mon, 8/23/10, Carl Alan Joslin <i><carl.joslin@joslinfamily.co.uk></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Carl Alan Joslin <carl.joslin@joslinfamily.co.uk><br>Subject: Re: [sac-user] Need more help on
 pass by reference<br>To: "sac user mailing list" <sac-user@sac-home.org><br>Date: Monday, August 23, 2010, 7:27 AM<br><br><div class="plainMail">Hello Salem<br><br>Over the weekend I produce an example for you that adds to vectors,<br>making use of the advanced C interface.  The main advantage is that this<br>saves on potential copying and memory allocation.<br><br>The function takes 2 double vectors and adds them together, trying to<br>reuse the memory of one of the vectors if it can.<br><br>The code assumes that the two vectors are the same length.<br><br>I do not know if it will be help full.<br><br>Carl<br><br>On Sat, 2010-08-21 at 20:35 -0700, Salem Reyen wrote:<br>> I have a C function which adds two double precision vectors, ie, <br>> add(double* X, double *Y, double* Z) where vectors X and Y are<br>> the input vectors and Z is the output vector.  In SaC, I declare<br>> A, B, C to be double precision vectors.<br>>
 <br>> Based on Bodo's example, I can declare<br>> <br>> external double[.] add(double[.] X, double[.] Y, double[.] Z);<br>> #pragma linksign[3,1,2,3]<br>> <br>> And then I can call the function add for C = A + B by<br>> C = add(A, B, C);<br>> <br>> Now my question is how can SaC compiler handle the cases such as<br>> A = A + B and A = A + A?<br>> <br>> Salem<br>> <br>> <br>> <br>> <br>> _______________________________________________<br>> sac-user mailing list<br>> <a ymailto="mailto:sac-user@sac-home.org" href="/mc/compose?to=sac-user@sac-home.org">sac-user@sac-home.org</a><br>> <a href="http://lists.sac-home.org/mailman/listinfo.cgi/sac-user" target="_blank">http://lists.sac-home.org/mailman/listinfo.cgi/sac-user</a><br><br></div><br>-----Inline Attachment Follows-----<br><br><div class="plainMail">_______________________________________________<br>sac-user mailing list<br><a
 ymailto="mailto:sac-user@sac-home.org" href="/mc/compose?to=sac-user@sac-home.org">sac-user@sac-home.org</a><br><a href="http://lists.sac-home.org/mailman/listinfo.cgi/sac-user" target="_blank">http://lists.sac-home.org/mailman/listinfo.cgi/sac-user</a><br></div></blockquote></td></tr></table><br>