diff options
author | dos-reis <gdr@axiomatics.org> | 2009-01-31 03:30:43 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-01-31 03:30:43 +0000 |
commit | 8519b9831708f14b575d7896ac5d31a393d547f7 (patch) | |
tree | c3b7a33b459280e041c3e777f12db9ca74935ea1 /src/interp | |
parent | 5779d5e238ccce218020d39307674de938a5ad94 (diff) | |
download | open-axiom-8519b9831708f14b575d7896ac5d31a393d547f7.tar.gz |
Fix AW/83
* interp/i-coerfn.boot (Dmp2P): Scalar tag is 0 for Polynomial T.
* testsuite/interpreter/aw-83.input (a): New.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/i-coerfn.boot | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/interp/i-coerfn.boot b/src/interp/i-coerfn.boot index e5d2da93..5ee715f0 100644 --- a/src/interp/i-coerfn.boot +++ b/src/interp/i-coerfn.boot @@ -1,6 +1,6 @@ -- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. -- All rights reserved. --- Copyright (C) 2007-2008, Gabriel Dos Reis. +-- Copyright (C) 2007-2009, Gabriel Dos Reis. -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -223,7 +223,10 @@ Dmp2P(u, source is [dmp,vl, S], target is [.,T]) == -- slight optimization for case #u = 1, #vl =1 and S=T -- I know it's pathological, but it may avoid an instantiation (1 = #u) and (1 = #vl) and (S = T) => - (lexp:= (CAAR u).0) = 0 => [1,:CDAR u] + -- The Rep of Polynomial T is a 2-branched Union with scalar + -- (coefficient ring values) first (tag = 0), and non-trivial + -- polynomials second (tag = 1). + (lexp:= (CAAR u).0) = 0 => [0,:CDAR u] [1,vl.0,[lexp,0,:CDAR u]] vl' := reverse MSORT vl |