おきしみみ (oxij) wrote,
おきしみみ
oxij

Иванов

Писал писал я вчера Иванова во фреймворке одного сокурсника. На джаве.
Результат: всю ночь снились страшные вещи. Проснулся, думаю: «А ну его всё нафиг.»
И сел во спасение души писать все с нуля на хаскеле:
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"


Педпоследняя строка — это процедура умножения матриц. Как её написал прям такое счастье озарило, что не передать. На жабе у меня там был аж целый класс, а тут одна строка. ПРОФИТ!!! Аж от сердца отлегло.

а джаву надо закопать, закопать, закопать
殺じアワー!
Tags: ifmo
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 13 comments