# Documentation for \`blasfunc\` and \`@blasfunc\`

**URL:** <https://discourse.julialang.org/t/documentation-for-blasfunc-and-blasfunc/7801>\
**Category:** General Usage\
**Tags:** question\
**Created:** [December 16, 2017, 2:26am UTC](https://discourse.julialang.org/t/documentation-for-blasfunc-and-blasfunc/7801 "2017-12-16T02:26:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![chobbes](https://avatars.discourse-cdn.com/v4/letter/c/848f3c/32.png) [@chobbes](https://discourse.julialang.org/u/chobbes)\
**Post date:** [December 16, 2017, 2:26am UTC](https://discourse.julialang.org/t/documentation-for-blasfunc-and-blasfunc/7801/1 "2017-12-16T02:26:11Z")

</div>

They both live in `Base.BLAS`. But I just couldn’t find the doc for either of them [here](https://docs.julialang.org/en/stable/stdlib/linalg/#BLAS-Functions-1) or even the entire site of Julia Doc. Any pointer is much appreciated!!

---

<div class="post-metadata">

**Author:** ![stillyslalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stillyslalom/32/45687_2.png) [@stillyslalom](https://discourse.julialang.org/u/stillyslalom)\
**Post date:** [December 16, 2017, 6:17am UTC](https://discourse.julialang.org/t/documentation-for-blasfunc-and-blasfunc/7801/2 "2017-12-16T06:17:52Z")

</div>

[`@blasfunc`](https://github.com/JuliaLang/julia/blob/f06f33c34812cba855ec528762654c88b3afe1a0/base/linalg/blas.jl#L86) is a simple macro which returns a quoted symbol of the argument, with `_64` appended if your Julia installation uses the 64-bit OpenBLAS library. It allows developers to eliminate the identical boilerplate that’d otherwise be required to handle both 32 and 64-bit OpenBLAS installations. It’s of little relevance to anybody but `Base.BLAS` developers.

```julia
if vendor() == :openblas64
    macro blasfunc(x)
        return Expr(:quote, Symbol(x, "64_"))
    end
else
    macro blasfunc(x)
        return Expr(:quote, x)
    end
end

```

```julia
julia> @blasfunc some_expr
Symbol("some_expr64_")

```

---

<div class="post-metadata">

**Author:** ![chobbes](https://avatars.discourse-cdn.com/v4/letter/c/848f3c/32.png) [@chobbes](https://discourse.julialang.org/u/chobbes)\
**Post date:** [December 16, 2017, 6:28am UTC](https://discourse.julialang.org/t/documentation-for-blasfunc-and-blasfunc/7801/3 "2017-12-16T06:28:29Z")

</div>

Thanks for the hint!!

---

<div class="post-metadata">

**Author:** ![Skoffer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/skoffer/32/378_2.png) [@Skoffer](https://discourse.julialang.org/u/Skoffer)\
**Post date:** [December 16, 2017, 3:27pm UTC](https://discourse.julialang.org/t/documentation-for-blasfunc-and-blasfunc/7801/4 "2017-12-16T15:27:35Z")

</div>

You can search through source code with something like

```julia
julia> @less @Base.BLAS.blasfunc("some_expr64_")

```

---

<div class="post-metadata">

**Author:** ![chobbes](https://avatars.discourse-cdn.com/v4/letter/c/848f3c/32.png) [@chobbes](https://discourse.julialang.org/u/chobbes)\
**Post date:** [December 16, 2017, 11:11pm UTC](https://discourse.julialang.org/t/documentation-for-blasfunc-and-blasfunc/7801/5 "2017-12-16T23:11:57Z")

</div>

Thanks! But it unloads me tons of doc, some of which is totally irrelevant.
