Julia configuration improvements
This commit is contained in:
parent
30ea9a4220
commit
e3360fed8f
18
.julia/config/startup.jl
Normal file
18
.julia/config/startup.jl
Normal file
@ -0,0 +1,18 @@
|
||||
LOCAL_LIB_PATH = expanduser("~/lib/julia")
|
||||
|
||||
# My local package paths are in lib/julia
|
||||
append!(LOAD_PATH, [LOCAL_LIB_PATH])
|
||||
|
||||
# array utilities
|
||||
hasprefix(prefix::Vector, len, str) = length(str) >= len && str[1:len] == prefix
|
||||
hasprefix(prefix::Vector, str) = hasprefix(prefix, length(prefix), str)
|
||||
|
||||
function eagerzip(iters...)
|
||||
numiters = length(iters)
|
||||
minlen = minimum(map(length, iters))
|
||||
ar = [tuple(map(x->x[1], iters)...)]
|
||||
for i in 2:minlen
|
||||
push!(ar, tuple(map(x->x[i], iters)...))
|
||||
end
|
||||
return ar
|
||||
end
|
82
.juliarc.jl
82
.juliarc.jl
@ -1,82 +0,0 @@
|
||||
LOCAL_LIB_PATH = expanduser("~/lib/julia")
|
||||
|
||||
# My local package paths are in lib/julia
|
||||
append!(LOAD_PATH, [LOCAL_LIB_PATH])
|
||||
|
||||
# macro that implements import Module as Alias mostly used as a helper in the
|
||||
# repl. Not to be used in Packages since this macro is not guaranteed to exist
|
||||
# elsewhere.
|
||||
macro imports(mexpr, mod, sexpr)
|
||||
# enforce our syntax
|
||||
if mod != :as
|
||||
error("Expected as modifier for import got $mod")
|
||||
end
|
||||
# mexpr must be a symbol
|
||||
if typeof(mexpr) != Symbol
|
||||
error("invalid import statement, expected identifier got $mexpr")
|
||||
end
|
||||
# sexpr must be a symbol
|
||||
if typeof(sexpr) != Symbol
|
||||
error("invalid import statement, expected identifier got $mexpr")
|
||||
end
|
||||
# We can't just quote the import syntax so we construct the import
|
||||
# expression by hand
|
||||
iexpr = Expr(:import)
|
||||
iexpr.args = [mexpr]
|
||||
expr2 = quote
|
||||
$iexpr
|
||||
$sexpr = $mexpr
|
||||
end
|
||||
# finally we escape the whole thing since we need all the symbols to be
|
||||
# evaluated/created in the callers scope.
|
||||
return esc(:($(eval(expr2))))
|
||||
end
|
||||
|
||||
containedtypes(m::Module) = whos(m, r"[[:upper:]]")
|
||||
|
||||
# non sampled versions of some statistics functions
|
||||
|
||||
variance(v::Vector) = mean((v - mean(v)).^2)
|
||||
stddev(v::Vector) = sqrt(variance(v))
|
||||
|
||||
# multiprocess configuration helpers
|
||||
function procsetup()
|
||||
delta = CPU_CORES - nprocs()
|
||||
if delta > 0
|
||||
addprocs(delta)
|
||||
end
|
||||
end
|
||||
|
||||
# array utilities
|
||||
hasprefix(prefix::Vector, len, str) = length(str) >= len && str[1:len] == prefix
|
||||
hasprefix(prefix::Vector, str) = hasprefix(prefix, length(prefix), str)
|
||||
|
||||
function eagerzip(iters...)
|
||||
numiters = length(iters)
|
||||
minlen = minimum(map(length, iters))
|
||||
ar = [tuple(map(x->x[1], iters)...)]
|
||||
for i in 2:minlen
|
||||
push!(ar, tuple(map(x->x[i], iters)...))
|
||||
end
|
||||
return ar
|
||||
end
|
||||
|
||||
guid2base64(input) = base64(hex2bytes(replace(input, "-", "")))
|
||||
|
||||
#Using Codecs
|
||||
#
|
||||
#Tobytes(s) = convert(Vector{Uint8}, s)
|
||||
#
|
||||
#Base64decode(text::UTF8String) = base64decode(tobytes(text))
|
||||
#Base64decode(text::ASCIIString) = base64decode(tobytes(text))
|
||||
#Base64decode(text::Vector{Uint8}) = decode(Base64, filter(c -> c != '\n', text))
|
||||
|
||||
|
||||
# all factors not just prime factors.
|
||||
function factors(n)
|
||||
f = [one(n)]
|
||||
for (p,e) in factor(n)
|
||||
f = reduce(vcat, f, [f*p^j for j in 1:e])
|
||||
end
|
||||
return f
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user