00:23.20 |
*** join/#brlcad Ralith
(n=ralith@216.162.199.202) |
00:32.43 |
*** join/#brlcad b0ef
(n=b0ef@062016142244.customer.alfanett.no) |
00:34.29 |
*** join/#brlcad BigAToo
(n=BigAToo@adsl-68-23-86-103.dsl.dytnoh.ameritech.net) |
00:50.34 |
*** join/#brlcad PrezKennedy
(i=Matthew@whitecalf.net) |
01:14.51 |
*** join/#brlcad Twingy
(n=justin@74.92.144.217) |
05:13.01 |
*** join/#brlcad yukonbob
(i=1000@s142-179-54-198.bc.hsia.telus.net) |
05:37.31 |
*** join/#brlcad madant
(n=madant@117.196.131.253) |
08:00.45 |
*** part/#brlcad mon8
(i=yoda@CPE0016d35dfacc-CM000f9f7f1258.cpe.net.cable.rogers.com) |
09:50.22 |
*** join/#brlcad Elrohir
(n=kvirc@p5B14E63C.dip.t-dialin.net) |
09:54.49 |
*** join/#brlcad Ralith_
(n=ralith@c-67-168-32-53.hsd1.wa.comcast.net) |
10:19.31 |
*** join/#brlcad clock_
(n=clock@84-72-91-240.dclient.hispeed.ch) |
10:42.48 |
CIA-31 |
BRL-CAD: 03brlcad * r33453 10/brlcad/trunk/
(include/bu.h src/libbu/bitv.c): bu_bitv_shift should return an
unsigned int since << shifting negative is
undefined. |
10:50.51 |
CIA-31 |
BRL-CAD: 03brlcad * r33454
10/brlcad/trunk/src/proc-db/bottest.c: close the outfp to no leak,
missing semis, and ws |
10:59.45 |
CIA-31 |
BRL-CAD: 03brlcad * r33455
10/brlcad/trunk/src/libbu/argv.c: minor lint cleanup |
11:02.19 |
*** join/#brlcad geocalc
(n=geocalc@lns-bzn-38-82-253-122-244.adsl.proxad.net) |
11:20.00 |
*** join/#brlcad Ralith
(n=ralith@216.162.199.202) |
11:20.00 |
*** join/#brlcad Ralith_
(n=ralith@216.162.199.202) |
11:33.07 |
CIA-31 |
BRL-CAD: 03brlcad * r33456
10/brlcad/trunk/src/libbu/association.c: ws |
11:34.55 |
CIA-31 |
BRL-CAD: 03brlcad * r33457 10/brlcad/trunk/ (7
files in 5 dirs): remove association.c and bu_association()
completely since it looks like it was an idea that was never put to
use. there's not any evidence that anything actually uses it so
give it the axe. |
11:38.37 |
d-lo |
yawns |
11:38.42 |
d-lo |
Mernin' |
11:47.21 |
CIA-31 |
BRL-CAD: 03brlcad * r33458
10/brlcad/trunk/src/libdm/dm_obj.c: remove massive code block
duplicated in labels.c for dmo_labelPrimitive() and
dmo_drawLabels_cmd(). looks like the newer stuff is in labels.c
now. |
12:04.37 |
CIA-31 |
BRL-CAD: 03brlcad * r33459
10/brlcad/trunk/src/libged/tire.c: plug a slew of memory leaks.
need to call bu_vls_free() if you call bu_vls_init(). |
12:06.21 |
CIA-31 |
BRL-CAD: 03brlcad * r33460
10/brlcad/trunk/src/libged/tire.c: remove dead comment
code |
12:34.17 |
*** join/#brlcad CIA-32
(n=CIA@208.69.182.149) |
12:59.28 |
CIA-32 |
BRL-CAD: 03davidloman * r33461 10/rt^3/trunk/
(7 files in 6 dirs): Added some stream solutions for
serializing/deserializing. Integrated them into build system. Will
be built into libge. |
13:03.39 |
*** join/#brlcad BigAToo
(n=BigAToo@adsl-68-23-86-103.dsl.dytnoh.ameritech.net) |
13:05.32 |
CIA-32 |
BRL-CAD: 03davidloman * r33462 10/rt^3/trunk/
(44 files in 6 dirs): Added some stream solutions for
serializing/deserializing. Integrated them into build system. Will
be built into libge. |
13:11.32 |
CIA-32 |
BRL-CAD: 03davidloman * r33463
10/rt^3/trunk/include/ (4 files in 4 dirs): Cleaning up Build
system a tad. Removed a few Makefile.am's |
13:54.24 |
*** join/#brlcad Elrohir
(n=kvirc@p5B14E63C.dip.t-dialin.net) |
15:06.46 |
*** join/#brlcad madant
(n=madant@117.196.136.65) |
16:41.12 |
CIA-32 |
BRL-CAD: 03davidloman * r33464 10/rt^3/trunk/
(22 files in 4 dirs): Work to conform code to c99 standard. Use of
fixed-width integers throughout iBME code. |
17:25.08 |
*** join/#brlcad CIA-31
(n=CIA@208.69.182.149) |
17:32.47 |
*** join/#brlcad CIA-31
(n=CIA@208.69.182.149) |
18:02.40 |
CIA-31 |
BRL-CAD: 03brlcad * r33465
10/brlcad/trunk/src/mged/mged.c: there's no comment indicating that
there's a reason we would need to clone the dbi twice. remove the
hack/bug/mistake. |
18:08.11 |
*** join/#brlcad clock_
(n=clock@77-58-247-38.dclient.hispeed.ch) |
18:09.08 |
CIA-31 |
BRL-CAD: 03brlcad * r33466
10/brlcad/trunk/src/mged/axes.c: need string.h for
memset() |
18:20.39 |
CIA-31 |
BRL-CAD: 03brlcad * r33467
10/brlcad/trunk/src/mged/ (cmd.c cmd.h): hm, pondering. there are a
lot of these unconsties. |
18:29.41 |
*** join/#brlcad madant
(n=madant@117.196.147.194) |
18:40.22 |
brlcad |
howdy madant |
19:07.54 |
d-lo |
enjoying vacation brlcad? |
19:09.00 |
brlcad |
d-lo: I did, but I'm not on vacation now -- I
apparently have a cold |
19:09.22 |
d-lo |
bah, bummer. Painful cold or just
annoying? |
19:10.53 |
brlcad |
just annoying |
19:11.18 |
d-lo |
well I suppose thats the better of the two
:/ |
19:11.20 |
starseeker |
driving too fast with the window down?
;-) |
19:11.41 |
starseeker |
saw that picture of the new
car |
19:11.44 |
d-lo |
did you buy yourself a lotus for
xmas? |
19:12.02 |
d-lo |
or did you just upgrade the lumina? |
19:12.05 |
d-lo |
:) |
19:13.38 |
CIA-31 |
BRL-CAD: 03davidloman * r33468 10/rt^3/trunk/
(5 files in 2 dirs): added serialization support for float and
doubles to classess that implement DataInput and
DataOutput. |
19:15.47 |
d-lo |
Professional type question (to anyone): which
is a 'better' way to access the bits of any given data
type? |
19:16.01 |
d-lo |
a) use bitshifting (aka << and
>>) |
19:16.23 |
d-lo |
or b) use pointers and loops? |
19:17.16 |
d-lo |
are there any pros/cons that make one use
better? is it situational? I understand the logic behind both
approaches, I just need the 'experienced' advice. |
19:18.19 |
brlcad |
usually bitshifting but it depends what you're
doing |
19:18.50 |
brlcad |
bitshifts and bitmasks are pretty
straightforward |
19:18.54 |
d-lo |
serialization |
19:19.37 |
d-lo |
so the question, now is, 'Why choose
bitshifting over pointers?" |
19:20.47 |
brlcad |
it still matters what you're doing,
serializing what and what the constraints are |
19:21.04 |
brlcad |
how would you use a pointer to access
bits? |
19:21.50 |
d-lo |
say I want to convert a float to a
char[4]: |
19:22.15 |
d-lo |
char* c = (char* ) &myFloat |
19:23.05 |
brlcad |
that's not at the bit-level, that's a byte
array |
19:23.19 |
brlcad |
and that'd only be valid/useful for IEEE
floats |
19:23.29 |
d-lo |
then go into a 4 pass loop, incrementing the
pointer each time. each pass of the loop gets a new
byte. |
19:23.38 |
brlcad |
(which plenty of modern systems and compiler
switches will make something non-IEEE float) |
19:23.45 |
d-lo |
right, but if you bitshift by increments of 8,
its accomplishes the same thing. |
19:24.08 |
brlcad |
ah, heh -- so you don't actually need to
access individual bits |
19:24.20 |
brlcad |
you're just getting at byte values |
19:24.32 |
d-lo |
I guess i didn't mention that did I
:) |
19:24.42 |
brlcad |
to the contrary, you said access the bits
;) |
19:25.00 |
d-lo |
slaps his
head. |
19:25.27 |
d-lo |
okay, restate above question, but use bytes
instead. |
19:26.18 |
d-lo |
If I am mandating c99 compliance, is there
still an issue with running into non IEEE floats/doubles? |
19:27.05 |
brlcad |
for breaking something up into byte values,
that's where htond/htonf/htonl/htons come from, so you get
consistent access |
19:27.10 |
brlcad |
yes |
19:27.16 |
brlcad |
c99 doesn't require ieee floats |
19:27.46 |
brlcad |
it's an independent complaince that has more
to do with hardware and compiler optimization options |
19:28.31 |
d-lo |
easy enough fix :) I will just put it in the
docs: No non-IEEE floats. Done. :D |
19:29.25 |
brlcad |
those are the kinds of bugs that usually take
weeks to isolate |
19:29.31 |
d-lo |
Hrm, perhaps I am just thick, but I don't see
how htond/htonf/htonl/htons will help me convert from byte array's
to various data types... |
19:29.39 |
brlcad |
because it will work just fine in one
environment |
19:30.50 |
d-lo |
I thought that htond/htonf/htonl/htons where
just int to int converters designed to re-arrange bytes, not break
them down or build them up for you. |
19:31.30 |
d-lo |
so is there *any* way to completely mandate
IEEE floats? |
19:35.22 |
brlcad |
htonf/htond are specifically for floating
point types, turns a float into a 4-byte array and a double into an
8-byte array |
19:35.52 |
brlcad |
passes through a cast and then relies on
configure and run-time tests to determine the format for proper
packing/unpacking |
19:37.09 |
d-lo |
oh duh, those two are in the brlcad source and
not part of the c/c++ stdlib.... right? |
19:37.35 |
brlcad |
and no, at least not realiably. I actually
think there's an assumption in the code now that has been causing a
superbly obscure dbio bug because of non ieee floating point
formats getting serialized/deserialized incorrectly |
19:38.04 |
brlcad |
right, c99 wouldn't touch the floating point
types because of the IEEE issues |
19:39.31 |
brlcad |
doubles are really the tricky ones |
19:39.58 |
d-lo |
its only 4 more bits :) |
19:39.59 |
brlcad |
since many hardware (particularly older
hardware, but even some modern) will do all sorts of encoding
tricks to make doubles perform fast |
19:40.08 |
brlcad |
4 more bytes :) |
19:40.16 |
d-lo |
slaps his
knee |
19:40.23 |
d-lo |
this could be a funny ongoing joke. |
19:41.20 |
d-lo |
well, thats just it.... how much 'older'
hardware are we looking to support? My opinion is little to
none. |
19:42.42 |
brlcad |
by the way, if you actually end up needing a
bit vector, bu_bitv's are the way to go for bit buffers less than
or equal to 32 bits |
19:43.13 |
brlcad |
it is little to none for the new stuff, but
like I said -- it's still one modern hardware |
19:43.55 |
brlcad |
Many compilers (including GCC and Visual
Studio) can break IEEE just by turning on a basic level of
optimization |
19:44.41 |
brlcad |
then you end up with a maze of compilers and
compiler switches to try to accommodate, it gets really messy and
complicated pretty quickly |
19:45.32 |
d-lo |
Thats easy to fix. :D Make them have to run
on RHEL4/64 on x86 using gcc :) |
19:46.13 |
d-lo |
muwahahaha |
19:47.36 |
brlcad |
even not compiling on older hardware, we
should still compile cleanly with as wide a variety of modern
environments as possible to keep the maintenance burden low and
longevity high |
19:48.08 |
brlcad |
still, in this case, it should be pretty
trivial |
19:48.19 |
brlcad |
you run the numbers through the function, have
your byte array, pack it |
19:48.47 |
brlcad |
it's less work than even if you could assume
IEEE floats and could just cast |
19:52.44 |
d-lo |
how many 'older' systems to htonf and htond
support? (also are there ntohf and ntohd?) |
19:54.05 |
brlcad |
yes, they'd be pretty useless without the
reverse :) |
19:54.43 |
brlcad |
hton[fd] go back supporting systems about 15
years or so old |
19:54.44 |
d-lo |
Hey now, I have been burned badly before by
not asking the 'stupid' questions ;) |
20:01.39 |
brlcad |
starseeker: any idea why bob changed the args
for tire to require the top-level name? |
20:05.59 |
starseeker |
not really |
20:06.17 |
starseeker |
probably didn't want to deal with the case of
looking for a pre-existing "tire" in the db |
20:06.57 |
brlcad |
actually, it does a check for existing
name |
20:07.22 |
starseeker |
in that case, no clue |
20:07.34 |
starseeker |
want me to ask? |
20:09.21 |
CIA-31 |
BRL-CAD: 03brlcad * r33469
10/brlcad/trunk/src/libged/tire.c: document the -w option, sort the
args by their help order |
20:15.36 |
brlcad |
starseeker: nah, I think it was just a
cop-out |
20:22.54 |
CIA-31 |
BRL-CAD: 03brlcad * r33470
10/brlcad/trunk/src/libged/tire.c: make the top-level object name
optional since it's not required if the user specified -a to
autogenerate. also readd the -n option to specify the name via an
option. |
20:25.07 |
CIA-31 |
BRL-CAD: 03brlcad * r33471
10/brlcad/trunk/src/proc-db/ (Makefile.am tire.c): |
20:25.08 |
CIA-31 |
BRL-CAD: make tire use the libged ged_tire()
interface instead of replicating nearly all |
20:25.08 |
CIA-31 |
BRL-CAD: of the code identically. looks like
the libged interface actually works too. |
20:25.08 |
CIA-31 |
BRL-CAD: one side-effect is that we have to
create the file before arguments are |
20:25.09 |
CIA-31 |
BRL-CAD: validated (so we have to delete the
file on failure). begs for some sort of |
20:25.11 |
CIA-31 |
BRL-CAD: callback or more intelligent
options. |
21:56.11 |
*** join/#brlcad docelic_
(n=docelic@78.134.194.50) |
22:05.47 |
*** join/#brlcad jonored
(n=jonored@pool-71-162-75-2.bstnma.east.verizon.net) |