Movatterモバイル変換


[0]ホーム

URL:


modulePostgreSQLBinary.NumericwhereimportPostgreSQLBinary.PreludeposSignCode=0x0000::Int16negSignCode=0x4000::Int16nanSignCode=0xC000::Int16{-# INLINE extractComponents #-}extractComponents::Integrala=>a->[Int16]extractComponents=(reverse.).(.abs).unfoldr$\case0->Nothingx->casedivModx10000of(d,m)->Just(fromIntegralm,d){-# INLINE mergeComponents #-}mergeComponents::Integrala=>[a]->amergeComponents=foldl'(\lr->l*10000+r)0{-# INLINE mergeDigits #-}mergeDigits::Integrala=>[a]->amergeDigits=foldl'(\lr->l*10+r)0-- |-- Unpack a component into digits.{-# INLINE componentDigits #-}componentDigits::Int16->[Int16]componentDigits=evalState$doa<-state(`divMod`1000)b<-state(`divMod`100)c<-state(`divMod`10)d<-getreturn$[a,b,c,d]

[8]ページ先頭

©2009-2025 Movatter.jp