summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rwxr-xr-xexamples/oil-suggest-lib5
-rw-r--r--examples/oil-suggest.c25
3 files changed, 33 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 05ef6cb..72b57b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-06-11 David Schleef <ds@schleef.org>
+
+ * examples/oil-suggest-lib:
+ * examples/oil-suggest.c:
+ Add suggester for all the symbols in a library.
+
2007-06-07 David Schleef <ds@schleef.org>
* liboil/i386/sad8x8_i386.c: Add i386 impls for sad12x12 and sad16x16
diff --git a/examples/oil-suggest-lib b/examples/oil-suggest-lib
new file mode 100755
index 0000000..cb0b030
--- /dev/null
+++ b/examples/oil-suggest-lib
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+./oil-suggest $(nm -u $1 |grep oil_function_class|sed 's/.*U oil_function_class_ptr_//')
+
+
diff --git a/examples/oil-suggest.c b/examples/oil-suggest.c
index 3cb51d2..7f199da 100644
--- a/examples/oil-suggest.c
+++ b/examples/oil-suggest.c
@@ -89,8 +89,8 @@ oil_suggest_class (OilFunctionClass *klass, int verbose)
x = get_speed_score (klass);
- if (x == 1.0) {
- printf("%s\n", klass->name);
+ if (x < 20.0) {
+ printf("%s %g\n", klass->name, x);
}
}
@@ -109,12 +109,31 @@ oil_suggest_all (void)
}
}
+static void
+oil_suggest (const char *s)
+{
+ OilFunctionClass *klass = oil_class_get (s);
+
+ if (klass) {
+ oil_suggest_class (klass, 0);
+ }
+}
+
int
main (int argc, char *argv[])
{
+ int i;
+
oil_init();
- oil_suggest_all ();
+ if (argc == 1) {
+ oil_suggest_all ();
+ return 0;
+ }
+
+ for(i=1;i<argc;i++){
+ oil_suggest (argv[i]);
+ }
return 0;
}