- 1
- 2
- 3
if ((*entry_it)->flags & (kNoAntialiasRenderFlag == kNoAntialiasRenderFlag)) {
...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 56
0
if ((*entry_it)->flags & (kNoAntialiasRenderFlag == kNoAntialiasRenderFlag)) {
...
}
+3
<image_block class="inner" interactivity="no" list_entry_id="da vi uporolis">
−85
by :: Int -> [a] -> [[a]]
by _ [] = []
by n xs = take n xs: by n (drop n xs)
words2 :: String -> (String, String)
words2 str = conc $ words str where
conc (x:xs) = (x, concat xs)
groupTemplates :: String -> [(String, String)]
groupTemplates xs = map (words2) (lines xs)
decodeOne :: String -> [(String, String)] -> String
decodeOne _ [] = ""
decodeOne str (x:xs) | str == fst x = fst x ++ " " ++ snd x ++ "\n"
decodeOne str (_:xs) = decodeOne str xs
decode :: [String] -> [(String, String)] -> String
decode bs ts = concat $ map (\b -> decodeOne b ts) bs
main = do
bits <- readFile "bits.txt"
templates <- readFile "templates.txt"
writeFile "out.txt" $ decode (by 4 bits) (groupTemplates templates)
http://www.cyberforum.ru/haskell/thread723767.html
+127
val arr = new Array[Int](3)
val arr2 = arr
arr(0) = 100
arr(1) = 200
arr(2) = 300
//arr2 == Array(100, 200, 300)
Не говнокод конечно, хотя как посмотреть.
Это нормально, учитывая, что val предполагает неизменяемость значения, или в данном случае считается, что только присвоить новое значение нельзя, а изменять внутреннюю структуру массива можно как захочешь?
Ведь наже в C++ нельзя изменить значения const std::vector.
+130
perft :: Int -> Position -> Int
perft depth pos
| depth <= 0 = 1
| otherwise = sum . map (perft $ depth - 1) $ legalPositions where
legalPositions = filter isLegalPosition nextpositions
nextpositions = map (\move -> makeMove move pos) $ (moves pos)
+133
#include<stdio.h>
#include<math.h>
int main()
{
long long a1,a2,a3,a4,t,p,l,m1,m,d1,d2,d3,d4,c1,c2,c3,c4,n,r;
double po;
m=1000000006;
scanf("%lld",&t);
while(t--)
{scanf("%lld",&n);
a1=1;a2=1;a3=1;a4=0;
d1=1;d2=0;d3=0;d4=1;
p=n-2;
while(p>0)
{ if(p%2!=0)
{ c1=((d1*a1)%m+(d3*a3)%m);
c2=((d1*a2)%m+(d2*a4)%m);
c3=((d3*a1)%m+(d4*a3)%m);
c4=((d3*a2)%m+(d4*a4)%m);
d1=c1;d2=c2;d3=c3;d4=c4;
}
c1=((a1*a1)%m+(a2*a3)%m);
c2=((a1*a2)%m+(a2*a4)%m);
c3=((a3*a1)%m+(a4*a3)%m);
c4=((a3*a2)%m+(a4*a4)%m);
a1=c1;a2=c2;a3=c3;a4=c4;
p=p/2;
}
l=((d1*1)%m+(d2*1)%m)%m;m1=((d3*1)%m+(d4*1)%m)%m;
po=pow(2,l);
r=llrintl(po)%(m+1);
printf("%lld\n",r);
}
return 0;
}
+125
splitOn :: (a -> Bool) -> [a] -> [[a]]
splitOn _ [] = []
splitOn f xs = removeEmpty $ takeWhile (not . f) xs: splitOn f (dropWhile (f) $ dropWhile (not . f) xs) where
removeEmpty [] = []
removeEmpty (x:xs)
| null x = removeEmpty xs
| otherwise = x: removeEmpty xs
words' :: String -> [String]
words' = splitOn (flip elem " \n\r\f\t\v\160")
Еще один words'
+128
data Mode = Start | Read | Skip | End
data State = State Mode String String [String]
space c = elem c [' ', '\n', '\r', '\f', '\t', '\v', '\160']
end r = State End "" "" r
skip t r = State Skip t "" r
get t w r = State Read t w r
start t = State Start t "" []
step (State Start at@(t:ts) w r)
| space t = step $ skip at r
| otherwise = step $ get at w r
step (State Read at@(t:ts) w r)
| space t = step $ skip at $ r ++ [w]
| otherwise = step $ get ts (w ++ [t]) r
step (State Skip at@(t:ts) _ r)
| space t = step $ skip ts r
| otherwise = step $ get at "" r
step (State Start "" _ r) = step $ end r
step (State Read "" w r) = step $ end $ r ++ [w]
step (State Skip "" _ r) = step $ end r
step (State End _ _ r) = r
words' text = step $ start text
Решил все-таки выложить этот позор. Если есть предложения по улучшению - с радостью выслушаю.
+117
data Pitch = Pitch Integer
pitch t o = Pitch (o*12 + t)
freq (Pitch p) = a4 * 2**(i/12) where
i = fromIntegral (p - 57)
a4 = 440
+128
right_triangles = [ (a, b, c a b) | b <- [1..], a <- [1..b], isRight a b ]
where
rc a b = sqrt $ fromIntegral (a^2 + b^2)
c a b = round $ rc a b
isRight a b = (rc a b) == fromIntegral (c a b)