Иванов
Писал писал я вчера Иванова во фреймворке одного сокурсника. На джаве.
Результат: всю ночь снились страшные вещи. Проснулся, думаю: «А ну его всё нафиг.»
И сел во спасение души писать все с нуля на хаскеле:
Педпоследняя строка — это процедура умножения матриц. Как её написал прям такое счастье озарило, что не передать. На жабе у меня там был аж целый класс, а тут одна строка. ПРОФИТ!!! Аж от сердца отлегло.
а джаву надо закопать, закопать, закопать
殺じアワー!
Результат: всю ночь снились страшные вещи. Проснулся, думаю: «А ну его всё нафиг.»
И сел во спасение души писать все с нуля на хаскеле:
data MMatr = MMatr Int Int [[Double]] deriving (Show, Eq) instance Num MMatr where (*) (MMatr row1 col1 a) (MMatr row2 col2 b) = if (col1 == row2) then MMatr row1 col2 $ [ [ (foldl1 (+) $ zipWith (*) (a!!(row-1)) (map (\x -> x!!(col-1)) b)) | col <- [1..col2] ] | row <- [1..row1] ] else error "Bad size"
Педпоследняя строка — это процедура умножения матриц. Как её написал прям такое счастье озарило, что не передать. На жабе у меня там был аж целый класс, а тут одна строка. ПРОФИТ!!! Аж от сердца отлегло.
а джаву надо закопать, закопать, закопать
殺じアワー!