ByteBuffer.java

1
/*
2
 * $Id: ByteBuffer.java 4065 2009-09-16 23:09:11Z psoares33 $
3
 * $Name$
4
 *
5
 * Copyright 2000, 2001, 2002 by Paulo Soares.
6
 *
7
 * The contents of this file are subject to the Mozilla Public License Version 1.1
8
 * (the "License"); you may not use this file except in compliance with the License.
9
 * You may obtain a copy of the License at http://www.mozilla.org/MPL/
10
 *
11
 * Software distributed under the License is distributed on an "AS IS" basis,
12
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13
 * for the specific language governing rights and limitations under the License.
14
 *
15
 * The Original Code is 'iText, a free JAVA-PDF library'.
16
 *
17
 * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
18
 * the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
19
 * All Rights Reserved.
20
 * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
21
 * are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
22
 *
23
 * Contributor(s): all the names of the contributors are added in the source code
24
 * where applicable.
25
 *
26
 * Alternatively, the contents of this file may be used under the terms of the
27
 * LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
28
 * provisions of LGPL are applicable instead of those above.  If you wish to
29
 * allow use of your version of this file only under the terms of the LGPL
30
 * License and not to allow others to use your version of this file under
31
 * the MPL, indicate your decision by deleting the provisions above and
32
 * replace them with the notice and other provisions required by the LGPL.
33
 * If you do not delete the provisions above, a recipient may use your version
34
 * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
35
 *
36
 * This library is free software; you can redistribute it and/or modify it
37
 * under the terms of the MPL as stated above or under the terms of the GNU
38
 * Library General Public License as published by the Free Software Foundation;
39
 * either version 2 of the License, or any later version.
40
 *
41
 * This library is distributed in the hope that it will be useful, but WITHOUT
42
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
43
 * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
44
 * details.
45
 *
46
 * If you didn't download this code from the following link, you should check if
47
 * you aren't using an obsolete version:
48
 * http://www.lowagie.com/iText/
49
 */
50
51
package com.lowagie.text.pdf;
52
import java.io.IOException;
53
import java.io.OutputStream;
54
import java.io.UnsupportedEncodingException;
55
import java.text.DecimalFormat;
56
import java.text.DecimalFormatSymbols;
57
import java.util.Locale;
58
import com.lowagie.text.error_messages.MessageLocalization;
59
60
import com.lowagie.text.DocWriter;
61
62
/**
63
 * Acts like a <CODE>StringBuffer</CODE> but works with <CODE>byte</CODE> arrays.
64
 * Floating point is converted to a format suitable to the PDF.
65
 * @author Paulo Soares (psoares@consiste.pt)
66
 */
67
68
public class ByteBuffer extends OutputStream {
69
    /** The count of bytes in the buffer. */
70
    protected int count;
71
72
    /**
73
     * The buffer where the bytes are stored.
74
     */
75
    protected byte[] buf;
76
    
77
    private static int byteCacheSize = 0;
78
    
79
    private static byte[][] byteCache = new byte[byteCacheSize][];
80
    public static final byte ZERO = (byte)'0';
81
    private static final char[] chars = new char[] {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
82
    private static final byte[] bytes = new byte[] {48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102};
83
    /**
84
     * If <CODE>true</CODE> always output floating point numbers with 6 decimal digits.
85
     * If <CODE>false</CODE> uses the faster, although less precise, representation.
86
     */    
87
    public static boolean HIGH_PRECISION = false;
88
    private static final DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US);
89
    
90
    /** Creates new ByteBuffer with capacity 128 */
91
    public ByteBuffer() {
92
        this(128);
93
    }
94
    
95
    /**
96
     * Creates a byte buffer with a certain capacity.
97
     * @param size the initial capacity
98
     */
99
    public ByteBuffer(int size) {
100 2 1. : changed conditional boundary → NO_COVERAGE
2. : negated conditional → NO_COVERAGE
        if (size < 1)
101
            size = 128;
102
        buf = new byte[size];
103
    }
104
    
105
    /**
106
     * Sets the cache size.
107
     * <P>
108
     * This can only be used to increment the size.
109
     * If the size that is passed through is smaller than the current size, nothing happens.
110
     *
111
     * @param   size    the size of the cache
112
     */
113
    
114
    public static void setCacheSize(int size) {
115 2 1. setCacheSize : changed conditional boundary → NO_COVERAGE
2. setCacheSize : negated conditional → NO_COVERAGE
        if (size > 3276700) size = 3276700;
116 2 1. setCacheSize : changed conditional boundary → NO_COVERAGE
2. setCacheSize : negated conditional → NO_COVERAGE
        if (size <= byteCacheSize) return;
117
        byte[][] tmpCache = new byte[size][];
118 1 1. setCacheSize : removed call to java/lang/System::arraycopy → NO_COVERAGE
        System.arraycopy(byteCache, 0, tmpCache, 0, byteCacheSize);
119
        byteCache = tmpCache;
120
        byteCacheSize = size;
121
    }
122
    
123
    /**
124
     * You can fill the cache in advance if you want to.
125
     *
126
     * @param   decimals
127
     */
128
    
129
    public static void fillCache(int decimals) {
130
        int step = 1;
131
        switch(decimals) {
132
            case 0:
133
                step = 100;
134
                break;
135
            case 1:
136
                step = 10;
137
                break;
138
        }
139 3 1. fillCache : changed conditional boundary → NO_COVERAGE
2. fillCache : Replaced integer addition with subtraction → NO_COVERAGE
3. fillCache : negated conditional → NO_COVERAGE
        for (int i = 1; i < byteCacheSize; i += step) {
140 1 1. fillCache : negated conditional → NO_COVERAGE
            if (byteCache[i] != null) continue;
141
            byteCache[i] = convertToBytes(i);
142
        }
143
    }
144
    
145
    /**
146
     * Converts an double (multiplied by 100 and cast to an int) into an array of bytes.
147
     *
148
     * @param   i   the int
149
     * @return  a byte array
150
     */
151
    
152
    private static byte[] convertToBytes(int i) {
153 1 1. convertToBytes : Replaced double division with multiplication → NO_COVERAGE
        int size = (int)Math.floor(Math.log(i) / Math.log(10));
154 2 1. convertToBytes : Replaced integer modulus with multiplication → NO_COVERAGE
2. convertToBytes : negated conditional → NO_COVERAGE
        if (i % 100 != 0) {
155 1 1. convertToBytes : Changed increment from 2 to -2 → NO_COVERAGE
            size += 2;
156
        }
157 2 1. convertToBytes : Replaced integer modulus with multiplication → NO_COVERAGE
2. convertToBytes : negated conditional → NO_COVERAGE
        if (i % 10 != 0) {
158 1 1. convertToBytes : Changed increment from 1 to -1 → NO_COVERAGE
            size++;
159
        }
160 2 1. convertToBytes : changed conditional boundary → NO_COVERAGE
2. convertToBytes : negated conditional → NO_COVERAGE
        if (i < 100) {
161 1 1. convertToBytes : Changed increment from 1 to -1 → NO_COVERAGE
            size++;
162 2 1. convertToBytes : changed conditional boundary → NO_COVERAGE
2. convertToBytes : negated conditional → NO_COVERAGE
            if (i < 10) {
163 1 1. convertToBytes : Changed increment from 1 to -1 → NO_COVERAGE
                size++;
164
            }
165
        }
166 1 1. convertToBytes : Changed increment from -1 to 1 → NO_COVERAGE
        size--;
167
        byte[] cache = new byte[size];
168 1 1. convertToBytes : Changed increment from -1 to 1 → NO_COVERAGE
        size --;
169 2 1. convertToBytes : changed conditional boundary → NO_COVERAGE
2. convertToBytes : negated conditional → NO_COVERAGE
        if (i < 100) {
170
            cache[0] = (byte)'0';
171
        }
172 2 1. convertToBytes : Replaced integer modulus with multiplication → NO_COVERAGE
2. convertToBytes : negated conditional → NO_COVERAGE
        if (i % 10 != 0) {
173 2 1. convertToBytes : Changed increment from -1 to 1 → NO_COVERAGE
2. convertToBytes : Replaced integer modulus with multiplication → NO_COVERAGE
            cache[size--] = bytes[i % 10];
174
        }
175 2 1. convertToBytes : Replaced integer modulus with multiplication → NO_COVERAGE
2. convertToBytes : negated conditional → NO_COVERAGE
        if (i % 100 != 0) {
176 3 1. convertToBytes : Changed increment from -1 to 1 → NO_COVERAGE
2. convertToBytes : Replaced integer division with multiplication → NO_COVERAGE
3. convertToBytes : Replaced integer modulus with multiplication → NO_COVERAGE
            cache[size--] = bytes[(i / 10) % 10];
177 1 1. convertToBytes : Changed increment from -1 to 1 → NO_COVERAGE
            cache[size--] = (byte)'.';
178
        }
179 2 1. convertToBytes : Replaced double division with multiplication → NO_COVERAGE
2. convertToBytes : Replaced integer subtraction with addition → NO_COVERAGE
        size = (int)Math.floor(Math.log(i) / Math.log(10)) - 1;
180
        int add = 0;
181 2 1. convertToBytes : changed conditional boundary → NO_COVERAGE
2. convertToBytes : negated conditional → NO_COVERAGE
        while (add < size) {
182 4 1. convertToBytes : Replaced integer subtraction with addition → NO_COVERAGE
2. convertToBytes : Replaced integer addition with subtraction → NO_COVERAGE
3. convertToBytes : Replaced integer division with multiplication → NO_COVERAGE
4. convertToBytes : Replaced integer modulus with multiplication → NO_COVERAGE
            cache[add] = bytes[(i / (int)Math.pow(10, size - add + 1)) % 10];
183 1 1. convertToBytes : Changed increment from 1 to -1 → NO_COVERAGE
            add++;
184
        }
185 1 1. convertToBytes : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::convertToBytes to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return cache;
186
    }
187
    
188
    /**
189
     * Appends an <CODE>int</CODE>. The size of the array will grow by one.
190
     * @param b the int to be appended
191
     * @return a reference to this <CODE>ByteBuffer</CODE> object
192
     */
193
    public ByteBuffer append_i(int b) {
194 1 1. append_i : Replaced integer addition with subtraction → NO_COVERAGE
        int newcount = count + 1;
195 2 1. append_i : changed conditional boundary → NO_COVERAGE
2. append_i : negated conditional → NO_COVERAGE
        if (newcount > buf.length) {
196 1 1. append_i : Replaced Shift Left with Shift Right → NO_COVERAGE
            byte[] newbuf = new byte[Math.max(buf.length << 1, newcount)];
197 1 1. append_i : removed call to java/lang/System::arraycopy → NO_COVERAGE
            System.arraycopy(buf, 0, newbuf, 0, count);
198
            buf = newbuf;
199
        }
200
        buf[count] = (byte)b;
201
        count = newcount;
202 1 1. append_i : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append_i to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return this;
203
    }
204
    
205
    /**
206
     * Appends the subarray of the <CODE>byte</CODE> array. The buffer will grow by
207
     * <CODE>len</CODE> bytes.
208
     * @param b the array to be appended
209
     * @param off the offset to the start of the array
210
     * @param len the length of bytes to append
211
     * @return a reference to this <CODE>ByteBuffer</CODE> object
212
     */
213
    public ByteBuffer append(byte[] b, int off, int len) {
214 13 1. append : changed conditional boundary → NO_COVERAGE
2. append : changed conditional boundary → NO_COVERAGE
3. append : changed conditional boundary → NO_COVERAGE
4. append : changed conditional boundary → NO_COVERAGE
5. append : changed conditional boundary → NO_COVERAGE
6. append : Replaced integer addition with subtraction → NO_COVERAGE
7. append : Replaced integer addition with subtraction → NO_COVERAGE
8. append : negated conditional → NO_COVERAGE
9. append : negated conditional → NO_COVERAGE
10. append : negated conditional → NO_COVERAGE
11. append : negated conditional → NO_COVERAGE
12. append : negated conditional → NO_COVERAGE
13. append : negated conditional → NO_COVERAGE
        if ((off < 0) || (off > b.length) || (len < 0) ||
215
        ((off + len) > b.length) || ((off + len) < 0) || len == 0)
216 1 1. append : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
            return this;
217 1 1. append : Replaced integer addition with subtraction → NO_COVERAGE
        int newcount = count + len;
218 2 1. append : changed conditional boundary → NO_COVERAGE
2. append : negated conditional → NO_COVERAGE
        if (newcount > buf.length) {
219 1 1. append : Replaced Shift Left with Shift Right → NO_COVERAGE
            byte[] newbuf = new byte[Math.max(buf.length << 1, newcount)];
220 1 1. append : removed call to java/lang/System::arraycopy → NO_COVERAGE
            System.arraycopy(buf, 0, newbuf, 0, count);
221
            buf = newbuf;
222
        }
223 1 1. append : removed call to java/lang/System::arraycopy → NO_COVERAGE
        System.arraycopy(b, off, buf, count, len);
224
        count = newcount;
225 1 1. append : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return this;
226
    }
227
    
228
    /**
229
     * Appends an array of bytes.
230
     * @param b the array to be appended
231
     * @return a reference to this <CODE>ByteBuffer</CODE> object
232
     */
233
    public ByteBuffer append(byte[] b) {
234 1 1. append : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return append(b, 0, b.length);
235
    }
236
    
237
    /**
238
     * Appends a <CODE>String</CODE> to the buffer. The <CODE>String</CODE> is
239
     * converted according to the encoding ISO-8859-1.
240
     * @param str the <CODE>String</CODE> to be appended
241
     * @return a reference to this <CODE>ByteBuffer</CODE> object
242
     */
243
    public ByteBuffer append(String str) {
244 1 1. append : negated conditional → NO_COVERAGE
        if (str != null)
245 1 1. append : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
            return append(DocWriter.getISOBytes(str));
246 1 1. append : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return this;
247
    }
248
    
249
    /**
250
     * Appends a <CODE>char</CODE> to the buffer. The <CODE>char</CODE> is
251
     * converted according to the encoding ISO-8859-1.
252
     * @param c the <CODE>char</CODE> to be appended
253
     * @return a reference to this <CODE>ByteBuffer</CODE> object
254
     */
255
    public ByteBuffer append(char c) {
256
        return append_i(c);
257
    }
258
    
259
    /**
260
     * Appends another <CODE>ByteBuffer</CODE> to this buffer.
261
     * @param buf the <CODE>ByteBuffer</CODE> to be appended
262
     * @return a reference to this <CODE>ByteBuffer</CODE> object
263
     */
264
    public ByteBuffer append(ByteBuffer buf) {
265 1 1. append : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return append(buf.buf, 0, buf.count);
266
    }
267
    
268
    /**
269
     * Appends the string representation of an <CODE>int</CODE>.
270
     * @param i the <CODE>int</CODE> to be appended
271
     * @return a reference to this <CODE>ByteBuffer</CODE> object
272
     */
273
    public ByteBuffer append(int i) {
274 1 1. append : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return append((double)i);
275
    }
276
    
277
    public ByteBuffer append(byte b) {
278
        return append_i(b);
279
    }
280
    
281
    public ByteBuffer appendHex(byte b) {
282 2 1. appendHex : Replaced Shift Right with Shift Left → NO_COVERAGE
2. appendHex : Replaced bitwise AND with OR → NO_COVERAGE
        append(bytes[(b >> 4) & 0x0f]);
283 2 1. appendHex : Replaced bitwise AND with OR → NO_COVERAGE
2. appendHex : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::appendHex to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return append(bytes[b & 0x0f]);
284
    }
285
    
286
    /**
287
     * Appends a string representation of a <CODE>float</CODE> according
288
     * to the Pdf conventions.
289
     * @param i the <CODE>float</CODE> to be appended
290
     * @return a reference to this <CODE>ByteBuffer</CODE> object
291
     */
292
    public ByteBuffer append(float i) {
293 1 1. append : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return append((double)i);
294
    }
295
    
296
    /**
297
     * Appends a string representation of a <CODE>double</CODE> according
298
     * to the Pdf conventions.
299
     * @param d the <CODE>double</CODE> to be appended
300
     * @return a reference to this <CODE>ByteBuffer</CODE> object
301
     */
302
    public ByteBuffer append(double d) {
303
        append(formatDouble(d, this));
304 1 1. append : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return this;
305
    }
306
    
307
    /**
308
     * Outputs a <CODE>double</CODE> into a format suitable for the PDF.
309
     * @param d a double
310
     * @return the <CODE>String</CODE> representation of the <CODE>double</CODE>
311
     */
312
    public static String formatDouble(double d) {
313 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return formatDouble(d, null);
314
    }
315
    
316
    /**
317
     * Outputs a <CODE>double</CODE> into a format suitable for the PDF.
318
     * @param d a double
319
     * @param buf a ByteBuffer
320
     * @return the <CODE>String</CODE> representation of the <CODE>double</CODE> if
321
     * <CODE>buf</CODE> is <CODE>null</CODE>. If <CODE>buf</CODE> is <B>not</B> <CODE>null</CODE>,
322
     * then the double is appended directly to the buffer and this methods returns <CODE>null</CODE>.
323
     */
324
    public static String formatDouble(double d, ByteBuffer buf) {
325 1 1. formatDouble : negated conditional → NO_COVERAGE
        if (HIGH_PRECISION) {
326
            DecimalFormat dn = new DecimalFormat("0.######", dfs);
327
            String sform = dn.format(d);
328 1 1. formatDouble : negated conditional → NO_COVERAGE
            if (buf == null)
329 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                return sform;
330
            else {
331
                buf.append(sform);
332 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                return null;
333
            }
334
        }
335
        boolean negative = false;
336 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
        if (Math.abs(d) < 0.000015) {
337 1 1. formatDouble : negated conditional → NO_COVERAGE
            if (buf != null) {
338
                buf.append(ZERO);
339 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                return null;
340
            } else {
341 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                return "0";
342
            }
343
        }
344 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
        if (d < 0) {
345
            negative = true;
346 1 1. formatDouble : removed negation → NO_COVERAGE
            d = -d;
347
        }
348 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
        if (d < 1.0) {
349 1 1. formatDouble : Replaced double addition with subtraction → NO_COVERAGE
            d += 0.000005;
350 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
            if (d >= 1) {
351 1 1. formatDouble : negated conditional → NO_COVERAGE
                if (negative) {
352 1 1. formatDouble : negated conditional → NO_COVERAGE
                    if (buf != null) {
353
                        buf.append((byte)'-');
354
                        buf.append((byte)'1');
355 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                        return null;
356
                    } else {
357 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                        return "-1";
358
                    }
359
                } else {
360 1 1. formatDouble : negated conditional → NO_COVERAGE
                    if (buf != null) {
361
                        buf.append((byte)'1');
362 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                        return null;
363
                    } else {
364 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                        return "1";
365
                    }
366
                }
367
            }
368 1 1. formatDouble : negated conditional → NO_COVERAGE
            if (buf != null) {
369 1 1. formatDouble : Replaced double multiplication with division → NO_COVERAGE
                int v = (int) (d * 100000);
370
                
371 1 1. formatDouble : negated conditional → NO_COVERAGE
                if (negative) buf.append((byte)'-');
372
                buf.append((byte)'0');
373
                buf.append((byte)'.');
374
                
375 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer addition with subtraction → NO_COVERAGE
                buf.append( (byte)(v / 10000 + ZERO) );
376 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v % 10000 != 0) {
377 3 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
3. formatDouble : Replaced integer addition with subtraction → NO_COVERAGE
                    buf.append( (byte)((v / 1000) % 10 + ZERO) );
378 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v % 1000 != 0) {
379 3 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
3. formatDouble : Replaced integer addition with subtraction → NO_COVERAGE
                        buf.append( (byte)((v / 100) % 10 + ZERO) );
380 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                        if (v % 100 != 0) {
381 3 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
3. formatDouble : Replaced integer addition with subtraction → NO_COVERAGE
                            buf.append((byte)((v / 10) % 10 + ZERO) );
382 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                            if (v % 10 != 0) {
383 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer addition with subtraction → NO_COVERAGE
                                buf.append((byte)((v) % 10 + ZERO) );
384
                            }
385
                        }
386
                    }
387
                }
388 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                return null;
389
            } else {
390
                int x = 100000;
391 1 1. formatDouble : Replaced double multiplication with division → NO_COVERAGE
                int v = (int) (d * x);
392
                
393
                StringBuilder res = new StringBuilder();
394 1 1. formatDouble : negated conditional → NO_COVERAGE
                if (negative) res.append('-');
395
                res.append("0.");
396
                
397 3 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
3. formatDouble : negated conditional → NO_COVERAGE
                while( v < x/10 ) {
398
                    res.append('0');
399 1 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
                    x /= 10;
400
                }
401
                res.append(v);
402 1 1. formatDouble : Replaced integer subtraction with addition → NO_COVERAGE
                int cut = res.length() - 1;
403 1 1. formatDouble : negated conditional → NO_COVERAGE
                while (res.charAt(cut) == '0') {
404 1 1. formatDouble : Changed increment from -1 to 1 → NO_COVERAGE
                    --cut;
405
                }
406 2 1. formatDouble : Replaced integer addition with subtraction → NO_COVERAGE
2. formatDouble : removed call to java/lang/StringBuilder::setLength → NO_COVERAGE
                res.setLength(cut + 1);
407 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                return res.toString();
408
            }
409 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
        } else if (d <= 32767) {
410 1 1. formatDouble : Replaced double addition with subtraction → NO_COVERAGE
            d += 0.005;
411 1 1. formatDouble : Replaced double multiplication with division → NO_COVERAGE
            int v = (int) (d * 100);
412
            
413 3 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
3. formatDouble : negated conditional → NO_COVERAGE
            if (v < byteCacheSize && byteCache[v] != null) {
414 1 1. formatDouble : negated conditional → NO_COVERAGE
                if (buf != null) {
415 1 1. formatDouble : negated conditional → NO_COVERAGE
                    if (negative) buf.append((byte)'-');
416
                    buf.append(byteCache[v]);
417 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                    return null;
418
                } else {
419
                    String tmp = PdfEncodings.convertToString(byteCache[v], null);
420 1 1. formatDouble : negated conditional → NO_COVERAGE
                    if (negative) tmp = "-" + tmp;
421 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                    return tmp;
422
                }
423
            }
424 1 1. formatDouble : negated conditional → NO_COVERAGE
            if (buf != null) {
425 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v < byteCacheSize) {
426
                    //create the cachebyte[]
427
                    byte[] cache;
428
                    int size = 0;
429 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v >= 1000000) {
430
                        //the original number is >=10000, we need 5 more bytes
431 1 1. formatDouble : Changed increment from 5 to -5 → NO_COVERAGE
                        size += 5;
432 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    } else if (v >= 100000) {
433
                        //the original number is >=1000, we need 4 more bytes
434 1 1. formatDouble : Changed increment from 4 to -4 → NO_COVERAGE
                        size += 4;
435 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    } else if (v >= 10000) {
436
                        //the original number is >=100, we need 3 more bytes
437 1 1. formatDouble : Changed increment from 3 to -3 → NO_COVERAGE
                        size += 3;
438 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    } else if (v >= 1000) {
439
                        //the original number is >=10, we need 2 more bytes
440 1 1. formatDouble : Changed increment from 2 to -2 → NO_COVERAGE
                        size += 2;
441 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    } else if (v >= 100) {
442
                        //the original number is >=1, we need 1 more bytes
443 1 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
                        size += 1;
444
                    }
445
                    
446
                    //now we must check if we have a decimal number
447 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v % 100 != 0) {
448
                        //yes, do not forget the "."
449 1 1. formatDouble : Changed increment from 2 to -2 → NO_COVERAGE
                        size += 2;
450
                    }
451 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v % 10 != 0) {
452 1 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
                        size++;
453
                    }
454
                    cache = new byte[size];
455
                    int add = 0;
456 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v >= 1000000) {
457 2 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
2. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
                        cache[add++] = bytes[(v / 1000000)];
458
                    }
459 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v >= 100000) {
460 3 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
2. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
3. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                        cache[add++] = bytes[(v / 100000) % 10];
461
                    }
462 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v >= 10000) {
463 3 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
2. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
3. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                        cache[add++] = bytes[(v / 10000) % 10];
464
                    }
465 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v >= 1000) {
466 3 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
2. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
3. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                        cache[add++] = bytes[(v / 1000) % 10];
467
                    }
468 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v >= 100) {
469 3 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
2. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
3. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                        cache[add++] = bytes[(v / 100) % 10];
470
                    }
471
                    
472 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v % 100 != 0) {
473 1 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
                        cache[add++] = (byte)'.';
474 3 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
2. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
3. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                        cache[add++] = bytes[(v / 10) % 10];
475 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                        if (v % 10 != 0) {
476 2 1. formatDouble : Changed increment from 1 to -1 → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                            cache[add++] = bytes[v % 10];
477
                        }
478
                    }
479
                    byteCache[v] = cache;
480
                }
481
                
482 1 1. formatDouble : negated conditional → NO_COVERAGE
                if (negative) buf.append((byte)'-');
483 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 1000000) {
484 1 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
                    buf.append( bytes[(v / 1000000)] );
485
                }
486 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 100000) {
487 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    buf.append( bytes[(v / 100000) % 10] );
488
                }
489 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 10000) {
490 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    buf.append( bytes[(v / 10000) % 10] );
491
                }
492 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 1000) {
493 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    buf.append( bytes[(v / 1000) % 10] );
494
                }
495 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 100) {
496 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    buf.append( bytes[(v / 100) % 10] );
497
                }
498
                
499 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v % 100 != 0) {
500
                    buf.append((byte)'.');
501 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    buf.append( bytes[(v / 10) % 10] );
502 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v % 10 != 0) {
503 1 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                        buf.append( bytes[v % 10] );
504
                    }
505
                }
506 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                return null;
507
            } else {
508
                StringBuilder res = new StringBuilder();
509 1 1. formatDouble : negated conditional → NO_COVERAGE
                if (negative) res.append('-');
510 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 1000000) {
511 1 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
                    res.append( chars[(v / 1000000)] );
512
                }
513 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 100000) {
514 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    res.append( chars[(v / 100000) % 10] );
515
                }
516 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 10000) {
517 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    res.append( chars[(v / 10000) % 10] );
518
                }
519 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 1000) {
520 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    res.append( chars[(v / 1000) % 10] );
521
                }
522 2 1. formatDouble : changed conditional boundary → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v >= 100) {
523 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    res.append( chars[(v / 100) % 10] );
524
                }
525
                
526 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                if (v % 100 != 0) {
527
                    res.append('.');
528 2 1. formatDouble : Replaced integer division with multiplication → NO_COVERAGE
2. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                    res.append( chars[(v / 10) % 10] );
529 2 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
2. formatDouble : negated conditional → NO_COVERAGE
                    if (v % 10 != 0) {
530 1 1. formatDouble : Replaced integer modulus with multiplication → NO_COVERAGE
                        res.append( chars[v % 10] );
531
                    }
532
                }
533 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
                return res.toString();
534
            }
535
        } else {
536
            StringBuilder res = new StringBuilder();
537 1 1. formatDouble : negated conditional → NO_COVERAGE
            if (negative) res.append('-');
538 1 1. formatDouble : Replaced double addition with subtraction → NO_COVERAGE
            d += 0.5;
539
            long v = (long) d;
540 1 1. formatDouble : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
            return res.append(v).toString();
541
        }
542
    }
543
    
544
    /**
545
     * Sets the size to zero.
546
     */
547
    public void reset() {
548
        count = 0;
549
    }
550
    
551
    /**
552
     * Creates a newly allocated byte array. Its size is the current
553
     * size of this output stream and the valid contents of the buffer
554
     * have been copied into it.
555
     *
556
     * @return  the current contents of this output stream, as a byte array.
557
     */
558
    public byte[] toByteArray() {
559
        byte[] newbuf = new byte[count];
560 1 1. toByteArray : removed call to java/lang/System::arraycopy → NO_COVERAGE
        System.arraycopy(buf, 0, newbuf, 0, count);
561 1 1. toByteArray : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::toByteArray to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return newbuf;
562
    }
563
    
564
    /**
565
     * Returns the current size of the buffer.
566
     *
567
     * @return the value of the <code>count</code> field, which is the number of valid bytes in this byte buffer.
568
     */
569
    public int size() {
570
        return count;
571
    }
572
    
573
    public void setSize(int size) {
574 4 1. setSize : changed conditional boundary → NO_COVERAGE
2. setSize : changed conditional boundary → NO_COVERAGE
3. setSize : negated conditional → NO_COVERAGE
4. setSize : negated conditional → NO_COVERAGE
        if (size > count || size < 0)
575
            throw new IndexOutOfBoundsException(MessageLocalization.getComposedMessage("the.new.size.must.be.positive.and.lt.eq.of.the.current.size"));
576
        count = size;
577
    }
578
    
579
    /**
580
     * Converts the buffer's contents into a string, translating bytes into
581
     * characters according to the platform's default character encoding.
582
     *
583
     * @return String translated from the buffer's contents.
584
     */
585
    public String toString() {
586
        return new String(buf, 0, count);
587
    }
588
    
589
    /**
590
     * Converts the buffer's contents into a string, translating bytes into
591
     * characters according to the specified character encoding.
592
     *
593
     * @param   enc  a character-encoding name.
594
     * @return String translated from the buffer's contents.
595
     * @throws UnsupportedEncodingException
596
     *         If the named encoding is not supported.
597
     */
598
    public String toString(String enc) throws UnsupportedEncodingException {
599 1 1. toString : mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::toString to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE
        return new String(buf, 0, count, enc);
600
    }
601
    
602
    /**
603
     * Writes the complete contents of this byte buffer output to
604
     * the specified output stream argument, as if by calling the output
605
     * stream's write method using <code>out.write(buf, 0, count)</code>.
606
     *
607
     * @param      out   the output stream to which to write the data.
608
     * @exception  IOException  if an I/O error occurs.
609
     */
610
    public void writeTo(OutputStream out) throws IOException {
611 1 1. writeTo : removed call to java/io/OutputStream::write → NO_COVERAGE
        out.write(buf, 0, count);
612
    }
613
    
614
    public void write(int b) {
615
        append((byte)b);
616
    }
617
    
618
    public void write(byte[] b, int off, int len) {
619
        append(b, off, len);
620
    }
621
    
622
    public byte[] getBuffer() {
623
        return buf;
624
    }
625
}

Mutations

100

1.1
Location :
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location :
Killed by : none
negated conditional → NO_COVERAGE

115

1.1
Location : setCacheSize
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : setCacheSize
Killed by : none
negated conditional → NO_COVERAGE

116

1.1
Location : setCacheSize
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : setCacheSize
Killed by : none
negated conditional → NO_COVERAGE

118

1.1
Location : setCacheSize
Killed by : none
removed call to java/lang/System::arraycopy → NO_COVERAGE

139

1.1
Location : fillCache
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : fillCache
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

3.3
Location : fillCache
Killed by : none
negated conditional → NO_COVERAGE

140

1.1
Location : fillCache
Killed by : none
negated conditional → NO_COVERAGE

153

1.1
Location : convertToBytes
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

154

1.1
Location : convertToBytes
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
negated conditional → NO_COVERAGE

155

1.1
Location : convertToBytes
Killed by : none
Changed increment from 2 to -2 → NO_COVERAGE

157

1.1
Location : convertToBytes
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
negated conditional → NO_COVERAGE

158

1.1
Location : convertToBytes
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

160

1.1
Location : convertToBytes
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
negated conditional → NO_COVERAGE

161

1.1
Location : convertToBytes
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

162

1.1
Location : convertToBytes
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
negated conditional → NO_COVERAGE

163

1.1
Location : convertToBytes
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

166

1.1
Location : convertToBytes
Killed by : none
Changed increment from -1 to 1 → NO_COVERAGE

168

1.1
Location : convertToBytes
Killed by : none
Changed increment from -1 to 1 → NO_COVERAGE

169

1.1
Location : convertToBytes
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
negated conditional → NO_COVERAGE

172

1.1
Location : convertToBytes
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
negated conditional → NO_COVERAGE

173

1.1
Location : convertToBytes
Killed by : none
Changed increment from -1 to 1 → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

175

1.1
Location : convertToBytes
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
negated conditional → NO_COVERAGE

176

1.1
Location : convertToBytes
Killed by : none
Changed increment from -1 to 1 → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

3.3
Location : convertToBytes
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

177

1.1
Location : convertToBytes
Killed by : none
Changed increment from -1 to 1 → NO_COVERAGE

179

1.1
Location : convertToBytes
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
Replaced integer subtraction with addition → NO_COVERAGE

181

1.1
Location : convertToBytes
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
negated conditional → NO_COVERAGE

182

1.1
Location : convertToBytes
Killed by : none
Replaced integer subtraction with addition → NO_COVERAGE

2.2
Location : convertToBytes
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

3.3
Location : convertToBytes
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

4.4
Location : convertToBytes
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

183

1.1
Location : convertToBytes
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

185

1.1
Location : convertToBytes
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::convertToBytes to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

194

1.1
Location : append_i
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

195

1.1
Location : append_i
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : append_i
Killed by : none
negated conditional → NO_COVERAGE

196

1.1
Location : append_i
Killed by : none
Replaced Shift Left with Shift Right → NO_COVERAGE

197

1.1
Location : append_i
Killed by : none
removed call to java/lang/System::arraycopy → NO_COVERAGE

202

1.1
Location : append_i
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append_i to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

214

1.1
Location : append
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : append
Killed by : none
changed conditional boundary → NO_COVERAGE

3.3
Location : append
Killed by : none
changed conditional boundary → NO_COVERAGE

4.4
Location : append
Killed by : none
changed conditional boundary → NO_COVERAGE

5.5
Location : append
Killed by : none
changed conditional boundary → NO_COVERAGE

6.6
Location : append
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

7.7
Location : append
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

8.8
Location : append
Killed by : none
negated conditional → NO_COVERAGE

9.9
Location : append
Killed by : none
negated conditional → NO_COVERAGE

10.10
Location : append
Killed by : none
negated conditional → NO_COVERAGE

11.11
Location : append
Killed by : none
negated conditional → NO_COVERAGE

12.12
Location : append
Killed by : none
negated conditional → NO_COVERAGE

13.13
Location : append
Killed by : none
negated conditional → NO_COVERAGE

216

1.1
Location : append
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

217

1.1
Location : append
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

218

1.1
Location : append
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : append
Killed by : none
negated conditional → NO_COVERAGE

219

1.1
Location : append
Killed by : none
Replaced Shift Left with Shift Right → NO_COVERAGE

220

1.1
Location : append
Killed by : none
removed call to java/lang/System::arraycopy → NO_COVERAGE

223

1.1
Location : append
Killed by : none
removed call to java/lang/System::arraycopy → NO_COVERAGE

225

1.1
Location : append
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

234

1.1
Location : append
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

244

1.1
Location : append
Killed by : none
negated conditional → NO_COVERAGE

245

1.1
Location : append
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

246

1.1
Location : append
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

265

1.1
Location : append
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

274

1.1
Location : append
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

282

1.1
Location : appendHex
Killed by : none
Replaced Shift Right with Shift Left → NO_COVERAGE

2.2
Location : appendHex
Killed by : none
Replaced bitwise AND with OR → NO_COVERAGE

283

1.1
Location : appendHex
Killed by : none
Replaced bitwise AND with OR → NO_COVERAGE

2.2
Location : appendHex
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::appendHex to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

293

1.1
Location : append
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

304

1.1
Location : append
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::append to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

313

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

325

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

328

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

329

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

332

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

336

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

337

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

339

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

341

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

344

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

346

1.1
Location : formatDouble
Killed by : none
removed negation → NO_COVERAGE

348

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

349

1.1
Location : formatDouble
Killed by : none
Replaced double addition with subtraction → NO_COVERAGE

350

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

351

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

352

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

355

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

357

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

360

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

362

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

364

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

368

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

369

1.1
Location : formatDouble
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

371

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

375

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

376

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

377

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

378

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

379

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

380

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

381

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

382

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

383

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

388

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

391

1.1
Location : formatDouble
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

394

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

397

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

399

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

402

1.1
Location : formatDouble
Killed by : none
Replaced integer subtraction with addition → NO_COVERAGE

403

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

404

1.1
Location : formatDouble
Killed by : none
Changed increment from -1 to 1 → NO_COVERAGE

406

1.1
Location : formatDouble
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
removed call to java/lang/StringBuilder::setLength → NO_COVERAGE

407

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

409

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

410

1.1
Location : formatDouble
Killed by : none
Replaced double addition with subtraction → NO_COVERAGE

411

1.1
Location : formatDouble
Killed by : none
Replaced double multiplication with division → NO_COVERAGE

413

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

414

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

415

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

417

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

420

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

421

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

424

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

425

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

429

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

431

1.1
Location : formatDouble
Killed by : none
Changed increment from 5 to -5 → NO_COVERAGE

432

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

434

1.1
Location : formatDouble
Killed by : none
Changed increment from 4 to -4 → NO_COVERAGE

435

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

437

1.1
Location : formatDouble
Killed by : none
Changed increment from 3 to -3 → NO_COVERAGE

438

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

440

1.1
Location : formatDouble
Killed by : none
Changed increment from 2 to -2 → NO_COVERAGE

441

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

443

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

447

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

449

1.1
Location : formatDouble
Killed by : none
Changed increment from 2 to -2 → NO_COVERAGE

451

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

452

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

456

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

457

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

459

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

460

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

462

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

463

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

465

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

466

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

468

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

469

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

472

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

473

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

474

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

3.3
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

475

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

476

1.1
Location : formatDouble
Killed by : none
Changed increment from 1 to -1 → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

482

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

483

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

484

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

486

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

487

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

489

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

490

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

492

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

493

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

495

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

496

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

499

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

501

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

502

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

503

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

506

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

509

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

510

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

511

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

513

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

514

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

516

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

517

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

519

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

520

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

522

1.1
Location : formatDouble
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

523

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

526

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

528

1.1
Location : formatDouble
Killed by : none
Replaced integer division with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

529

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

2.2
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

530

1.1
Location : formatDouble
Killed by : none
Replaced integer modulus with multiplication → NO_COVERAGE

533

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

537

1.1
Location : formatDouble
Killed by : none
negated conditional → NO_COVERAGE

538

1.1
Location : formatDouble
Killed by : none
Replaced double addition with subtraction → NO_COVERAGE

540

1.1
Location : formatDouble
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::formatDouble to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

560

1.1
Location : toByteArray
Killed by : none
removed call to java/lang/System::arraycopy → NO_COVERAGE

561

1.1
Location : toByteArray
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::toByteArray to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

574

1.1
Location : setSize
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : setSize
Killed by : none
changed conditional boundary → NO_COVERAGE

3.3
Location : setSize
Killed by : none
negated conditional → NO_COVERAGE

4.4
Location : setSize
Killed by : none
negated conditional → NO_COVERAGE

599

1.1
Location : toString
Killed by : none
mutated return of Object value for com/lowagie/text/pdf/ByteBuffer::toString to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE

611

1.1
Location : writeTo
Killed by : none
removed call to java/io/OutputStream::write → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.4.2