I might be wrong, but isn't that requirement (T===typeof(x)) strictly
mandatory to make diagonal dispatch work? If I define
issametype{T}(x::T, y::T) = true
issametype(x,y) = false
in a world where isa(x,T) is enough, and then call
issametype(1, 1.0)
I would get true because Julia can compile
I like Fortran's annotated end's and would like to see them in Julia.
And it wouldn't break any code as they are voluntary. But yes, the
comments work too which is what I do now.
On Mon, 2014-05-12 at 05:25, naelcml...@gmail.com wrote:
Fortran allows more verbose 'end' statements. For
If you don't need to do anything order-dependent until after the
pop-appending is done, you could probably use cyclic access when
calculating the matrices in your algorithm, and then re-order based on the
number of permutations you've performed. If your algorithm generates N+d
columns, and you
BinDeps.debug(ZMQ) may help? Could use clearer docs.
On Sunday, May 11, 2014 10:29:51 PM UTC-7, Kuba Roth wrote:
Ok, I think I found what actually was happening.
If I have a library already on the system path Pkg skips the building
step. This is fine but the message it gives is kind of
Hello all,
For several years (in the dark Matlab-ages before Julia), I used
matlab2tikzhttps://github.com/nschloe/matlab2tikz to
generate nice looking pdf figures for academic reports. It's a nice tool
and I personally like the idea that my data is exported from matlab to a
.tikz or .tex
I have matrices with some data and want to plot a contour plot, with axes
graded according to accompanying vectors with the grid coordinates for the
data points. What are my options?
I've found the following plotting packages:
- Gadfly.jl https://github.com/dcjones/Gadfly.jl - doesn't seem
Hi,
This is really interesting to me as well. Being able to produce
high-quality plots for academic publication more or less, imho, requires
being able to typeset the textual content of the plot in LaTeX, to get
fonts, font sizes etc to look nice with the rest of the document. There is this
This morning I have been making contour plots and I used PyPlot.jl for that.
2014-05-12 12:11 GMT+02:00 Tomas Lycken tomas.lyc...@gmail.com:
I have matrices with some data and want to plot a contour plot, with axes
graded according to accompanying vectors with the grid coordinates for the
in the winston directory there is a contour.jl, but it looks like it's not
exported.
Ah, I had missed the PyPlot package entirely. Thanks a lot for the pointer!
It will do very nicely for my current purposes.
// T
On Monday, May 12, 2014 1:28:29 PM UTC+2, Andreas Lobinger wrote:
in the winston directory there is a contour.jl, but it looks like it's not
exported.
I'd like to try this out but after fresh install of Lighttable and then
install of Julia plugin using LT's plugin manager I restart LT and get:
Couldn't connect to Julia
ERROR: could not open file /Users/feldt/Library/Application
in include at boot.jl:238
in include_from_node1 at
Hi,
Were you aware that matplotlib itself has a PGF/TikZ backend
http://matplotlib.org/users/pgf.html ?
With it one does not need to use matplotlib2tikz, and one can save plots
either as PFG files, prepared to
be included in some LaTeX document, or directly as PDF.
It took me long time to
On Monday, May 12, 2014 8:38:54 AM UTC-4, Cristóvão Duarte Sousa wrote:
It took me long time to figure out how to properly tell matplotlib (from
within Julia) to use that backend to
save PDF (I had to use PyCall in the end), but since then I've been
successfully using this feature in
Ah, attention that both plt.rc(.. blocks in my examples are
completely optional, I just use them to better match the default LaTeX
visuals.
On Monday, May 12, 2014 1:38:54 PM UTC+1, Cristóvão Duarte Sousa wrote:
Hi,
Were you aware that matplotlib itself has a PGF/TikZ backend
My philosophy is to have a language as simple and concise as possible.
Every optional or alternative term makes it a little harder to read code
written by another person.
Like code folding, hiding of comments, etc, this should be really rather an
IDE feature, so that one can turn it on and off.
Some time ago I wrote a script to use pgfplots from octave/Matlab:
https://bitbucket.org/mbaz/printpgf/src/28cead667bda6ec745a4418bc408f7f712cf8433/inst/printpgf.m
It's very easy to use and I've used it for several publications. I tried it
to make it very easy to perfectly match fonts with the
It would be great if an IDE could add comments after end if the opening of
the block can't fit on the same screen. A code formatter should definitely
implement something like that.
A syntax would be nice, because Julia could issue warnings/errors when the
two come out of sync. It could also
Profile shows the two lines in the function being very expensive. Is
there anything inappropriate? Any way to improve?
function NoUpdate(data::Data)
data.cum[data.i] = data.cum[data.i-1]
data.i += 1
end
type Data
cum::Array{Float32,1}
i::Int32
...
end
Le dimanche 11 mai 2014 à 21:27 -0500, Tim Holy a écrit :
Yes, when reading data from files, where information about the object is
encoded in the file, type stability kinda goes out the window. (We have the
same issue with HDF5, of course.)
But this would mean that functions loading CSV files
Hello,
I've tried installing dataframes on both versions 0.2.1 and 0.3.0 of julia
and I get the same error:
*julia **Pkg.add(DataFrames)*
*INFO: Updating cache of Stats...*
*ERROR: Missing package versions (possible metadata misconfiguration):
Stats v(nothing,v0.2.8)
So I just implemented a version that eliminates the EmptyNode type
It's much faster:
Timing 100 insert operations:
elapsed time: 2.760959719 seconds (176035376 bytes allocated)
Timing 100 random access operations.
elapsed time: 1.424487301 seconds (31994776 bytes allocated)
Timing
There's nothing specifically wrong with those two lines, but it's a little
hard to guess how you're using them. Are you calling the function once, or
in a loop? Is this version of the function identical to the one you
profiled, or was it cut down to be minimal?
if you provide more context, it's
On Thursday, May 8, 2014 1:11:34 PM UTC-4, Adam Smith wrote:
As an aside, I'm really not sure why I didn't understand macros better
until Pierre's comment; I had read the metaprogramming
docshttp://julia.readthedocs.org/en/latest/manual/metaprogramming/ multiple
times. I'm only mentioning
For access and remove, that is like 30 bytes per op so its probably not
actually allocating memory in the malloc() sense.
And the memory usage when you are growing it seems proportional too.
How does code_llvm look?
On Monday, May 12, 2014 10:12:47 AM UTC-4, Yuri Vishnevsky wrote:
So I just
see here:
https://gist.github.com/skariel/da85943803a6f57a52fd
it implements fast and robust 2D and 3D orientation and in-circle tests
according to the algorithms described in this paper:
http://arxiv.org/abs/0901.4107
i.e. calculate using regular Floats while constraining the error. If in
On Sunday, May 11, 2014 12:55:47 PM UTC-5, Stefan Karpinski wrote:
I find this kind of amusing:
You may have heard before that R is a vectorized language, but what do we
mean by that? One way to read that is to say that many functions in R can
operate efficiently on vectors (in addition to
p.s. I implemented this some time ago (a few years?) using golang, you can
see some demo here:
https://www.youtube.com/watch?v=dfx1QA3n2xYlist=UUrqGGYkH7y1W8yH1MbxLXYg
and using Julia it was much more pleasant... of course I still have to do
all the Voronoi stuff which is really the hard part
Hi Andrew,
Mathis happened because Stats was renamed to StatsBase a while back, and a
dummy Stats package was put in it's place, with a different history.
A solution which has worked in the past was to delete ~/.julia/v0.x/Stats
(or maybe just ~/.julia/Stats if you haven't upgraded.)
Cheers,
Are you on 32 bit or 64 bit? If 64, an Int32 +/- 1 generates an Int64. Why not
just declare i to be an Int?
--Tim
On Monday, May 12, 2014 09:53:50 PM cnbiz850 wrote:
Profile shows the two lines in the function being very expensive. Is
there anything inappropriate? Any way to improve?
Thanks for the response.
It is called in a loop. The function profiled is exactly as I showed
here. The profile section is as follows:
6449 ...ies/Gen13.jl; GenMC13; line: 176
4751 ...es/Tools.jl; NoUpdate; line: 224
829 ...es/Tools.jl; NoUpdate; line:
Hi Steven,
According to http://matplotlib.org/users/pgf.html one has to do
matplotlib.use('pgf')
or
from matplotlib.backends.backend_pgf import FigureCanvasPgf
matplotlib.backend_bases.register_backend('pdf', FigureCanvasPgf)
Both work as expected in Python. In Julia the first one done as
I am on 64bits Ubuntu. Should I better not use type 32 (Float32, Int32
etc.) on 64bit system?
On 05/12/2014 10:23 PM, Tim Holy wrote:
Are you on 32 bit or 64 bit? If 64, an Int32 +/- 1 generates an Int64. Why not
just declare i to be an Int?
--Tim
On Monday, May 12, 2014 09:53:50 PM
Cool stuff, and rather a large number of calculations. In developing that,
typos would have cost me hours :).
One thought: can you make the interface more intuitive with a couple of well-
chosen immutables? I'm thinking of a SphereN (N = 2 or 3) type that you define
with the first nd+1 points,
Float32 is fine, although better would be to make Data a parametric type:
type Data{T:FloatingPoint}
cum::Array{T, 1}
i::Int
end
With integers, it's best to use Int because that will ensure you're using
native arithmetic, no matter which platform you're on. Int = Int32 on 32-bit,
Int =
Sigh. Still haven't learned to proofread *before* hitting send.
On Monday, May 12, 2014 9:20:13 AM UTC-5, Douglas Bates wrote:
I must admit that was my reaction too when I saw those posts. If I wanted
to come up with an example of a problem showing why forced vectorization (R
does not
Hi Kevin,
My ~/.julia directory doesn't contain Stats.
I tried deleting the entire ~/.julia directory, then reinstalling
everything. I think I could have gotten away with only deleting
~/.julia/METADATA/Stats, but I've only been using julia for a few days, so
I didn't lose anything.
Hi,
Has anyone tried to configure and run julia on an intel xeon phi
coprocessor?
Any hints would be very helpful , how to run parallel on intel's phi cores.
Thank you.
Two corrections to a single posting. A sure sign of Monday morning.
On Monday, May 12, 2014 9:20:13 AM UTC-5, Douglas Bates wrote:
I think there is a possible enhancement in that once you know c[n] you can
fill in c[n]*2^k until that product is m.
And what I meant was c[n*2^k]?
A couple
DBI isn't released yet.
-- John
On May 12, 2014, at 7:52 AM, Andrew B. Martin
andrew.brown.mar...@gmail.com wrote:
Hi Kevin,
My ~/.julia directory doesn't contain Stats.
I tried deleting the entire ~/.julia directory, then reinstalling everything.
I think I could have gotten away
Thanks for the patch! I commented on the PR.
On Monday, May 12, 2014 10:16:16 AM UTC-4, Matt Bauman wrote:
On Thursday, May 8, 2014 1:11:34 PM UTC-4, Adam Smith wrote:
As an aside, I'm really not sure why I didn't understand macros better
until Pierre's comment; I had read the
Okay. I guess OBCD it is then.
I see that the following is a common idiom in Julia:
...
flag = true
...
flag (x = rand(2,2))
...
which is very handy and concise, but seems to contradict the restriction
stated in the
Yes, you're right. The last value in a conditional chain can be anything
and it will be evaluated and returned or not depending on the preceding
conditionals – which must be boolean if they are evaluated.
On Mon, May 12, 2014 at 11:18 AM, Peter Simon psimon0...@gmail.com wrote:
I see that the
I would welcome Fortran-style end- and loop-labeling. Emacs' F90 mode
inserts these labels for you automatically on the corresponding end
statements if you had previously included them on the opening do, function,
subroutine, module, etc., statement. The ability to concisely, clearly,
and
Using IJulia notebook for documentation is my long-term aspiration. I think
IPython needs to advance somewhat first – and clearly we have a lot of work
to do – but both projects are moving there. If you could view notebooks on
GitHub and similar services, then the whole thing would be nicely
Not that I'm aware of, but we're going to take a crack at this over the
summer, so there should be some progress here in the relatively near future.
On Mon, May 12, 2014 at 9:46 AM, Nikolaos tsakos.windsur...@gmail.comwrote:
Hi,
Has anyone tried to configure and run julia on an intel xeon
If you can, try making the Data type immutable. If not, try hoisting the
lookup of data.cum out of the loop. Since your Date type is mutable, it
probably has to lookup data.cum on each loop iteration in case it has
changed. If Data were immutable, it wouldn't be possible for that value to
change,
I apologize for all the questions.
I'm using ODBC to connect to a postgres database.
I can make this query no problem:
query(SELECT COUNT(*) FROM table;)
but if I try:
query(SELECT * FROM table;)
then I get the following traceback:
*WARNING: convert{T}(p::Type{Ptr{T}},a::Array) is
I tried out the c[nk] optimization and it doesn't produce a speedup,
which kind of makes sense – either way, you're computing each collatz value
exactly once, and sharing that work, so whether you fill in n*2^k now or
later doesn't really matter since you'll get to it eventually and once done
it's
On Monday, May 12, 2014 10:27:31 AM UTC-4, Cristóvão Duarte Sousa wrote:
Hi Steven,
According to http://matplotlib.org/users/pgf.html one has to do
matplotlib.use('pgf')
Yes, there is currently no easy way to load PyPlot with a different backend
like this. I could add such a feature
That unfortunately also doesn't seem to speed things up either.
On Mon, May 12, 2014 at 12:07 PM, Steven G. Johnson
stevenj@gmail.comwrote:
On Sunday, May 11, 2014 1:55:47 PM UTC-4, Stefan Karpinski wrote:
while nʹ length(c) || c[nʹ] 0
nʹ = iseven(nʹ) ? nʹ1 :
On 5/12/14, 10:03, Stefan Karpinski wrote:
I rather like using the prime symbol in names for this kind of thing –
Jeff introduced me to it – but I can see why it might be confusing.
Wow, very confusing. Using n_ or something like that seems to be less
confusing.
I'm curious: how did you
Thanks. Created PR 6819 https://github.com/JuliaLang/julia/pull/6819 based
on this discussion.
On Monday, May 12, 2014 8:23:38 AM UTC-7, Stefan Karpinski wrote:
Yes, you're right. The last value in a conditional chain can be anything
and it will be evaluated and returned or not depending on
Hi
I'm getting an error calling msync, it seems to be, because the memory
address is not page aligned. (I'm on linux.)
julia M = mmap_array(Float32, (3,4), open(tmp.vec, w+), 3) #Offset of
3 is the only important thing.
3x4 Array{Float32,2}:
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0
Special characters menu on OS X. And cut-and-paste once I've already got
one.
On Mon, May 12, 2014 at 12:39 PM, Jason Grout
jason-s...@creativetrax.comwrote:
On 5/12/14, 10:03, Stefan Karpinski wrote:
I rather like using the prime symbol in names for this kind of thing –
Jeff introduced me
Most of the calculation text is just generated with sympy+some text
processing, so I'm not afraid of typos :)
The calculation could be organized better resulting with much less terms if
I move the origin to overlap with one of the SphereND points.
Also I like very much the idea of having an
This is probably OO 101, but I'm puzzled by how references work in sets.
Here's a minimal example.
julia type testtype v::Bool end
julia t1 = testtype( true )
testtype(true)
julia t2 = testtype( false )
testtype(false)
julia tset = Set{testtype}({t1,t2})
function myFunc(a,b)
_len = Base.length(a)
_c = zeros(_len);
for i=1:_len
_c[i] = a[i] * b[i] - b[i]
end
_c
end
a = [1, 2, 3]
b = [4, 5, 6]
c = myFunc(a,b)
I am learning Julia and I have the above script. When I run it, it prompt:
*3-element Array{Float64,1}:*
* 0.0*
* 5.0*
* 12.0*
I
Add a semicolon after the function call: c = myFunc(a,b);
This happens because in the REPL, (e.g. the interactive environment started
by typing `julia` into a terminal) and also in IJulia, the default behavior
is to print out the result of the last command executed. This can be
silenced via a semicolon, but note that if you paste this code into a file,
Is there a way to get methods(...) to print out the keyword arguments of a
function and the default values? For example `methods(foo)` below doesn't
display `par` as a keyword argument:
```
julia foo(x; par = 0) = x*par
foo (generic function with 1 method)
julia methods(foo)
# 1 method for
Andreas,
Thank you for your input. I think a library similar to CGAL would be
of use. Writing it in Julia might be helpful for reference and
community contribution.
Best,
Steve
On Sat, May 10, 2014 at 8:57 AM, Andreas Lobinger lobing...@gmail.com wrote:
Hello colleague,
On Friday, May 9,
This line:
t1 = testtype( false )
creates a new object and binds it to the variable t1. It has no effect on
the value that previously was bound to t1 or any structure set which
contains that object.
On Mon, May 12, 2014 at 2:43 PM, Andrew Dabrowski unhandya...@gmail.comwrote:
This is
I see that map and map! do not play nice with Sets. Are there plans to
improve the situation, or should I learn to live with it?
`map` seems to work for me:
julia a = Set([1,2,3])
Set{Int64}({2,3,1})
julia map(x-2x, a)
3-element Array{Any,1}:
4
6
2
Can you give an example where it doesn't?
`map!` wouldn't give you any benefit in working with Sets in Julia. The
values in sets are inserted into a hash table, and since
Good point.
Here's the code_llvm for
getindex: https://gist.github.com/yurivish/a0af9042137173fa8d55
It's rather long, but I don't have enough experience to tell whether it's
within the bounds you'd expect.
There are some checks in there for undefined references, which I initially
thought
I have a bunch of NEF images that I need to do some calculations with. I
could just convert and save them all to some normal format with dcraw, but
that will just take disk-space. I'd rather read them into Julia somehow.
dcraw has an option to output the image to the pipe (dcraw -c filename),
So it is OO 101, thanks.
Note that to a programming naif the difference between
x.a = new
and
x = new
isn't very perspicuous, but in the first the value of x is modified (old
pointer maintained?) while in the second it is replaced (new pointer?). Is
there a rule of thumb I can memorize
i'll start with a warning that this may or may not be helpful.
the assignment
x = new
is actually equivalent to
Main.x = new
(before mentioning scope)
Thus, they aren't very different. In each case, the container object
named to the left of all of the .'s gets modified so that the object
You'll probably have more luck with `readsfrom` than `readall`.
--Tim
On Monday, May 12, 2014 04:34:14 PM Yakir Gagnon wrote:
I have a bunch of NEF images that I need to do some calculations with. I
could just convert and save them all to some normal format with dcraw, but
that will just take
The difference between those two lines is that x is a variable binding,
x.a is a reference inside x. If the value that the variablex is bound
to is shared (as when you put it in a set), then modifying x.a will
modify that everywhere because it modifies the value x is bound to. x =
new binds x to a
Well, there's a pull request you can use locally:
https://github.com/JuliaLang/julia/pull/5971
Jeff didn't like that it lists the methods twice, but doesn't count
them twice, so he didn't want to merge it, and I haven't had time to
fix it.
On Mon, May 12, 2014 at 5:01 PM, Ethan Anderes
@Jameson:
Glad to know that functionality is in the works. Looking forward to it!
Hey All-
As, you (hopefully) know, registration for JuliaCon
http://juliacon.orgis now open.
I'm starting this thread so you can ask me (or any of the other organizers,
who are cc'ed) any questions you may have about the conference.
Please do consider submitting a talk proposal or attending the
I guess we're outed. Jeff, Viral, Alan and I have started a small company
(so far just us) called Julia Computing LLC. Currently, we provide
consulting and support for Julia; in the future maybe more. We have a
couple of consulting contracts already, but haven't gotten around to making
a website
These are both semantically the same in the sense that they are binding a
name to an object, not modifying the object that was previously bound.
Consider:
type Foo
b
end
type Bar
a
end
julia foo1 = Foo(1)
Foo(1)
julia bar = Bar(foo1)
Bar(Foo(1))
julia foo2 = Foo(2)
Foo(2)
julia bar.a =
I'm not sure that map! on a Set makes sense. The behavior of map! is that
it replaces each element of a collection with a transformed value of that
element. Implicit in that is that there is a notion of position – a place
where the original element was and where the transformed value can go. In a
We started the company partly to pool resources to support Julia development
and events like JuliaCon, and partly because people started asking.
Occasionally the availability of commercial support is a factor in Julia
adoption, and now the answer is yes. Contact one of the four of us directly
if
For an array A if n ndims(A), then size(A,n) currently returns 1. Is this
an error or is there some reasoning behind this? It does the right thing
(gives an error saying dimension out of range) when n = 0. Also I wanted
to add that I am enjoying Julia a lot! You guys did a great job with the
And to take over the world, of course.
On Tue, May 13, 2014 at 1:05 AM, Jeff Bezanson jeff.bezan...@gmail.comwrote:
We started the company partly to pool resources to support Julia development
and events like JuliaCon, and partly because people started asking.
Occasionally the availability
The idea is that you can treat lower dimensional tensors as if they were
higher dimensional with trailing singleton dimensions. Thus, if you have a
vector – i.e. an array with a single dimension – but you want to treat it
as a matrix, you can do
m, n = size(x,1), size(x,2)
and it will work.
81 matches
Mail list logo