chiark
/
gitweb
/
~mdw
/
catacomb
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a02032a
)
Add some fast paths for standard operations.
author
mdw
<mdw>
Sat, 5 Mar 2005 16:44:11 +0000
(16:44 +0000)
committer
mdw
<mdw>
Sat, 5 Mar 2005 16:44:11 +0000
(16:44 +0000)
field.c
patch
|
blob
|
blame
|
history
group-stdops.c
patch
|
blob
|
blame
|
history
diff --git
a/field.c
b/field.c
index c8e31d24e53edac720390d916ad0f41af30db75f..c7bbf484b9386f0e7b701962c74db6b5f18cd526 100644
(file)
--- a/
field.c
+++ b/
field.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-c-*-
*
- * $Id
: field.c,v 1.4 2004/04/08 01:36:15 mdw Exp
$
+ * $Id$
*
* Abstract field operations
*
*
* Abstract field operations
*
@@
-47,11
+47,7
@@
*/
mp *field_id(field *f, mp *d, mp *x)
*/
mp *field_id(field *f, mp *d, mp *x)
-{
- x = MP_COPY(x);
- if (d) MP_DROP(d);
- return (x);
-}
+ { x = MP_COPY(x); if (d) MP_DROP(d); return (x); }
/* --- @field_samep@ --- *
*
/* --- @field_samep@ --- *
*
@@
-65,9
+61,7
@@
mp *field_id(field *f, mp *d, mp *x)
*/
int field_samep(field *f, field *g)
*/
int field_samep(field *f, field *g)
-{
- return (f->ops == g->ops && F_SAMEP(f, g));
-}
+ { return (f == g || (f->ops == g->ops && F_SAMEP(f, g))); }
/* --- @field_stdsamep@ --- *
*
/* --- @field_stdsamep@ --- *
*
@@
-79,9
+73,6
@@
int field_samep(field *f, field *g)
* member.
*/
* member.
*/
-int field_stdsamep(field *f, field *g)
-{
- return (MP_EQ(f->m, g->m));
-}
+int field_stdsamep(field *f, field *g) { return (MP_EQ(f->m, g->m)); }
/*----- That's all, folks -------------------------------------------------*/
/*----- That's all, folks -------------------------------------------------*/
diff --git
a/group-stdops.c
b/group-stdops.c
index ec30b4d6f7db1eadaa123e6a2c82a18c3cfe2ce8..12005e7e8b42db1bb26ea6eb26d1e20799afc687 100644
(file)
--- a/
group-stdops.c
+++ b/
group-stdops.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-c-*-
*
- * $Id
: group-stdops.c,v 1.3 2004/04/17 09:58:37 mdw Exp
$
+ * $Id$
*
* Standard group operations
*
*
* Standard group operations
*
@@
-71,10
+71,10
@@
int group_check(group *g, ge *x)
int group_samep(group *g, group *h)
{
int group_samep(group *g, group *h)
{
- return (g->ops == h->ops &&
- MP_EQ(g->r, h->r) && MP_EQ(g->h, h->h) &&
- G_EQ(g, g->i, h->i) && G_EQ(g, g->g, h->g) &&
-
G_SAMEP(g, h
));
+ return (g
== h || (g
->ops == h->ops &&
+
MP_EQ(g->r, h->r) && MP_EQ(g->h, h->h) &&
+
G_EQ(g, g->i, h->i) && G_EQ(g, g->g, h->g) &&
+
G_SAMEP(g, h)
));
}
/*----- Standard implementations ------------------------------------------*/
}
/*----- Standard implementations ------------------------------------------*/
@@
-115,10
+115,7
@@
void group_stdsqr(group *g, ge *d, ge *x) { G_MUL(g, d, x, x); }
*/
void group_stddiv(group *g, ge *d, ge *x, ge *y)
*/
void group_stddiv(group *g, ge *d, ge *x, ge *y)
-{
- G_INV(g, d, y);
- G_MUL(g, d, x, d);
-}
+ { G_INV(g, d, y); G_MUL(g, d, x, d); }
/* --- @group_stdtoec@ --- *
*
/* --- @group_stdtoec@ --- *
*