Movatterモバイル変換
[0]ホーム
modulePostgreSQLBinary.NumericwhereimportPostgreSQLBinary.PreludeposSignCode=0x0000::Int16negSignCode=0x4000::Int16nanSignCode=0xC000::Int16extractComponents::Integrala=>a->[Int16]extractComponents=(reverse.).(.abs).unfoldr$\case0->Nothingx->casedivModx10000of(d,m)->Just(fromIntegralm,d)mergeComponents::Integrala=>[a]->amergeComponents=foldl'(\lr->l*10000+r)0mergeDigits::Integrala=>[a]->amergeDigits=foldl'(\lr->l*10+r)0componentDigits::Int16->[Int16]componentDigits=evalState$doa<-state(`divMod`1000)b<-state(`divMod`100)c<-state(`divMod`10)d<-getreturn$[a,b,c,d]
[8]ページ先頭