-- GENERATED by C->Haskell Compiler, version 0.28.3 Switcheroo, 25 November 2017 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "src/IGraph/Internal/Layout.chs" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module IGraph.Internal.Layout where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Marshal.Utils as C2HSImp



import qualified Foreign.Marshal.Utils as C2HSImp
import qualified Foreign.Ptr as C2HSImp

import Foreign
import Foreign.C.Types

import IGraph.Internal.Graph
{-# LINE 10 "src/IGraph/Internal/Layout.chs" #-}

import IGraph.Internal.Data
{-# LINE 11 "src/IGraph/Internal/Layout.chs" #-}




igraphLayoutKamadaKawai :: (IGraph) -> (Matrix) -> (Int) -> (Double) -> (Double) -> (Double) -> (Double) -> (Bool) -> (Ptr Vector) -> (Ptr Vector) -> (Ptr Vector) -> (Ptr Vector) -> IO ((Int))
igraphLayoutKamadaKawai a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 =
  (withIGraph) a1 $ \a1' ->
  (withMatrix) a2 $ \a2' ->
  let {a3' = fromIntegral a3} in
  let {a4' = realToFrac a4} in
  let {a5' = realToFrac a5} in
  let {a6' = realToFrac a6} in
  let {a7' = realToFrac a7} in
  let {a8' = C2HSImp.fromBool a8} in
  let {a9' = id a9} in
  let {a10' = id a10} in
  let {a11' = id a11} in
  let {a12' = id a12} in
  igraphLayoutKamadaKawai'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 27 "src/IGraph/Internal/Layout.chs" #-}


igraphLayoutLgl :: (IGraph) -> (Matrix) -> (Int) -> (Double) -> (Double) -> (Double) -> (Double) -> (Double) -> (Int) -> IO ((Int))
igraphLayoutLgl a1 a2 a3 a4 a5 a6 a7 a8 a9 =
  (withIGraph) a1 $ \a1' ->
  (withMatrix) a2 $ \a2' ->
  let {a3' = fromIntegral a3} in
  let {a4' = realToFrac a4} in
  let {a5' = realToFrac a5} in
  let {a6' = realToFrac a6} in
  let {a7' = realToFrac a7} in
  let {a8' = realToFrac a8} in
  let {a9' = fromIntegral a9} in
  igraphLayoutLgl'_ a1' a2' a3' a4' a5' a6' a7' a8' a9' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 38 "src/IGraph/Internal/Layout.chs" #-}


foreign import ccall safe "IGraph/Internal/Layout.chs.h igraph_layout_kamada_kawai"
  igraphLayoutKamadaKawai'_ :: ((C2HSImp.Ptr (IGraph)) -> ((C2HSImp.Ptr (Matrix)) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> ((C2HSImp.Ptr (Vector)) -> ((C2HSImp.Ptr (Vector)) -> ((C2HSImp.Ptr (Vector)) -> ((C2HSImp.Ptr (Vector)) -> (IO C2HSImp.CInt)))))))))))))

foreign import ccall safe "IGraph/Internal/Layout.chs.h igraph_layout_lgl"
  igraphLayoutLgl'_ :: ((C2HSImp.Ptr (IGraph)) -> ((C2HSImp.Ptr (Matrix)) -> (C2HSImp.CInt -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CDouble -> (C2HSImp.CInt -> (IO C2HSImp.CInt))))))))))