# fizz buzz the bit twiddling way
mymod(n,m,f) = mod(n, m) == 0 ? f : 0x00
fb(n) = ["None", "Fizz", "Buzz", "FizzBuzz"][1 + (mymod(n,3,0x01) | mymod(n,5,0x02))]
Results:
julia> fb.(collect(1:15))
15-element Array{String,1}:
for i in 1...100 { | |
println([["FizzBuzz","Fizz"],["Buzz","\(i)"]][min(1,i%3)][min(1,i%5)]) | |
} |
// Estimate PI using monte carlo simulation | |
// See http://www.davidrobles.net/blog/2014/06/22/estimating-pi-using-monte-carlo-simulations/ | |
import 'dart:math'; | |
Random rnd = new Random(); | |
// Return a random point within [-1, 1] coordinate plane | |
class UnitPoint { | |
double x; |
""" | |
Print a subtype tree from the specified `roottype` | |
""" | |
function subtypetree(roottype, level=1, indent=4) | |
level == 1 && println(roottype) | |
for s in subtypes(roottype) | |
println(join(fill(" ", level * indent)) * string(s)) | |
subtypetree(s, level+1, indent) | |
end | |
end |
# fizz buzz the bit twiddling way
mymod(n,m,f) = mod(n, m) == 0 ? f : 0x00
fb(n) = ["None", "Fizz", "Buzz", "FizzBuzz"][1 + (mymod(n,3,0x01) | mymod(n,5,0x02))]
Results:
julia> fb.(collect(1:15))
15-element Array{String,1}:
# see https://discourse.julialang.org/t/allocation-groupby/7505 | |
function groupby(v::AbstractVector{T}) where T | |
d = Dict{T,Vector{Int}}() | |
i = 1 | |
for x in v | |
if !haskey(d, x) | |
d[x] = [i] | |
else | |
push!(d[x], i) | |
end |
foo2(filename, parsers; headers=true, delimiter=",", nrows=0) = open(filename) do f | |
if headers | |
hdr = split(readline(f), delimiter) | |
end | |
lines = nrows == 0 ? [] : Vector(undef, nrows) | |
r = 0 | |
while !eof(f) | |
line = readline(f) | |
row = map(x -> x[1](x[2]), zip(parsers, split(line, delimiter))) | |
r += 1 |
uxcplgxnkwbdwhrp | |
suerykeptdsutidb | |
dmrtgdkaimrrwmej | |
ztxhjwllrckhakut | |
gdnzurjbbwmgayrg | |
gjdzbtrcxwprtery | |
fbuqqaatackrvemm | |
pcjhsshoveaodyko | |
lrpprussbesniilv | |
mmsebhtqqjiqrusd |
>^^v^<>v<<<v<v^>>v^^^<v<>^^><^<<^vv>>>^<<^>><vv<<v^<^^><>>><>v<><>^^<^^^<><>>vv>vv>v<<^>v<>^>v<v^<>v>><>^v<<<<v^vv^><v>v^>>>vv>v^^^<^^<>>v<^^v<>^<vv^^<^><<>^>><^<>>><><vv><>v<<<><><>v><<>^^^^v>>^>^<v<<vv^^<v<^<^>^^v^^^^^v<><^v><<><^v^>v<<>^<>^^v^<>v<v^>v>^^<vv^v><^<>^v<><^><v^><><><<<<>^vv^>^vvvvv><><^<vv^v^v>v<<^<^^v^<>^<vv><v<v^v<<v<<^^>>^^^v^>v<><^vv<<^<>v<v><><v^^><v<>^^>^^>v^>^<<<<v><v<<>v><^v>^>><v^^<^>v<vvvv<>>>>>^v^^>v<v<^<vv>^>^vv^>vv^^v<<^<^^<>v>vv^v>><>>>v^>^>^^v<>^<v<<>^vv>v^<<v>v<<><v>^vvv<v<vvv^v<vv<v^^^>v><<^<>><v^^>^v^>>^v<^<><v<>>v^<>>v<>>v^^^><^>>vvvv>^v<^><<>>^<>^>vv><v<<>>^^>v^^^><^<<^^v>v<^<<>v>^^vvv^v^>v^<>^^<>v^v>v>v<v^>vv>^^v<>v>>^<>><>v>v^<<vvvv<vvv><v^<^>^v<>>^><v>><>^<v>v<v>vv^>>vvv<>v>v<v^>>^>>v<<>^<>^<>>>^v<<<^<^v>vv^>><<><v^>^v^^^v<>^^vv><>><>>^>v^<v<>v<>>^<<^v>^^^<>^v^><>v<<v>vv^>vv<<>>><<^v^<>v<vv>>>^^<>^><<^>vv>>^<<v^^vv<>>><v>v><^<v<<>>>^^<>>^<^v><>vv^^^v>vvv>^><<>^^>^<<v^<v<^v<<>vvv<^<<>^>^v<vv<^>vvv>v>vv^<v^><>>^vv<^^^vv><^vv<v^<><v^vvv><<^>^^><v<<vv^>v<vv<v>^<>^v<<>v<v^v^> |
s,sw,s,ne,s,se,s,s,s,se,se,se,se,ne,ne,n,ne,ne,ne,ne,ne,s,ne,ne,ne,ne,n,n,n,n,n,n,se,n,n,n,se,s,ne,n,n,nw,n,n,n,nw,n,s,n,n,n,n,s,s,nw,se,nw,s,n,nw,nw,nw,nw,ne,sw,nw,nw,nw,n,se,nw,nw,n,s,n,sw,sw,nw,sw,nw,nw,nw,se,ne,sw,n,sw,sw,sw,n,sw,sw,sw,ne,sw,sw,sw,sw,sw,sw,sw,sw,sw,sw,se,nw,sw,sw,s,sw,s,s,s,s,sw,sw,sw,se,s,sw,s,n,sw,ne,s,s,n,nw,s,s,s,s,s,s,se,s,sw,s,sw,sw,s,s,s,s,s,s,s,nw,s,se,se,s,se,s,s,s,se,n,nw,se,s,se,s,s,n,se,ne,s,s,s,s,s,s,ne,se,s,nw,se,s,s,nw,s,s,se,s,s,se,se,se,se,se,s,se,se,se,s,s,se,se,s,se,se,se,se,se,s,se,se,s,se,se,s,s,se,s,se,se,s,se,n,s,sw,se,se,se,se,se,ne,se,se,sw,nw,ne,se,se,ne,se,se,ne,ne,se,ne,se,se,ne,se,s,se,ne,se,se,ne,n,se,se,sw,ne,se,se,se,ne,se,ne,nw,ne,nw,se,ne,se,se,se,se,se,nw,se,ne,s,nw,se,ne,ne,ne,ne,n,se,s,nw,ne,se,ne,se,ne,ne,ne,ne,ne,ne,ne,nw,ne,ne,ne,ne,ne,n,se,sw,ne,se,se,ne,s,se,ne,ne,ne,ne,ne,ne,ne,s,ne,ne,n,ne,ne,ne,ne,ne,ne,ne,ne,sw,ne,n,ne,n,ne,ne,sw,n,ne,ne,ne,s,ne,ne,ne,ne,ne,ne,ne,n,ne,ne,n,sw,s,ne,n,ne,ne,nw,ne,ne,se,n,n,ne,n,ne,ne,ne,ne,n,nw,ne,ne,ne,ne,ne,n, |