<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: LAPACK LOGICAL arguments on 32- or 64-bit platforms in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890544#M10405</link>
    <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/367365"&gt;tim18&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
int * does make more sense than void *, so I agree we should have an explanation from the maintainers.&lt;BR /&gt;On the 32-bit platforms, int * and long * are of course the same, and Fortran default logical is a 32-bit type for 64-bit also. For completeness, it would be good to confirm whether it becomes a 64-bit type in the ilp64 library.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Yes, that is the, er, 64-dollar question.&lt;BR /&gt;</description>
    <pubDate>Tue, 03 Mar 2009 21:12:58 GMT</pubDate>
    <dc:creator>johnwavemetrics_com</dc:creator>
    <dc:date>2009-03-03T21:12:58Z</dc:date>
    <item>
      <title>LAPACK LOGICAL arguments on 32- or 64-bit platforms</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890542#M10403</link>
      <description>Please pardon me if this is elementary...&lt;BR /&gt;&lt;BR /&gt;I'm trying to figure out what C/C++ type to use for LAPACK arguments that are billed as "LOGICAL". These are mostly bwork arrays, but also include selector arguments. I need to know this for building both 32-bit and 64-bit versions of our application.&lt;BR /&gt;&lt;BR /&gt;The old f2c definition is as a long, but that isn't consistent on 64-bit platforms. Apple defines these arguments as long for 32-bit platforms and int on 64-bit.&lt;BR /&gt;&lt;BR /&gt;The mkl_lapack.h header file has void * for those arguments, so it provides no guidance.</description>
      <pubDate>Mon, 02 Mar 2009 22:08:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890542#M10403</guid>
      <dc:creator>johnwavemetrics_com</dc:creator>
      <dc:date>2009-03-02T22:08:51Z</dc:date>
    </item>
    <item>
      <title>Re: LAPACK LOGICAL arguments on 32- or 64-bit platforms</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890543#M10404</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/406593"&gt;johnwavemetrics.com&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;I'm trying to figure out what C/C++ type to use for LAPACK arguments that are billed as "LOGICAL". These are mostly bwork arrays, but also include selector arguments. I need to know this for building both 32-bit and 64-bit versions of our application.&lt;BR /&gt;&lt;BR /&gt;The old f2c definition is as a long, but that isn't consistent on 64-bit platforms. Apple defines these arguments as long for 32-bit platforms and int on 64-bit.&lt;BR /&gt;&lt;BR /&gt;The mkl_lapack.h header file has void * for those arguments, so it provides no guidance.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
int * does make more sense than void *, so I agree we should have an explanation from the maintainers.&lt;BR /&gt;On the 32-bit platforms, int * and long * are of course the same, and Fortran default logical is a 32-bit type for 64-bit also. For completeness, it would be good to confirm whether it becomes a 64-bit type in the ilp64 library.&lt;BR /&gt;</description>
      <pubDate>Mon, 02 Mar 2009 22:31:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890543#M10404</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2009-03-02T22:31:00Z</dc:date>
    </item>
    <item>
      <title>Re: LAPACK LOGICAL arguments on 32- or 64-bit platforms</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890544#M10405</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/367365"&gt;tim18&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
int * does make more sense than void *, so I agree we should have an explanation from the maintainers.&lt;BR /&gt;On the 32-bit platforms, int * and long * are of course the same, and Fortran default logical is a 32-bit type for 64-bit also. For completeness, it would be good to confirm whether it becomes a 64-bit type in the ilp64 library.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Yes, that is the, er, 64-dollar question.&lt;BR /&gt;</description>
      <pubDate>Tue, 03 Mar 2009 21:12:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890544#M10405</guid>
      <dc:creator>johnwavemetrics_com</dc:creator>
      <dc:date>2009-03-03T21:12:58Z</dc:date>
    </item>
    <item>
      <title>Re: LAPACK LOGICAL arguments on 32- or 64-bit platforms</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890545#M10406</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/406593"&gt;johnwavemetrics.com&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Please pardon me if this is elementary...&lt;BR /&gt;&lt;BR /&gt;I'm trying to figure out what C/C++ type to use for LAPACK arguments that are billed as "LOGICAL". These are mostly bwork arrays, but also include selector arguments. I need to know this for building both 32-bit and 64-bit versions of our application.&lt;BR /&gt;&lt;BR /&gt;The old f2c definition is as a long, but that isn't consistent on 64-bit platforms. Apple defines these arguments as long for 32-bit platforms and int on 64-bit.&lt;BR /&gt;&lt;BR /&gt;The mkl_lapack.h header file has void * for those arguments, so it provides no guidance.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;The type LOGICAL for LAPACK arguments is equivalent to the type INTEGER by size. INTEGER typeis mapped onto C types this way: for 32-bitplatform it's 'int' or 'long' - doesn't matter(32-bit long), for 64-bit platform it's either 'int' (32-bit long) in case of LP64 model, which you apparently use, or 64-bit integer type - 'long' in Linux/MacOS, 'long long' in Windows (they treat 'long' as 32-bit by some reason) or substitutes- in case of ILP64 model.&lt;BR /&gt;&lt;BR /&gt;Using void* for logical arguments is inapropriate indeed, please indicate which function and argument has the wrong prototype.&lt;BR /&gt;&lt;BR /&gt;Thanks, Michael.</description>
      <pubDate>Wed, 04 Mar 2009 11:22:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890545#M10406</guid>
      <dc:creator>Michael_C_Intel4</dc:creator>
      <dc:date>2009-03-04T11:22:59Z</dc:date>
    </item>
    <item>
      <title>Re: LAPACK LOGICAL arguments on 32- or 64-bit platforms</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890546#M10407</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/337852"&gt;Michael Chuvelev (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;The type LOGICAL for LAPACK arguments is equivalent to the type INTEGER by size. INTEGER typeis mapped onto C types this way: for 32-bitplatform it's 'int' or 'long' - doesn't matter(32-bit long), for 64-bit platform it's either 'int' (32-bit long) in case of LP64 model, which you apparently use, or 64-bit integer type - 'long' in Linux/MacOS, 'long long' in Windows (they treat 'long' as 32-bit by some reason) or substitutes- in case of ILP64 model.&lt;BR /&gt;&lt;BR /&gt;Using void* for logical arguments is inapropriate indeed, please indicate which function and argument has the wrong prototype.&lt;BR /&gt;&lt;BR /&gt;Thanks, Michael.&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Um, all of them?&lt;BR /&gt;&lt;BR /&gt;Truly, I looked through mkl_lapack.h and find void * for LOGICAL everywhere I looked. Search for either "select" or "bwork" and you will find void *.&lt;BR /&gt;</description>
      <pubDate>Fri, 06 Mar 2009 01:01:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/LAPACK-LOGICAL-arguments-on-32-or-64-bit-platforms/m-p/890546#M10407</guid>
      <dc:creator>johnwavemetrics_com</dc:creator>
      <dc:date>2009-03-06T01:01:00Z</dc:date>
    </item>
  </channel>
</rss>

