.import(
)
: string
exportメソッドでシリアライズ出力されたZDDファイル(fileNameで指定)をインポートしZDDオブジェクトを復元する。 exportする時のsymbolによるアイテムの宣言順序とimportする時の宣言順序は同じでなければならない。
> require 'zdd' > a=ZDD::itemset("a") > b=ZDD::itemset("b") > c=ZDD::itemset("c") > f=5*a*b*c+3*a*b+2*b*c+c > f.show 5 a b c + 3 a b + 2 b c + c > f.export("dat.zdd") # エキスポートされたファイルdat.zddの内容は以下の通り。 # _i 3 # _o 3 # _n 7 # 4 1 F T # 248 2 F 5 # 276 3 4 248 # 232 2 F 4 # 2 2 F T # 272 3 232 2 # 268 3 232 248 # 276 # 272 # 268
> require 'zdd' # 以下のようにsymbolを順番に宣言した後にimportすれば正しく復元される。 > ZDD::symbol("a") > ZDD::symbol("b") > ZDD::symbol("c") > g1=ZDD::import("dat.zdd") > g1.show 5 a b c + 3 a b + 2 b c + c
> require 'zdd' # もしアイテムb,cの宣言順序を入れ替えると結果においてもbとcが入れ替わってしまう。 > ZDD::symbol("a") > ZDD::symbol("c") > ZDD::symbol("b") > g2=ZDD::import("dat.zdd") > g2.show 5 a c b + 3 a c + 2 c b + b
> require 'zdd' # 宣言せずにインポートすると、x1,x2,x3のようなアイテム名が使われる。 # この時、各アイテムの後ろに付いた数字は、アイテムの宣言の逆順による連番となる。 # 以下の例では、x1=c, x2=b, x3=cである。 > g3=ZDD::import("dat.zdd") > g3.show 5 x3 x2 x1 + 3 x3 x2 + 2 x2 x1 + x1
export : ZDDのシリアライズ出力